Advancing Your Tech Career Part 1 ⏭️
I leveled up from junior to senior engineer in 3.5 years. 🚀
One question I constantly get asked is how I advanced my tech position from junior to senior in under 4 years.
In the next 2 issues, I will explain (to the best of my ability) the strategies I implemented, and the mindsets I imbibed, that helped me move up the ranks as I did.
🕵🏾♀️ indicates strategies I employed.
🧠 indicates mindsets I imbibed.
🫴🏾 indicates privileges I enjoyed.
Yes, it is important to identify the privileges that enabled me to rise; the last thing I will do is pretend that all my progress was solely due to my efforts and intellect. I personally detest such pretense in the Tech community. 😮💨
First off, I think it is unhelpful to be overly-fixated on tech role titles. The truth is, “senior” engineer in one company may equate to “mid-level” in another company. In my opinion, the more important things are:
Getting compensation that is acceptable to you. I know senior engineers that make significantly less than some mid-level engineers. I always go where the money is, and pay less attention to the job title. Of course, compensation entails more than base pay - you need to consider the suitability of the work-life balance, time-off, healthcare coverage, etc that the role offers.
Getting ample opportunities for skill deepening and expansion. Skill advancement is the main way to ensure longevity in your Tech career. You are only as important as the value you create. Remaining in a role with a “high title”, but few opportunities for challenge and growth, is a recipe for career stagnation. In Tech, you must play the long game.
My first role was as a junior engineer in a company whose main stack was Ruby-on-Rails. This was important to me, because the only thing I learned during coding bootcamp was Rails. No JavaScript, no React, maybe a sprinkle of HTML & CSS. I was solidly a Rails gal, and the extent of my skills were building Rails CRUD apps & RSpec testing.
🕵🏾♀️ So during my job search, I focused JUST on companies whose first stack was Rails. This approach allowed me to create value from Day One on the job. Since I was very familiar with Rails’ model-view-controller configuration, I could quickly navigate my way around the company’s app. If a job description listed Rails as the 2nd or 3rd stack, I did not even bother applying. Now, did my approach reduce the number of roles available to me? Absolutely! BUT I then had a higher chance of landing the roles that I did apply for. 🧠 So I decided not to worry about having less roles to apply to. Instead I focused on performing at my best during coding challenges, coding take-homes, and the resulting interviews.
🕵🏾♀️ 🧠 I also understood that the ability to write tests was a skill that few of my fellow early-career competitors possessed. My bootcamp taught us test-driven-development about halfway through our course. After learning how to write tests in RSpec, I went back and wrote tests for ALL the apps I built in bootcamp. I cannot tell you how many times I was asked during interviews: “You write tests! That’s great! Why are you testing your code? What benefits does testing have?” It gave me an opportunity to set myself apart, and have interesting conversations about site reliability, code maintainability & robustness. Why is this important? Well, interesting conversations during interviews make you more memorable.
At my first job, I would arrive to the office about 2 hours earlier than most of my team. Our Lead Engineer (shout-out to Daniel! 👋🏾 🫶🏾) arrived the same time as I did. 🕵🏾♀️ So during those 2 hours, him and I would pair-program on my tasks, or I would watch him work on his tasks, ask lots of questions, and gain more clarity into our products’ functions. Those sessions did a lot to improve my comfort with our codebase. 🫴🏾 It helped that our team lead was very amenable to coaching and mentoring; he never made me feel like a burden. My technical skills & situational awareness grew exponentially during my first job, due to these focused pairing sessions.
By the time I started my next engineering job - at another Rails shop - I was ready to shed the “junior dev” label. I wanted more responsibility, more wins, and more money! 💰🤑
But, as the aged saying goes: Be careful what you wish for! 👀
We will continue in next month’s issue… 💞