From time to time, I run into people who are interested in breaking into programming. Last night at the company holiday party a guy (we’ll call him Sam) walked up and introduced himself, asking for advice on how to move from his current role over to development. Sam’s attitude impressed me – those with a genuine desire to learn go places quickly. And on many occasions I’ve hired someone very green simply because I could sense a genuine interest in the craft and a hunger for knowledge. I’ll take attitude over aptitude.

Obviously, the road to becoming a better developer begins with learning. Everyone learns differently, but I’ve found no better way to learn than watching over the shoulder of someone else, bending the technology to his or her will. That’s why I was so amped to become a Pluralsight author. I really believe in the format. Yes, tech books are also a great resource for going in depth. I read Pro C# nearly cover to cover, but not everyone would benefit from this approach. Much falls out of your head with that much breadth over such a short period. That said, learning isn’t hard if you follow a recipe. It’s starts simple enough:

Watch someone

Thus, I personally watch videos or read books and blogs. But I’ve learned that step one isn’t enough, so I quickly follow that up with a real world implementation. This second step is key:



Now, be forewarned that according to National Training Laboratories, the percentages on this diagram have no known source behind them, so take my references to the absolute percentages with a grain of salt. That said, the fact remains that we retain very little of what we hear from others compared to other learning approaches. But what if we practice doing what we just learned? Well that get’s us to a seriously juicy 75% retention rate, baby! So go learn a new tech somewhere using the learning format you prefer. Then pick a topic you’re into. Games, cars, sports, doesn’t matter, and write some basic piece of software related to it. That will help stoke your interest and give you something real life to talk about in an interview. So now, we have a simple two step process:

Watch someone Try it yourself and experiment

But that’s not the end of the road. As the learning pyramid shows, we learn best by teaching others. So ideally, once you learn something new and have practiced enough to not look like a total idiot, schedule a lunch and learn or share it with someone at work. Justifying your logic will both clarify and solidify your knowledge. It will shine a spotlight on the areas you thought you understood and force you to fill in the gaps. And keep in mind that you don’t have to teach someone in person to benefit from this step. Write a blog post, explain it to your cat, or post your new piece of software to GitHub in hopes of receiving feedback. The act of organizing and justifying your thoughts is the important part for increasing both retention and comprehension. This brings us to the magical three step process for becoming an expert at anything:

Watch someone Try it yourself and experiment Teach someone else

Presto. Next thing you know, you’re the senior developer telling other people how bad their code is! (Yes, everyone gets their turn). And remember, once you’ve built something, anything, you’re no longer merely “learning development” or wanting to “break into development”. You *are* a developer, so sell it. Don’t wait for someone to come pick you. Pick yourself. They can question your methods and your skill level, but no one can say you’re not a developer once you’ve crafted an application with your own hands. Hint: we’re all learning development together. Never apologize for that.

Does this ring true for you? Join the conversations on Hacker News or Reddit.