Ever since Cal Newport wrote about how I learned how to code in Deep Work by reading books and going to a bootcamp (which thousands of people do every year - I'm not special), I've been getting a few emails a week asking for more details. Most often, people ask for the specific books I read as I was preparing, or general advice on breaking into the field. Below is a representative sample. If I sent you this link to you, I hope it's helpful! If you have any further questions, please email me, and I'll use them to improve this guide.

"We greatly overestimate what we can do in one year. But we greatly underestimate what is possible for us in five years." -Peter Drucker. This guide probably would've scared the shit out of me back in 2013 when I was starting. But it's worth it! Software engineering is creative, intellectually stimulating, high-impact, flexible (you can work on almost any problem you want), more social than people realize (pair programming is great!), you can work outside or abroad, it's well compensated, and it has an unlimited skill ceiling. The last part is the best, because if you're more systematic about studying than your peers, then it's just a matter of time before you'll be so in-demand that you'll be able to dictate the terms of your employment such that your lifestyle is however you want it to be. I recommend it to most everyone that thinks they might learn to like it.


tl;dr: two steps to software mastery

Hi Jason! I've read from Cal Newport's book 'DeepWork' that you already finished reading as many as 18 books in a few weeks/months by the time you attended the notorious Dev boot camp to become a full stack programmer. Could you tell me which are those software books you were reading. I'm looking for a career change into programming, so any inputs you give would give me would surely help me here.

Hi Yasir! You can do much better than the path I took. I recommend:

  1. Do Hack Reactor or Lambda School
  2. teachyourselfcs.com

And get yourself a job at any point after 1.

Good luck 🙂


Step 1, in depth: how to become an employable web developer

I am Nirmala from Hyderabad, India and I teach programming to children, teenagers and adults who wish to make a career change to programming.

I am curious about the methods that you adopted for getting into the deep focus mode, the methods that were briefly described in Cal Newport's book "DeepWork".

Would it be possible for you to share the strategy that worked for you? Which language were you trying to learn? What were the books you referred and your learning methodology? Would you be able to share any link that refers to your learning methodology?

The reason I am asking you is that the students , particularly the older ones are barely able to remember what was taught which makes them frustrated and slowly, the confidence and self belief ebbs away.

Some students have been very successful but I would attribute their success more to their own self-motivation.

Hi Nirmala! That's incredibly cool, I love what you're doing.

The things that I thought would work for me, that I actually implemented, were to cut myself off from the Internet and try to memorize the syntax and the APIs of the languages (I figured that not having to look things up as often would make programming much faster). Memorizing languages turns out to be a nice benefit but it's not nearly as important as I thought.