October 13, 2021 • 2 min read
I mentor bootcamp students, and a question that I’m asked often is: What should I focus on at the beginning of my career?
My answer is: being really good at programming.
I wish I’d heard this advice earlier in my career. It would have saved me some cycles.
☝️ Caveat: this assumes that you have basic people skills. The programmers that I meet through Code Platoon are all veterans or military spouses, typically older than the average entry-level programmer, and among that cohort this assumption has been uniformly (pun) true. People skills are the price of admission to any successful career. They matter as a programmer even more as you advance. Don’t neglect them.
There’s a quote from Steve Martin and a book by Cal Newport derived from its title: “Be so good they can’t ignore you.” Programming is tough. There is an insane amount to learn across languages, platforms, and tools. You’re going to be building and abandoning tons of mental models, breaking through limitations, forcing yourself to consider ideas that are counter-intuitive to you. Just when you think you’ve got it all figured out, it changes. Sit next to that hydrant and have a long drink.
Don’t worry about taking the right job at the right company. When you’re starting out those opportunities aren’t going to be busting down your door. Forget them for now. Don’t worry about learning the right language or framework. Once you can program you can easily pivot. Instead, try to be a good programmer so that you’ll have agency in the marketplace.
To quote Cheryl Strayed, author of Wild: “Don’t be in a hurry to publish. Be in a hurry to be the best writer you can be.”
“Don’t ask for advice, ask for a code review.”
A signpost that somebody has adopted this attitude and is headed in the right direction can be gleaned from how they respond to pairing or a code review. When a great programmer critiques your code, they’re trying to do just two things: improve the code and teach.
But there’s a big conflict! When you’re new, every line of code you write is going to contain ‘enhancement opportunities’. You’re going to implement anti-patterns. You’re going to take pointless risks. You’re going to step right on invisible language-specific third rails. You’re going to ignore obvious cases. Anyone who has ever opened a text editor has made these choices.
Folks who are headed in the right direction engage with the ideas. They try to figure out what they missed by asking questions. Folks who are stuck on the plateau of beginner-ism will argue, “well, actually” themselves right past the message, appeal to authorities, and throw up every other logical fallacy in the book because it is painful to feel like somebody is criticizing your brain. They aren’t, but it can take a while to figure that out.
If you want to grow, have agency, and be passionate about your programming career, get good at it. Everything after that will be easier.
Blog of Jake Worth, software engineer in Maine.