There are lots of different ways to learn new things. Many of these methods are easy to integrate into your life. We all have a limited amount of time, so I like to use learning methods that capitalize on otherwise wasted time. My primary target is the time I spend in the car. Additionally, there’s so many inexpensive ways to learn new skills. Here’s a few of the ways you can learn some new skills.
The easiest one is to read books. Books are cheap and accessible. If you don’t have a lot of time to read, get yourself an Audible subscription. Most books are also available in audio form.
College courses are nice, but there are better options. The Great Courses publishes classes taught by leading professors. I like to listen to them on my way to work. You can also access college level courses through moocs like EdX, Coursera, and iTunes U. Additionally, Udemy has a wide variety of inexpensive courses (wait for their $10 sales).
In order for your hard-won knowledge to be useful, you need to remember it. One method I use to learn better is to keep a commonplace book. A commonplace book is a collection of notes and quotations from the things you’ve read. This used be a common practice, but it’s coming back as people discover how useful it is. I record notes on anything interesting that I read. I also collect scraps of articles and interesting quotations. I keep these in a OneNote notebook that I can refer to. I also review things I’ve read before and add to my commonplace file. This cycle of note taking and review helps me get more out of what I read.
Organizations / Clubs
There’s a meetup for everything. Go find a group of people you can learn from. It’s often easier to talk to someone than to scour the Internet for resources. I’m looking into more agile groups to expand my business skills.
This is one of the best ways to pick up new skills. If it’s a “maker” skill, like design or programming, build something. Side projects are a great way to learn something new. If it’s not a “maker” skill, like psychology, make something with the knowledge. Write a blog post or a talk. I never feel like I’m proficient until I use my knowledge to make something.
If you want to be more successful, learn a new skill. Each new skill makes you a more useful person. If you want to be more creative, diversify yourself. Diverse knowledge gives you more resources to draw from. If you want to win at work, be a jack of all trades, master of one. There are lots of learning resources at your disposal. Put them to work for you.
Usefulness should be your primary criteria.
Let’s unpack that a bit.
Software is a tool. We use it to build things of value for people. Either our customers, our users, or ourselves. We build to provide valuable software for people. A lot of developers lose sight of this when they look into new technologies. They fall in love with a technology because it’s shiny, or interesting, or scratches an intellectual itch. It’s the old “golden hammer” antipattern. Find something shiny and use it to build everything, even if it’s not the best tool for the job or doesn’t really improve upon existing technologies. We can do better. By focusing on what’s useful, we can skip the majority of new technologies and keep our sanity.
To figure out what’s useful, we need to ask a few questions. Write down your own answers as you read through this exercise.
As developers, we serve one or more audiences. Each of these audiences has different needs. It’s your job to figure out which audiences you serve (or want to serve) and what they need. Perhaps you are spending most of your time in a full-time job, but want to start your own business. Perhaps you just work for the man. Figure out which audiences you serve and their relative priority. If you want to serve a new audience, think about what you will need to learn for them as well. Additionally, look for synergies. If you have more than one audience, find overlapping technologies.For example, if you want to build your own business on the side, use a similar tech stack to the one you use at your job.
Here’s a few audiences you can serve:
Public Code / OSS
Open source projects have different goals than enterprise shops. There’s some overlap, but OSS is built differently. If you do OSS, figure out which projects you want to contribute to and focus on their tech stacks. Also think about what value you can bring to the developer community.
If you run an app business or an ISV (independent software vendor), focus on technologies that create customer value. For example, while functional programming is cool, you’re better off mastering digital marketing or product design instead. Focus on technologies that help you get products in front of customers quickly. This doesn’t always mean new technology. There are a lot of Rails 2, jQuery, and ASP.NET Webforms apps out there still generating significant value for their customers.
It’s OK to learn something just for fun. Lots of people write code as a hobby, but make sure you understand that the time you spend building robots or smartwatch apps is hobby time, not professional development time.
I have three audiences. I work on a team that builds data driven applications using .NET Core, Angular 2, TypeScript, and Spark. I also serve the broader technical community by speaking at conferences and blogging. Eventually, I want to build a small software product and sell it. I achieve synergy by focusing my community efforts on things that I either use in my day-to-day work (like Angular 2) or things that will serve me in business (innovation).
Now that you know what’s useful for your situation, let’s use that knowledge to make your life easier. You likely have a list of technologies that you’re interested in or feel obligated to keep up with. I have a whole radar of them. Take that list and run it through the criteria you figured out. If the technology doesn’t help you add value to one of your audiences, cross it off the list. Rank everything else based on its relative value. Use your criteria to combat “shiny object” syndrome when you encounter a new technology. You’ll likely still have more things on your list than you can learn, but your list should be manageable.
All of the new stuff is amazing, but also exhausting. There’s so many new things out there. Finding your focus is hard.
Keeping track of all this new stuff is tough, but we have tools to help us. One of those tools is tech radar. A technology radar is a collection of new technologies and how important they are to you or your organization. You enumerate new technologies and assign them a value somewhere between “run away screaming” and “let’s use this for EVERYTHING”.
The tech radar was created by Thoughtworks. They publish their radar a couple of times a year. It’s a great snapshot of what technologies they are using in their organization. I recommend you check it out.
While the Thoughtworks tech radar is great, it’s more fun (and useful) to do it yourself. Neil Ford has a fantastic talk about building your own tech radar. Check it out here:
In his talk, Neil mentions two tech radars. One for your company and one for yourself. After viewing this talk, I was hooked by the idea and decided to give it a try. I’ve worked on both styles of tech radar and learned a few things along the way.
An organizational tech radar is a picture of the technologies used in your company along with recommendations for new things you should keep an eye on. Your team sorts technologies into one of four categories.
Adopt – Use when appropriate. This is a default best practice.
Trial – Use on non-critical projects. Good, but not 100% there yet.
Assess – Keep an eye on this. Use it for POCs and Demos.
Hold – Avoid using this on new projects.
To conduct a tech radar, get representatives of the different teams in your organization together and have them discuss some of the new technologies they are using or interested in using. Assign each technology to the proper category and record the highlights of each conversation.
Shoot for fewer than 30 people per discussion session. Try to get a diverse slice of your organization’s tech users. If your organization has teams outside of generic enterprise app dev, make sure they get a seat at the table. (examples: designers, SharePoint Devs, Salesforce Devs, DBAs, DevOps, mobile devs, etc… )
I’m involved in two different organizational tech radars. One as the primary organizer and another as an observer. It’s been an educational and useful experience. I’ve gained insight into some of the dynamics behind how technology is used in these two organizations.
One of the major benefits of doing a tech radar is that you deepen your understanding of how technology is used in your organization. You also gain insight into what different people are thinking. It can highlight blind spots in your own thinking and surface interesting technologies to check out. Another benefit is that it can make your organization more proactive about technology adoption. By knowing what’s available, you can begin to plan earlier. You also gain consensus about which technologies to adopt. It’s a lot easier than trying to campaign for new technologies on your own.
It’s not all rainbows and puppy dogs though. I ran into several challenges while coordinating my organization’s tech radar. First, I had to make a special effort to represent all the developer communities in my organization. We have a lot of practices and not all of them came to the discussion meetings. Next time, I may hold special meetings for each group.
The second hurdle I ran into was that everyone was very focused on things to adopt now, as opposed to future technologies. This issue was relatively easy to solve. We created a new category for “obvious best practices” and focused more on the “trial” and “assess” categories. Don’t be afraid to make tech radar your own. You don’t have to copy Thoughtworks verbatim. I found that making a category for things that aren’t new, but part of your default tech stack, cleared up the “adopt” list and kept the radar future forward. It also provides you with a handy list of architectural recommendations for new projects.
The final challenge was dealing with all the conversations. It was easy to go off on tangents or get caught up in how you feel about a particular technology. It’s tough to keep on track. One way we addressed the issue was by splitting up the meetings into small chunks. It’s easier to schedule and no one gets burned out from a 4 hour meeting from hell.
Overall, I found this exercise highly beneficial. I learned a lot and picked up a few technologies for my tech radar.
If you’re like me, you have “the list”. Sometimes referred to as “the guilt list”, because I never finish it. It’s the pile of technologies you intend to research. If that sounds vague, that’s because it is. “to research” doesn’t really give you a finishing point. I built a personal tech radar to help clear up that ambiguity.
For me, a personal tech radar is a much less formal affair than the organization radar. It’s also, by necessity, a smaller one. I changed the definition of the categories. Instead of focusing on adoption, my categories focused on how much effort I want to put into learning the technology. Here are my categories and a few examples for each one.
Agitate for use and learn deeply. This is for your core skills.
Examples: .NET Core, Angular 2, TypeScript, Azure
Seek functional knowledge on. Build a demo apps or POCs.
Examples: Python, Spark, R, Progressive Web Apps
Keep an eye on it, but don’t worry about getting deep knowledge.
Examples: Hololens, Unity, Xamarin, Chatbots
Avoid using when possible. Don’t waste a lot of time learning new things about this tech.
Examples: Old ASP.NET, Angular 1
I only had one challenge with my personal tech radar. I’m interested in everything, so I had a lot of trouble keeping my categories small enough to be doable. I consider this a feature, not a bug. Doing this exercise forced me to take a holistic view about what I’m interested in and edit accordingly. I also did some journaling about where I wanted to go in my career, which helped clarify my thinking. For example, I realized that learning data analysis is a better use of my energy than learning native mobile development. I’m still keeping an eye on mobile, but it’s not a top priority for me. Overall, it narrowed my scope and helped me focus.
If you want to better deal with the ever-growing deluge of new technologies, consider doing a tech radar. Both the organizational and personal flavors offer insights that you can use in your daily developer practice. It’s a great way to end the year.
PS – For some reason, I think of this song every time I bring up Tech Radar.
As technologists, we are the vanguard of innovation. We’re at the forefront of technological innovation. Even if you’re slagging COBOL in the basement of some bank, you’re still dragging your organization into the future. Ever wonder how that process actually happens? What can you do to be more creative?
I’m fascinated by this topic, so I put together a talk about it. (abstract / slides) It distills what I’ve learned from reading dozens of books on innovation and the history of technology. To save you some time, I put together a list of my favorite innovation related reads. If you’re curious about this topic, these books are a good place to start.
Sapiens is a highly entertaining, unorthodox view of human history. Not only is it informative, it challenges basic assumptions about ideas that most people don’t realize they’re making. It’s a great description of early human history and how we got to the modern age. It’ll really open up your mind.
Innovation is not evenly distributed. There are certain times and places throughout history that have “golden ages” of innovation. Geography of Genius explores a few of these places and tries to find what ties them all together. This book is very interesting and you’ll learn about some places that you don’t see much of in the classroom.
Unlike what the history books tell us, innovation is more bottom up than top down. Matt Ridley does a fantastic job describing how in Evolution of Everything. He covers a several major innovations including religion, money, and government. This book challenges many deeply held beliefs and illustrates how innovation is an evolutionary process.
This book offers a more tactical look at creativity. It’s also a great guide to improving other aspects of mental performance. Charles Duhigg does a fantastic job mixing science with fascinating stories.
Creativity requires concentration. A commodity in short supply in the modern age. In Deep Work, Cal Newport makes a compelling argument for making “deep work” (focused work) one of your primary priorities. I changed several of my habits after reading this one.
While I enjoyed the Lean Startup, I felt like it treated innovation more like a roulette wheel than a process you can influence. “Just pivot until you make it big or run out of money.” In Competing Against Luck, Clayton Christensen describes a fantastic intellectual power tool for building new products. The “Jobs to Be Done” theory of innovation. If you want to build a product, I highly recommend this one.
One of the most important things you can do to become more innovative is empathize with and learn from people whom you disagree with. We live in a society that’s increasingly polarized, but this book the antidote. In the Righteous Mind, Jonathan Haidt explains the moral foundations for different political outlooks and makes a strong case for civility in political discourse. This is a must read if you have trouble dealing with people who don’t share your beliefs.
Here are a few non-book resources to check out:
Kevin Kelly’s concept of protopia (as opposed to utopia or dystopia) is really enlightening.
In How to Fail at Almost Everything and Still Win Big, cartoonist and business author Scott Adams describes his “success formula”. Each area you master roughly doubles your odds of great success. This is a great case for diversifying yourself. You can either get his book or read this article:
If you’re looking to diversify yourself, here are two excellent resources:
The Personal MBA is a reading list that’s meant to give you the business skills taught by an MBA program. I’ve read many books on this list and have not been disappointed. It’s also got great selections on personal finance and psychology.
The Great Courses are a series of college level lectures that you can listen to in your car. Personally, I’m a big fan of their history selection. They also have courses on psychology, philosophy, and business.
Innovation is partly a network effect. This article describes why cities with a higher population density have higher per capita rates of innovation.
Everything is a Remix is a video series about cultural innovation by Kirby Ferguson. I have yet to find a better description of how culture is generated by remixing other cultural elements.
This is a TED talk on how Google X (Google’s own skunkworks company) takes risks and creates a culture that fosters psychological safety.
This list of resources will open your mind and help you become a better innovator. If you think I missed something, feel free to drop it in the comments.
We wanted flying cars, instead we got 140 characters.
– Peter Thiel
According to Peter Thiel, an amazing future lies ahead. All we have to do is build it. Unfortunately, cultural shifts have steered us away from audacious, grandiose, and truly innovative projects. We need to stop focusing on making slight improvements to existing technology (going from 1 to 1+n) and start making new things (going from 0 to 1). In short, we need more of the hubris that America has had in past decades.
Zero to One: Notes on Startups, or How to Build the Future is an excellent book by the self proclaimed contrarian and billionaire Peter Thiel. It’s about building startups and thinking big. Zero to One will inspire you and make you think. It’s one of the few business books that can’t be re-written in five pages.
Zero to One starts off with a big question:
What important truth do very few people agree on?
This is a tough question to answer well. Most people come up with something widely believed, like the healthcare system is broken, or an opinion, like how chocolate ice cream is better than vanilla. The key is to find something that is both true and unpopular.
For example, think about the housing crisis. Right before the crisis, the important truth was “the housing bubble is about to pop”. Most people thought the good times were going to last, but some people saw the impending crunch. They used that knowledge to make a lot of money, while the rest of the country lost their shirts.
Finding these contrarian truths gives you an insight into the future. An insight that can you can use to build a business or make an investment. Think of how many truths we take for granted today that were science fiction a few decades ago.
These things were once considered impossible, but now are obvious.
Here’s a few contrarian truths that I think about on a regular basis:
So when looking for business opportunities, you should ask yourself: What valuable business is nobody building?
a startup is the largest group of people you can convince of a plan to build a different future.
– Peter Thiel
Since the .com bubble popped, the startup community has moved towards the Lean Startup model.
The Lean Startup model goes as follows:
The beauty of this approach is that it’s a scientific way to build a business. No one knows exactly what’s going to work, so you run as many tests as you can to get to a market.
Thiel doesn’t agree with this method. He advocates something a little different. His philosophy is that startups should make big plans and carve out their own monopoly. They can do this in one of two ways.
In my experience, I have noticed that most big companies fall into the category of 10x improvements. Even companies that are credited with creating new markets, like Apple, are usually just improving existing technology. MP3 players, smartphones, tablets, and smart watches all existed before Apple took them to the next level. When I think of companies that made something new, I think about Pirates of Silicon Valley
He also mentions that head to head competition always results in a drop in profits. Look at any commodity market and you will notice that profit margins are razor thin. To avoid this, you need to stay so far ahead of the competition that you can charge enough to make a healthy profit. This profit can then be used to build moonshots or attract the best employees by giving them a world class working environment. Google is a great example of this. Thier monopoly status allows them to treat their employees like royalty while trying to tackle large problems.
To build a monopoly, Thiel advocates starting small and dominating a niche market. Be the big fish in the small pond. I think the bootstrapping community has this down on the small scale. They advocate niching down your product so that it serves your target audience perfectly. The primary difference with Zero to One is that once you master that small scale niche, you then expand your reach. Facebook is a great example of this. It started off with just one college and spread like a zombie plague from school to school. I remember the day when Facebook arrived at my school. Nearly everyone on campus was signed up within a week. It was insane.
Honestly, I think Thiel overstates his contrarian-ness here. While his criticisms of the lean model are legitimate, his alternative is very similar. Start small and blow up. I like how he focuses on sales, which is a dirty word to most developers. The importance of selling is often understated in the Valley. Even the best product will fail is no one’s heard of it.
Shallow men believe in luck, believe in circumstances… Strong men believe in cause and effect
– Ralph Waldo Emerson
Indefinite attitudes about the future explain what’s most dysfunctional in our world today. Process trumps substance
– Peter Thiel
One of the major themes of Zero to One is the importance of making plans. One of the biggest problems with our society right now is this indefinite attitude towards the future. America used to be a country of big ideas. Even normal people felt they could come up with something big and pitch it to the public. Today, people who think big are often attacked. Ambitious initiatives, like seasteading and life extension, are regularly attacked by lovers of the status quo. If people like Tim Ferriss or Peter Thiel are indicative, having detractors is evidence that you are doing something right. People who change the world are going to make some enemies.
The most contrarian thing of all is not to oppose the crowd but to think for yourself.
– Peter Thiel
The best part of Zero to One is that it will make you think. Unlike many business books, which can be summarized in a page or two, Zero to One is packed full of interesting and useful information. It’s one of my favorite business books and I think that it’s a good book for developers who want to build something great.