This is a guest post from Sarah Harvey. Enjoy.
Dear new developer,
I’ve given this sort of pep talk to a bunch of newly joined women at Square, to the point where I’ve just decided to sit down and write all that stuff in one document. I’ll add a disclaimer that this is very engineering-focused, and may not apply to all other companies, but I think whether or not some of these things apply is indicative of the maturity level of HR/promotion processes at a company. With that said, let’s dive in.
The typical (but not only) background is for folks to come straight from an undergraduate program. Often this is their first full-time job, or first full-time job in tech, so it is critical to set expectations and guidance from the very start:
Know your current level
What level were you hired at? This should be easy to figure out through your HR portal. Sometimes this level is public to the whole company, sometimes it’s not. There is nothing preventing you from discussing your level with others. Your level defines your salary band and official title, which may or may not be also present in said HR portal.
Knowing where you are in your salary band is a generally good indicator of what the company initially expects of you. Lower in the band probably means you’re early in the level; mid-point means you’re performing on average; high in the band means they probably expect you to level up soon.
Titles are superfluous within a company, but are important for gaining a different job outside of the company. Titles may also be affected with ladders/tiers, and so if there is a slight difference between your title and your coworker’s title, you are likely on different ladders. Asking HR what these mean is always a good idea.
Find your career ladder document
A mature company should have career ladder documents and expectations for each level clearly posted, e.g. like Square has. Once you know your level, it’s important to take a look at what the expectations are at your current level, and then what the expectations are at your next level. Many tech companies declare that they will promote you once you have demonstrated that you are performing at the next level. The way to meet those next level expectations is to then seek out opportunities that will allow you to demonstrate those skills.
Promotions aren’t automatic
I think the most intimidating thing for folks who’ve never gone through a promotion process before, is figuring out when the right time to ask for a promotion is. If you are conflict-averse but a hard worker, you may happen to have a really good manager who just files a promotion for you with very little work on your part. Unfortunately this may make it harder to figure out when the right time for a promotion is later on!
Unsurprisingly, different companies will have different paths for the employee who seeks a promotion. Some require the employee to put together the packet and present it to the manager who will forward it on. Others require the manager to put together the packet and forward it on. Yet even others might be extremely informal about the process. In all these cases, there’s generally a review panel, whether org-specific or company-wide, that will discuss review all the packets and approve who gets a promotion.
There are multiple reasons why, in a steady-state, you may not “automatically” get a promotion. Your manager may be overworked, distracted, new, dealing with other situations and is simply forgetting about how promotions are important. It may be your manager hasn’t seen enough evidence from you and doesn’t feel confident about your case. It may be there are other more critically needed promotion packets that demand their attention.
In any of these cases, even if your manager is fully supportive of your case for promotion, you should assume that your manager doesn’t have 100% visibility to your work. Doing some upfront work whether it be familiarizing yourself with the promotion process, making a hype doc, or otherwise documenting clear evidence that supports traits for level+1, will all make your manager extremely grateful during the promo period.
Speaking about visibility…
I mentioned that there may be multiple reasons why your manager doesn’t feel they have seen enough evidence. A large chunk of that is visibility of not just accomplishments, but also problems of the employee. A good manager wants to know about both wins and struggles from the employee so that they can figure out how to make the situation better/provide advice.
One of the analogies I’ve made to several managers about their work is that they’re effectively playing a Real-Time Strategy game, e.g. say Starcraft. Their day-to-day is to figure out where the logistical and management problems are, solve those, to ensure they have efficient output. They are less concerned about the fact that they are out of Vespene gas, and more concerned about why they are out of it, what is the rate of Vespene gas usage, why was it drained suddenly, and how can they ensure that rate of use is consistent so they don’t run out again. In a game it’s easy to get visibility because lots of things show rates and metrics; in the real world, they have to rely on their reports being effective communicators of potential problems before they become actual problems.
I should add also that whenever I’ve made this analogy, a lot of managers chuckle and strongly agree.
Speaking about problems…
Complaining about potential problems is okay; understanding, dissecting, and explaining how problems are affecting your work/timeline/time estimates is even better. The technique to becoming a senior engineer is not just solving harder/more complex problems; it’s being able to understand tradeoffs, potential risks to the project, and outlining possible solution avenues, ahead of time of roadblocks. This is something that only comes with practice and diligence. Coupled with effective communication, and now your manager feels confident enough to defer to you and be hands-off because you have control over the situation.
Becoming senior is becoming your own manager
There’s a reason why senior engineers often transition to full-time management, and it’s because of the assumption that they have been already doing this really well for their projects. (Whether they are actually ready to go into management is another question for another day). There is the implicit expectation that senior engineers are also good at project management, and this is often recorded as explicit line items in leveling documents, such as leading a team, facilitating discussion, estimating risk, being able to break down a large task into smaller tasks, etc. You will likely not succeed in a senior+ capacity if you do not take on rudimentary project management skills.
Write things down
It is hard to do things like, promotion evidence, project planning, root-cause analysis, trade-off analysis, etc. if things aren’t written down. The higher you go, the more complex problems become, and the easier it becomes to forget decisions made in Slack or verbally. Becoming an effective worker in tech really involves becoming an effective communicator, at the very least in a written medium. (There’s also a good reason to become an effective oral communicator, but I argue doing it in written form should be done first…. even though I’m personally not actually good at this). When things are written down, you spend less time rehashing decisions, and less time spinning wheels, and more time actually executing.
It may seem extremely daunting to figure out how to get to senior+ when you have just graduated from school. Start simple and easy; comment on design documents and code review by asking questions (asking questions is a good exercise in forces the author to re-explain, and if you can’t understand what they’re writing, you’re probably not the only one); question assumptions, especially to dig out historical decisions, thinking, or libraries; trust your manager/team when they give you a larger-ish project, and remember that executing a project is never a singular effort, but a team one, so leverage your team. Finally feel free to propose crazy ideas; sometimes people haven’t literally thought about that option, because the older you get, the crustier you get.
Once you get into the flow of things, I guarantee things will start falling into place.
Just about everyone feels terrified in their first year at a workplace. This is a normal feeling. It will go away as you build confidence. Take note of other new hires that are senior, and watch as they make the same mistakes as you. The best senior hires are those who are honest upfront about how they don’t know everything, but are willing to learn with you and listen to you.
Good luck!!! and onward!!!
This post was originally published here.
Sarah Harvey is a senior manager at Shopify. She leads all of infrastructure security. You can find her on Twitter.