Shake Logo

The Stuff No One Tells You About Teaching Yourself To Code

The Stuff No One Tells You About Teaching Yourself To Code

I recently wrote about how I learned (and am learning) to code. After thinking about it a bit more, I realized I left out some important stuff. The nasty bits. The things we don’t like talking about. The stuff that people tend to skip over. Here it goes…

1. No one tells you how hard it’s going to be.

We all get started thinking a book, or tutor, or shiny new widget is going to make success possible. It’s never the case. The drunk-with-excitement feelings are great, unless they stop us from gearing up mentally for the challenge. So let’s not mess around — learning to code is going to get ugly. You are going to want to quit. You are going to fail at some point. And it will take longer than you expect to see results. If you don’t truly want it, it’s going to chew you up, spit you out, and laugh in your face.

My last post didn’t explain the number of times I doubted myself. It didn’t cover getting embarrassed in front of people or living outside my comfort zone. I skipped the part about quitting my job and spending all my savings buying time. Oh, and I totally forgot to mention any of the many jobs I didn’t get. These things happened and you’ll probably experience them too if you’re serious about this.

Success is knowing exactly what you want and then being willing to do anything to get it.

It was only once I accepted that it was going to get ugly that I finally started doing what it took to make meaningful progress. Here are some resources that helped me understand the difference between thinking I wanted something and knowing I wanted it.

The Alchemist by Paulo Coelho

Think And Grow Rich by Napoleon Hill

Mastery by Robert Greene

2. No one tells you that you’ll get embarrassed.

I’ve embarrassed myself so many times learning to code, whether it was asking questions in a class, trying to solidify my learning by teaching others, or my personal favorite — during interviews. All I can say is that every time I felt embarrassed, it was because I forced myself to try something that felt uncomfortable. It stung something wicked, but each time helped motivate me past a hurdle I was struggling with. I’m convinced that if we don’t feel scared or embarrassed, we’re not pushing hard enough and ultimately not learning fast enough. Honestly, I still don’t embarrass myself enough.

I’m convinced that if we don’t feel scared or embarrassed, we’re not pushing hard enough and ultimately not learning fast enough.

3. No one tells you that you’ll have to be willing to do almost anything to get help.

When General Assembly, a school for coding in NYC, sent out the first tweet advertising their Front End Web Developer Program, I was in their lobby within 5 minutes begging their program director to let me into the course. I’m convinced I would not have had that opportunity if I hadn’t proven to them over several days that I was willing to do anything to learn. No doubt, it became one of the most pivotal moments in my journey so far. I met mentors through the class that became invaluable teachers and friends. At some point, you’re going to have to figure out a way to get help and flip the odds in your favor.

4. No one tells you that people won’t care.

I know learning to code is sexy right now, but you’ll be surprised at how many people don’t care about what you’re doing or how much you’ve learned. You’d think hiring managers or potential mentors would appreciate hard work and dedication, but the brutal truth is they only start to care if you can help them achieve their goals. I have a hard time with this. It’s easy to take things personally. But remember, I said it gets ugly.

5. No one tells you that you don’t need to know everything.

Is everyone sufficiently stressed out yet? Try not to be. Here’s some good news. You probably don’t need to worry about nearly as much as you think you do. That overwhelming feeling that there’s endless stuff you don’t know is never going away. It’s an inherent part of working in software. The only way to stop this distraction is to set goals. Remember, the first half of success is knowing exact what we want. If we aren’t honest about what that is, we’re much more likely to spin off into the abyss. It’s not about cutting corners, it’s about efficiently mastering what’s necessary to level up.


Ok, that pretty much covers what I’ve learned so far, didn’t talk about last time, and that no one is going to tell you off the bat. Please send me a message if I can help you get to the next milestone!