Sure, you can take on the “easy” assignments, keep your head down during meetings and be rewarded with a 3% increase each year to stave off inflation and hope you aren’t cut when the economy goes through a rough period. I did this for the first 3–4 years of my career as a software developer and felt stuck.
Within about a year of implementing the steps I will share with you, I was senior developer at my current company and had another offer for senior at a fast paced tech startup in the San Francisco Bay Area.
At my current company I worked my way up to staff level and then engineering manager within 2 years. I’m not teaching you based on a theory here — these are the 3 things I did to accelerate my career, gain credibility and get promoted:
Step 1: Run towards fires
Handling high visibility issues immediately gives you credibility as an engineer (even if you reach out for help). Working on call and volunteering to triage severe outages or bugs also introduces you to parts of the codebase you might not otherwise be exposed to.
The Engineering Director my former company cited my late night bug fix for a critical incident as one of the deciding factors for my promotion to Senior Developer. At my next company, I volunteered to be on-call as soon as possible because I wanted to quickly establish myself as a technical peer.
Volunteer for on-call at your company if you haven’t already AND next time you see someone raise a critical incident in a public channel — raise your hand to investigate.
Step 2: Write excellent peer reviews
One of the most underrated ways to gain influence on your team is through writing really thorough code reviews.
Do not just LGTM your way through reviews. Really dig in and ask questions about the choices made. Give praise, offer suggestions and take discussions offline if needed.
Act as a shepherd of the codebase and enforce high quality. Catching bugs before they hatch will save your team mates from embarrassment and establish you as a technical authority.
Once I started really taking reviews seriously, I actually got thanked by team mates during yearly reviews which influenced my manager’s decision to fight for my promotion.
Step 3: Do things in public
It’s great that you sped up that slow query by 50% through a minor refactor. But how in the hell will anyone know unless you tell them? Make your manager’s decision to promote you an easy one. Document and share your wins. Remember, they have other reports and their own workload. They are NOT digging around checking out your peer reviews and code quality.
There are a few public forums available for you as an engineer to show off your achievements without feeling like you’re “bragging”
- Demos of your current sprint work during demo days
- 1 on 1’s with your manager
- Lunch and learns (bonus points if you introduce them to your company)
- As an FYI in a public channel (e.g. FYI — noticed a problematic widget on our homepage. A fix has been implemented and please let me know if you see this problem again in the future)
The most technically proficient engineers aren’t always the ones who get promoted. So yes, you must be good at writing code but that’s not always enough to get to the next level.
Read this post and more on my Typeshare Social Blog