Want to double your chances for success? Learn something new. Diversify yourself.
The idea of diversifying yourself by learning new skills is a common idea with many names. Scott Adams calls your mix of skills a "talent stack". Each skill you add to your talent stack roughly doubles your chance of success. He claims that you're better off becoming proficient (top 75%) at a variety of skills than trying to become world-class (top 99%) at one. Here's an example of a talent stack in action.
Brett McKay at the Art of Manliness describes the T-shaped person. A t-shaped person who has both broad and deep knowledge. A jack of all trades, but master of one. You specialize in a few skills and support them with a broad base of general knowledge. For software developers, this means supplementing your developer skills with skills from other fields.
I like to think about a portfolio of skills. Like a portfolio of stocks, some skills are rising in value, some skills are dropping in value, and some are steady. Like portfolio of stocks, diversification of skills makes you more valuable.
Regardless of what you call it, diversifying your skills is important.
There are several reasons to diversify yourself.
Each skill you learn means you can do more. Each new skills adds to your usefulness as a person.
The basic process of innovation involves the recombining and transformation of ideas. Each new skill you learn gives you a pile of new ideas you can use to fuel your creativity. Many innovations come from taking skills from one field and applying them to another one. The lean movement in software development borrowed from the lean manufacturing method. Thomas Edison was famous for taking ideas from one field and applying them to another.
The more skills you learn, the more people you can communicate with. Teddy Roosevelt was famous for this. He read several books a day. His broad knowledge allowed him to communicate with people from many different backgrounds. In software development, learning the terminology of business makes it easier to write requirements. Continuous communication with the business is one of the key tenets of agile software development. Learning about business makes that continuous communication much more productive.
Technology moves at a fast pace. Skills that were valuable a few years ago are worthless today. In some ways, technologists are perpetual beginners. Learning a variety of skills, especially non-technical skills, gives you insurance against obsolescence. Non-technical skills are what separate a senior developer from a junior one.
Now that I've convinced you to learn something new, where do you begin? I'll give you the classic consultant answer... it depends. You need to make up your own criteria. Look for a combination of what interests you and what's useful to others.
Here's a few of my criteria:
Does this help me create common ground with other people? Examples: common hobbies, sports
Does this give me a new viewpoint or a new way of looking at problems? Examples: statistics, psychology, economics, design, art
Is this applicable to my career? Examples: design patterns, business skills, copy writing, communication skills
Is this something fun that I can use to make people laugh? Examples: history, weird trivia, humor
Does this increase my objectivity? Examples: argumentation, Stoicism
My Own Talent Stack
I cultivate a variety of skills. My primary career goal is to use software to solve difficult problems. I tend to focus on skills that help me do more.
Software Development - Primary skill set
Business - I read a lot of business books and study various aspects of marketing and finance. I'm also into small businesses. Most of us are working for businesses. Knowledge of how businesses work and how the business you're in works is vital to being a good software developer.
Psychology - I love psychology. It gives me a whole new lens when dealing with people. I'm into cognitive and organizational psychology. I look for anything that helps me learn faster or understand human behavior.
Writing - Being able to write clearly is essential for all professionals. Writing clearly is thinking clearly.
Public Speaking - Public speaking is challenging and useful.
History - Those who don't know history are doomed to repeat it. History also gives me interesting anecdotes to tell at dinner parties.
Philosophy - I'm a big fan of stoic philosophy. It's a great philosophy for dealing with the chaos of modern life. Finding a practical philosophy of life gives your life structure. Religion works here too.
Design - A little design knowledge goes a long way. I'm no artist, but I can make a decent looking app without a designer.
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.