Career and opportunities

Obligatory disclaimer: I cannot speak for other fields, but it does seem that a lot of these aspects are common among them. But this is just a snippet of what I have observed in big tech, sample size of me and a lot of my friends, peers and colleagues.

I take pride in having career goals and working towards them. Anything from: I want to be a senior in X years, I want to be a principal in Y years to I want to have achieved some measurable impact within my Z months/years on the team. Goals can be big, ideally objective, but they can be subjective, chase what you want, we are not talking about “good” or “bad” goals here, goals are goals.

For me, they are milestones in life. I track them not only for my career, but my life in general, my hobbies, my side hustles: everything. They inspire me, so I chase them. This is a wild tangent, so let's get back to the topic of my passion of career growth.

As I have been building habits, targeting smaller deliverables, in order I meet the next milestone in my career progression, I discovered something: career growth has very, very little to do with you or your capability, it has way more to do with opportunities you get.

Let's start with a simple example: imagine you are at a startup. Everything moves fast, new components need to be built every week! You are a junior on the team, you have been on the team only for a few months but your product scope is quite small. Things need to be built, they are complicated, but with your coding expertise and context of the system, your team trusts you to build a new component. You deliver, you get a point. You gather enough of these points you graduate to the next level in your career. You have built both big and small solutions due to the rate at which these opportunities come to the team. It doesn't matter if they weren't built right, or if it might do more damage due to an oversight in the design. You already have the points and a couple of years down the line no one will remember it was your faults things are broken.

Now imagine working on a bigger company. You work on an established system that is used by customers, a lot of them. There isn't much bandwidth to build more things as you are constantly focused on improving your service operationally. These changes are not as sexy, they can take weeks of investigation trying to gather context around your own service because of its complexity; and result in three lines of code or config change. They may be more technically complicated but they don't seem that way, because at the end the presentation of your contribution is those three lines of change, which sometimes don't have direct metrics with them since them being part of a bigger change. Before you know it, you have been on the team for a couple of years and you haven't written a single design doc. When asked about your contribution, you know that you objectively improved the quality of service you provide to your customers, but these are small changes here and there that are not easily presentable. You may be asked, “Have you designed a complicated system or component?” and your answer being “No but I have operationally improved our system through blah blah” does not sound that sexy. A manager whose team is relatively new starts bragging about their recent report's promotion, talking about how so and so wrote this new system that does something big for their service of a few thousands of lines. Upper management is impressed. Working on a newer team/product is similar to working on a startup. You get to work on “exciting” and “sexy” features that are presentable. It doesn't matter how much talent is required, it matters how presentable the end result is.

I have seen a culture in these places: everything is opportunity driven. How good you are does not matter at all after a certain point. If you find yourself on a team that builds products for large number of customers, you may find yourself in a similar situation. Opportunities for presentable contributions will not show up often, and when they do you have to compete against your peers who are also trying to get promoted. Here are some things I have learned the hard way I wish someone told me before:

  1. Record and document everything you do. No matter how small. Don't get trapped by thinking your contribution is small, think about the big picture that your solution contributes to and frame your document in a way to capture and present that eloquently.
  2. Be aggressive in taking credits. In the past I have been personally hurt by this, when I was too shy to present my work and one of my peers who I worked with presented it to get the recognition instead of me
  3. Proactively seek out opportunities. Don't wait for your manager to say you are ready, if you think you are ready, ask for it. If a manager/team fails to meet your timeline, consider finding a different job/team/manager.
  4. Understand the criteria for the next level of your career growth, in your organization/department or the larger company. You will encounter managers who don't understand these differences and think your contributions are not enough, not every manager has worked on a real customer facing product. Make sure your manager recognizes the work that you did and fights against these other managers who only consider “sexy” changes as next-level.

To stay up to date, be sure to follow on the fediverse!

My social links: