Hello,
As the title says, I’m stuck as an entry level engineer in FAANG for almost 4 years now. I’ve been reflecting on what I’m doing wrong.
My first company I worked for 1 year and didn’t not like it because the lack of mentorship. I joined and my questions never got answered, the tech lead didn’t really care about giving mentorship, just gave me links and bug IDs. I was able to survive for 1 year but I left the company because I felt so lost. My manager mentioned that I was “on track” to getting promoted but I hated the culture.
Then worked for 1.9 years on another company, where I received awards for my projects and contributions. I did receive mentorship here, but I was not able to get promoted. At the end of the timeline my manager mentioned I was moving slower and slower. I was working as a full stack and I believe my error here was not playing my strengths, since every time I had to take another project it would be on a different area, such as server on a language I never used before. I had a few discussions with my tech lead and I felt I lost my team trust because they would give a lot of comments, and just get a lot feedback from other people. This kinda demoralized me and made it hard to keep working so I changed teams. My last team I worked for 8 months before getting laid off. Here I also received recognition for my projects. My first project I missed the deadline because the onboarding had nothing to do with my project. I integrated our tool with an external team, so most of the code base I worked was not even ours (the techlead and team didn’t have much knowledge). Then I was given another project where I was starting to get traction, onboarding and project matched, I had to ramp up again on the new tech stack and my manager was getting frustrated with me, my team was very helpful and I was slowly to become independent. I feel like people trusted me here and code reviews would go smooth this time, at the end I was finally getting positive feedback, but was affected by the layoffs. From reflecting, here is what I did wrong:
Not communicating well enough my work with my managers. Status updates I was blocked/learning and that would make me look slow.
Not very good mentorship, I feel like at the beginning I needed lots of 1:1 to be able to learn our teams codebase. Sometimes I got very good mentorship but not complete. So I learned well parts of the code base where the tech stack applied.
Switching projects too much, went from front end, full stack, server side with several languages. Every time I had to re learn a lot of new of the tech stack.
I did get several recognitions for my contribution with at least helps me think I’m not completely inadequate for the field.
I am looking for a new position, is there anything that could help me perform well as a mid engineer?
Thanks
Here's some additional resources around the reflections you had.
Something I want to call out here is that it's tricky to find a dedicated mentor within the workplace - There aren't that many software engineers who want to mentor others and there are even fewer who are actually good at it.
Sorry to hear about the layoff and the very rocky career journey you have had. I think your reflections are more or less spot on, and that self-awareness is the first step towards improving. From reading this question, I very much think that you could make the software industry work for you!
I am looking for a new position, is there anything that could help me perform well as a mid engineer?
When it comes to the junior -> mid-level transition, I think our deep-dive around how to become a "code machine" will be the most impactful: [Masterclass] How To Write Better Code Faster As A Software Engineer
To better understand what a competent mid-level software engineer looks like, I recommend these: