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:
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).
You want to look for the following:
It's not easy to identify and find environments like this though. As a junior or mid-level, I think outputting lots of high quality code and holding a mental model of both the system you're working on and its business impact is going to be what gives you opportunities to join organizations that possess these traits. I would also learn to exemplify these qualities yourself despite not being surrounded by them.
I have some general thoughts on the "social hierarchy" you're calling out.
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
I don't think most people are worried about being replaced. I like to think people are willing to help as long as the ask is clear. A question like "Hey, could you give me a high level overview of how this system works?", especially coming from a place of curiosity or desire to move the team forward, should be welcome. Relying on other teammates to succeed is normal. This applies at all levels of employment. Actually, the higher you go, the more important it is.
Envy might appear between other senior folks if you progress quicker than them and might start to backstab you
If you're helping them as much as they are helping you (or perhaps you are helping them more) and you're helping the team accomplish large tasks and delivering impact where there is complexity and ambiguity, I think envy would likely be replaced with praise.
Manager might not want to give you extra money and compensate at your true value.
It is within a company's incentives to hire you at the lowest rate to get the highest returns just like one would try to get the best deal for something they're buying. At the same time, a company should get what they pay for so if you're worth more than you think they are compensating you, and the market is saying so, then it could be time to leave. Good companies like to pay top of band so they are able to build a great team. There's a balance though - top of band pay without accountability can also lead to employee entitlement.
It's worth pointing out that knowing how much your worth requires checking with the market's assessment of you. It otherwise can be a self-biased assessment which can lead to unfounded grumbling.
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.
This is more of a cultural fit issue. Different teams view work life balance differently. Some teams have delivered the crux of the impact they can, and are in maintenance mode, so working hard can be viewed as unnecessary. Other teams are in growth mode and there's a lot of work to do, so even though some people aren't working that hard, it's completely okay for others to work harder than they are. If your team is not working as hard as you'd like and peers are grumbling about how much work you're doing, it might be time to check out a different opportunity. There will definitely be companies that want your level of commitment.
Short answer: Go to Meta where you literally have to get promoted from mid-level (E4) to senior (E5) within 3 years or else you get fired. The problem here is that you have to get into Meta, which is extremely difficult.
Long answer: As Kevin wonderfully put it, there's a ton of factors in play that stem from the quality of your team (particularly the engineering manager) and the overall engineering organization that it's in. For mid-level to senior, you need a supportive engineering manager, a healthy supply of senior/staff teammates to learn from, and a good amount of scope. On top of that, you have to make massive mindset shifts, particularly with creating scope - I have met so many mid-level engineers who think they should be senior but they aren't actually ready yet as their mindset/behavior hasn't genuinely changed. Check out these resources to learn more: