Profile picture

Promotion Q&A and Videos

About Promotion

What type of environment allows fast career jumps?

Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro Community

I was wondering if you need to be part of a specific type of environment in order to make quick jumps in your career? Like to get promoted to senior level in 2 years.

I was asking because from my experience, there seems to be an invisible social hierarchy in every work place. Other people in the team may not allow me to make these jumps since this kind of anomaly will break the social hierarchy:

  • There is project specific information, in absence of really god wikis you have to rely on the peers in the team to provide you such information (like how are specific parts in a service working, or how is an obscure internal tool working etc). From what I see, often times they will provide small chunks of information, as much as you need to do your task, but small enough such that they still have the information and you depend on them (probably a measure to prevent others from replacing them).
  • Envy might appear between other senior folks if you progress quicker than them and might start to backstab you (For example, you need some information from them about a piece of code they wrote in order to progress, but they might do the knowledge transfer in such a way that it looks like they told you what you need to know, but in reality you got nothing; or might tell you to go debug to figure out how is something working, and you can spend days debugging modules when it would've been an 1 hour stretch if they simply told you or there was any wiki).
  • Manager might not want to give you extra money and compensate at your true value.
  • If you work too much, or too hard there's going to be problems withe the peers, because you increase the bar and kind of force them to work harder too.

I was asking these things, because I was wondering if I got anything wrong about these fast jumps or in general that I have a broken view about work. My first professional experience was an internship at a big tech and when got there the seniors told me that I have the same knowledge as a senior engineer, but best they could do was another internship next year (still in college).

Show more
Posted 9 months ago
153 Views
2 Comments

Should I join an important project with difficult team mates or a not so important project with great team mates?

Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro Community

I was lucky to join a very competent and lovely platform team when I joined my current company. I have been working in the same team for 18 months but due to re-orgs people have moved out and we are currently 3 people and we were 9 people when we started out.

We have been doing mostly maintenance work for the past 3 months after re-orgs and recently we were given a choice to work on two projects.

There is one project, lets call it Project Hero which my skip level manager wants me to join. I would be the main PIC for this project and it will involve a lot of integration work and system design. This project is with new team mates and a new manager with whom I have not worked but they don't have the best reputation. However, going by FAANG level, they should be good enough to get the job done. Only downside is work-life balance might be skewed if I join here. However, if the project is a success, it sets me up for Senior level promotion.

There is another project, lets call it Project Nero. This will be with my existing team but from a company perspective, it's not a very important project. But I will be working with my existing team mates who are both capable of delivering a solid project and a joy to work with. However, my work here will be overshadowed by other Senior engineers on the project.

Which project should I join? I personally want to do Project Hero but not with the people present there. Also it will be challenging.
Project Nero will be challenging also but more up my comfort zone.
Given the current economic climate, I feel being in more important teams will help keep my job.

Show more
Posted a year ago
138 Views
3 Comments

How do I turn SWE roles behaviors/descriptions into concrete actions in a startup environment?

Entry-Level Software Engineer at Series B Startup profile pic
Entry-Level Software Engineer at Series B Startup

Question: "For being promoted from SWE I to SWE II, how do I take the behaviors my company has associated with each role (below) and make that more concrete for a growth plan, taking into account the changing & flexible timelines startups have?"

For context, I already have weekly one-on-ones with my manager (who is new at being a manager & is also my mentor), and a growth plan (that I created with him) that roughly outlines (meets most expectations, meets expectations and exceeds expectations for my role). Additionally, keep in mind I work at a startup w/ <30 people so highly specific concrete goals set on a particular date can change in 2-3 weeks as priorities change. Also, my company has defined a series of behaviors as to what each SWE level should be able to accomplish. Here it is.

Software Engineer I (<1 year - 2 years)

  • Technical Skill
    • Broad knowledge of CS concepts
    • Focus on growing as an engineer, learning existing tools, resources, and processes
  • Getting Stuff Done
    • Develops their productivity skills by learning source control, editors, the build system and other tools as well as testing best practices.
    • Capable of taking well-defined sub-tasks and completing these tasks
  • Impact
    • Developing knowledge of a single component of our architecture
  • Communication & Leadership
    • Effective in communicating status to the team
    • Exhibits company’s core values, focuses on understanding and living these values
    • Accepts feedback graciously and learns from everything they do

Software Engineer II (2-6Years+)

  • Technical Skill
    • Writes correct and clean code with guidance; consistently fellows stated best practices
    • Participates in technical design of features with guidance
    • Rarely makes the same mistake twice, begins to focus on attaining expertise in one or more areas(eg. embedded , testing, algorithm, support code, commlink).
    • Learns quickly and makes steady progress without the need for constant significant feedback from more senior engineers.
  • Getting Stuff Done
    • Makes steady progress on tasks; knows when to ask for help in order to get themselves unblocked.
    • Able to own small-to-medium features from technical design through completion.
    • Capable of prioritizing tasks; avoids getting caught up in unimportant details and endless “bikeshedding”.
  • Impact
    • Self-sufficient in at least one large area of the codebase with a high-level understanding of other components
    • Capable of providing on-call support for their area including systems that they are not familiar with.
  • Communication & Leadership
    • Gives timely, helpful feedback to peers and managers
    • Communicates assumptions and gets clarification on tasks up front to minimize the need for rework.
    • Solicits feedback from others and is eager to find ways to improve
    • Understands how their work fits into the larger project and identifies problems with requirements.
Show more
Posted 2 years ago
133 Views
1 Comment

Should I switch teams if I am really early on in my career?

Entry-Level Software Engineer [SDE 1] at Amazon profile pic
Entry-Level Software Engineer [SDE 1] at Amazon

Background:

I interned on my current team last summer and returned full-time at the beginning of this year. I've been performing well and have a great relationship with my co-workers, manager, and skip manager.

However, I'm not satisfied with the level of engineering in the org as a whole. Specifically, our service does not operate at a high scale and thus the engineering constraints are very relaxed. It feels like we can get away with making poor decisions and I often think that I am not learning good engineering principles by being here. It also feels like my peers are not that ambitious or passionate about engineering which makes me feel like I don't fit in at times. As a result, I'm looking to change teams even though I am only ~6.5 months into my career.

I recently did an internal loop with another team that does very interesting work with high-scale and low-latency services. The interviews went well and I was given the transfer offer. I think my mind is mostly made up on joining the new team, but just wanted to ping-pong my situation with the Taro community as a sanity check on whether I am making the right choice.

I'm aware that switching teams is essentially a "soft reset" on my promo timeline. I have a lot of substantial work artifacts from my current team such as: code reviews for important feature work and docs that contributed heavily to the service we just launched.

I'm okay with taking a hit to my promo timeline because in my mind, if I zoom out and view my career as a 30-40 year span, it won't really matter whether I got promoted from new grad engineer in 1.5 years or 2.5 years.

What does the Taro community think of my situation? Am I thinking about this in the right way? I tried to keep some details vague as to not speak too negatively on my current team in a public forum. But I'm happy to provide more details to the best of my ability!

Show more
Posted 4 months ago
114 Views
3 Comments