Author Josh Kaufman, right, says it is possible, and that he taught himself how to code -- as well as windsurf, play the ukulele and many other things -- in less than 20 hours each.
"A 14-year-old could learn to do this," says Kaufman, who chronicled his experiences in his best-seller, The First 20 Hours: How to Learn Anything ... Fast. "Once you get into it, it's really not as difficult as it seems."
Writer Malcolm Gladwell has famously said it takes 10,000 hours of practice to fully master a skill. But Kaufman cites research showing that most skill improvement happens early on when you go from incapable to "developing the capacity to perform." In his experience, that can happen in 20 hours.
Web programming is one of these in-demand tech skills, which lead to high-paying careers; many job seekers spend thousands of dollars to learn programming so that they can land six-figure jobs. According to the story Kaufman tells in his book, he stumbled upon this 20-hour rule when he was running his small business.
In 2007, Kaufman left a marketing manager job at Procter & Gamble. He launched PersonalMBA.com, among other sites. He quickly found that every time the site received a surge of publicity, the flood of traffic would crash the server. Upgrading hardware didn't fix the problem, which was inherent in the off-the-shelf software he was using for 11 other websites as well. "I realized that I was spending more time keeping my sites online than I was researching and writing for my readers," Kaufman wrote in his book.
The solution was some different software he read about. But to use it, he had to learn how to program in a language called Ruby. Many people might head to a class or hire a web programmer, but Kaufman says it wasn't that hard to teach himself. "In the first 20 hours of practice, I had two programs in production," he said, adding that while at the beginning, "everything looks weird and complicated," it's actually not that hard. "A lot of people overestimate how hard difficult learning to program is." Now, he says, the programs he wrote "run all parts of my business, from sending and receiving emails to charging credit cards."
Kaufman argues that teaching yourself is a more effective way than spending hours in the classroom. He says that there's a difference between gaining a skill like speaking Spanish and learning Spanish in a class. Most education is geared toward learning about topics and skills without as much focus on skill building. A software engineer might spend hundreds of hours learning theory without necessarily putting it into intensive practice.
Here are the four major steps that he says are necessary:
- Deconstruction: You break the skill down into the smallest possible subskills. By doing so, you have created a checklist that will help you track and manage your skill acquisition.
- Right Amount of Learning: Practice is important, but you do have to learn enough about the skills to do that. However, you don't want to learn so much of the minutiae that you don't have time to get better. In this case, you learn enough "to be able to practice intelligently and self-correct during practice." Self-correcting speeds to process of improvement.
- Remove Barriers: Whether physical, mental, emotional, or logistical, barriers slow you down and disrupt skill improvement.
- Practice the Right Subskills: You've learned about the subskills. Now focus your 20 hours of practice on the ones necessary for the overall skill. In other words, learn to pitch a baseball in a standard way before trying to learn the curve ball.
Don't Miss: Companies Hiring Now