I got promoted recently. A few weeks ago, I spoke to other apprentices and early-career software engineers at a work event and shared some opinions and advice about getting promoted as a self-taught developer. I’m going to summarize what I spoke to my peers about in this blog post for anyone else who might find it valuable. So, here are my 8 recommendations for getting promoted as a self-taught/boot camp-taught developer:
1) Ask for help strategically.
In a perfect world, junior engineers would be able to ask unlimited questions without fear of judgment. However, I’ve seen other self-taught colleagues receive negative feedback for asking too many questions or for not working independently enough. While I disagree with that idea, I was able to protect myself from receiving such feedback by being very particular about when and how I asked for help.
When asking for help, I always make sure I ask very detailed, informed questions that convey the research I’ve done and the thought I’ve put into the problem. I always explained what exact solutions I’ve tried and why they haven’t worked.
Asking informed questions might look like this:
“I’m stuck at [this specific step] and getting [this specific error message]. I’ve tried [this specific solution] and referenced [link to resources (StackOverflow, Slack threads, etc.)]. Could you help me get unblocked?”
On the other hand, asking uninformed questions might look like this:
“Hey I can’t figure out my ticket, can you help?”
While the first way requires more effort, I think that putting in that extra step will only benefit you in the long run. Not only will you understand your problem better, but you’ll also be able to more effectively take advantage of the help offered by having narrowed your problem down. As an extra bonus, you’ll also be sending a message to your peers that you are thorough, independent, and good at communicating specific technical challenges.
2) Become an owner.
Ownership can manifest in many ways. You could own the development of a feature-end-to-end, or try to establish subject-matter expertise in an area and “own” that domain. Ownership is really about being able to attribute a specific contribution to you and you only. Be creative in considering what your team needs and how you can step up to own a piece of that.
3) Prioritize growth and learning.
Edmond Lau in Chapter Two of “The Effective Engineer” (a book I highly recommend) describes this perfectly, saying that engineers should optimize for “experiences where you learn rather than experiences where you effortlessly succeed”. Personally, I think having a couple of easy bugs or quick-fix tasks on your plate is totally fine, especially if development velocity is something your organization cares about.
Each sprint, I’d try to take on at least one ticket where I’d be challenged/learning something new and pair that with a couple of smaller tickets. I think this strategy paid off in allowing me to maintain good velocity while also having strong code complexity, which can be important in proving you’re ready for promotion.
4) Document all of your contributions.
One of my apprenticeship colleagues (shoutout to Pam!) talked about the importance of having a “brag book” and she is one of the reasons why I kept this in mind early on in my job. I not only documented my contributions to projects, but I also kept screenshots of any shoutouts or spot bonuses I’d receive. Here are other things you may not think of that could be included in your brag book:
- Links to spike documents and investigations you’ve led
- Notes from any office hours or learning opportunities you’ve pursued
- Technical debt or tech hygiene tasks you’ve worked on
As time passes it can be hard to remember all of the work you’ve done, so try to update your document somewhat regularly (once monthly was a good cadence for me.)
5) Get buy-in from your manager by expressing your promotion goal early on.
Almost a full year before the promo cycle began, I spoke with my manager (he actually brought it up to me first!) and we mapped out all of the promotion requirements and identified gaps and areas of improvement early on. This allowed me to be strategic in the work I’d be taking on to make sure there wasn’t anything missing when it came time to get promoted.
In my opinion, it’s never too soon to bring this up. Even if your manager doesn’t feel you’re quite ready for promotion, it’s also best you know that information as soon as possible so you can come up with a readiness plan.
6) Seek mentorship from someone who has navigated the promotion process.
I had a senior engineer outside of my immediate scrum team walk me through her experience going through a promo. I also asked her to review my brag book and provide feedback, specifically asking if there was anything she felt was missing from the criteria for the next level.
Reaching out for this mentorship was so helpful because I was lucky enough that my mentor even shared what salary increase and bonus she received when she was promoted from my level so that I could make sure I was getting fair pay. As a Black woman in engineering, equal pay is something extremely important to me. I am thankful to have had her guidance and transparency to help me advocate for myself!
7) Solicit timely feedback from your peers (and make the process as easy for them as possible!)
I’ve had the pleasure of working with a few different product managers and designers, some on very small one-off tasks or tiny features. However, even if I worked with someone in a limited capacity, I’d always request feedback. You can leverage any internal tools that your company may provide access to, or send out an anonymous Google form.
Whatever tool you use, I recommend making this process as simple as possible. Remember your peers are busy, and the less resistance they feel to doing this task for you, the more likely they are to do it quickly! You can make it easy by requesting feedback within a month of working on a project or task with them, so they can easily remember examples. The more specific the feedback, positive or constructive, the more helpful it will be for you. You can also send over a mini version of your list of contributions to any folks giving feedback on you in case they want to reference specific features/tasks. Remember - make it easy on them!
8) Bring visibility to your work.
Doing great work won’t really matter if no one knows about it. Take advantage of opportunities to demo your work to your broader team, talk about your projects and successes with your colleagues, and share your contributions regularly with your manager. Don’t let all your hard work go unnoticed!
These recommendations are all my opinions on things you can do to make promotion more of a no-brainer for whoever will be evaluating you. My overall advice, however, would be this — understand that promotions are decided by people, and people are imperfect. Therefore, try to stack the odds in your favor as much as possible by being over-prepared!
I hope this post was helpful. Please share and leave a comment if anything resonates with you.