7 Absolute Truths I Unlearned as Junior Developer
Share on Twitter
Share on Hacker News
Next year, I’ll be entering my 10th year of being formally employed to write code.<br>Ten years! And besides actual employment, for nearly 2/3 of my life, I’ve been<br>building things on the web. I can barely remember a time in my life where I<br>didn’t know HTML, which is kind of weird when you think about it. Some kids<br>learn to play an instrument or dance ballet, but instead I was creating<br>magical worlds with code in my childhood bedroom.
In reflecting on this first decade of getting regularly paid money to type weird<br>symbols into my Terminal, I wanted to take some time to share some of the<br>ways my thinking shifted over the years as a developer .
For today’s junior developers: Maybe you’ll find something here you<br>currently believe, and get inspired to learn more about it and why the topic is<br>so multi-faceted. Or maybe you’ll find this post encouraging because you’re<br>already so far ahead of where I was at your stage.
For today’s senior developers: Maybe you can relate, and also have<br>some funny (and humbling) stories to share about your own life lessons when you<br>were a junior dev.
To be clear, I think junior developers are awesome and just showing up<br>to learn already takes a ton of courage. This post is about my own journey<br>and learnings, and isn’t meant to be a generalization about how all junior<br>devs think or behave.
I hope you enjoy the post and can relate a little bit ๐
Thanks to Artem
and Sara
for your feedback on this post!
Absolute truths I unlearned as a junior developer
1. I’m a senior developer
I was 19 years old when I applied for my first technical job. The position<br>I was applying for was called “Student Webmaster”. Which is a pretty awesome<br>job title, because you could be considered both a “student” and a “master”<br>at the same time. Nowadays everyone wants to be an “engineer” because it sounds<br>fancier, but if you ask me, “master” is where it’s at. Anyways, my job was to<br>write PHP and MySQL, and maintain our Drupal website as well as building some<br>internal tools.
Since I’d been coding in my bedroom for a couple of years, I was pretty<br>sure those years counted as “years of experience”. So when I was asked about<br>how much experience I had writing PHP, I confidently answered, “3 or 4 years!”
I thought I knew a lot about SQL because I could do outer joins ๐
And when I googled it, 3-4 years of experience meant I should be making ๐ฐ
Fast forward to my latest job, which I got after 5 years of “combined” student<br>and professional experience (which I thought was the same as normal<br>experience). Yet in that time, I basically never had my code reviewed. I<br>deployed by ssh-ing into a server and running git pull. I’m rather sure I never<br>had to open a Pull Request. Don’t get me wrong, I learned a ton of awesome<br>stuff at my first two jobs, but I’d never really worked with other devs in the<br>same codebase. And yet, I applied for a position for “Senior Frontend<br>Engineer”, got an offer, and accepted it.
There I was, a senior developer at the ripe age of 24 years old.
I mean they wouldn’t have given me this job title if I wasn’t really senior,<br>right?! Surely, my impressive experience had brought me to this point, and<br>people should listen to me!! Already at the pinnacle of my technical career,<br>and the youngest developer in the office.
Like a boss ๐
What I eventually learned
Not all experience is created equal. My experience coding in my bedroom,<br>working as a student, working in CS research, and working at a growing startup are<br>all valuable kinds of experience. But they aren’t all the same. Early in your<br>career, you can learn 10x more in a supportive team in 1 year, than coding on<br>your own (or with minimal feedback) for 5 years. If your code is never<br>reviewed by other developers, you will not learn as fast as you can โ by an<br>enormous factor.
That’s why mentors are so important , and the team you work with is worth so<br>much more than a couple bucks in your paycheck. Don’t accept a junior<br>position where you’ll be working alone, if you can help it! And don’t accept<br>your first role (or, honestly, any role) based on salary alone. The team is<br>where the real value is.
I also learned that job titles don’t “make” you anything. It’s kind of like,<br>being a CTO with a 5-person team is different than with a 50-person team or a<br>500-person team. The job and skills required are totally different, even if the<br>title is identical. So just because I had a “senior” job title did not make me<br>a senior engineer at all. Furthermore, hierarchical titles are inherently<br>flawed, and difficult to compare cross-company. I learned it’s important not to<br>fixate on titles, or...