Profile picture

Mid-level Engineer Career Development Videos, Forum, and Q&A

How A Mid-level Engineer Can Grow Their Career

Mid-level engineers have very strong technical proficiency, able to execute on small to medium-sized projects with minimal hand-holding, leveling up from junior engineers.

Entry-Level Software Engineer at Taro Community profile pic
Entry-Level Software Engineer at Taro CommunityPosted March 23, 2025

L3 to L4 @ FAANG: Jump or Grind?

Hi all, hope you're all doing well! TLDR: Is it possible to get promoted from L3 to L4 by changing FAANG companies? Context: Currently 1.3YOE Exp as FAANG SWE at L3/fresh graduate Level 9 months of prior experience as a graduate SWE at a non-FAANG company Work Environment Extremely high workload+stress: 60-85+ hours per week (everyone on the team works these hours so it's not a question of my inefficiency) Consistent weekend work required to meet deadlines Unrealistic expectations, tight estimations and tighter deadlines. Management unwilling to adjust timelines or provide additional resources - results in employees working on sick leave, solving user issues on PTO etc. No senior engineers in my team working within 40 hr/wk, I say this to paint the picture of the working env for people who are 'well settled' into the job. I'd go on but hope this gives an idea. My Performance Exceeds expectations in all categories. Gained significant experience due to the high project throughput. Taking ownership of multiple features. Go-to person for user issues related to certain features. System design experience for small to mid-sized projects. Questions/Concerns: Is promo from L3 -> L4 in FAANG by moving companies, even possible? What should I say if the recruiter asks me for my current job level? - I don't want to be down-levelled if I disclose my current L3 level. - However, I don't want to be dishonest either. What if a recruiter reaches out to my current company to ask about my level? What parts of my experience can I highlight to show I'm performing at the L4 level? Closing thoughts: By the time I prep for interviews and likely land a job I'll probably have 1.7yrs of FAANG exp (L3) and 9 months of non FAANG exp. Hopefully, this is enough for a L4 promo. Ideally, I don't want to grind my health down for a promo. Any help would be greatly appreciated. Awesome platform by the way, it's really helped in my career development and I can't express how grateful I am for Taro :)

54 Views
4 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted May 10, 2024

As an early career engineer, what's the best way to deal with nit suggestions?

When I first joined the workplace, I used to push back on lots of nitpicky suggestions, just like how my suggestions were pushed back by peers who joined with me. I then switched teams and learned my lesson: to shut up and follow orders. Things were going well. Today, there's a small nitpicky suggestion that makes me feel unhappy once again. The suggestion is about a diagram. I think it's clear enough to have one diagram where newly proposed components are colored and existing components are uncolored. He thinks having separate diagrams for the existing state and the new state is clearer. That guy looks like he's moving to a senior level, so I'm better off having a good relationship with him. He sometimes seems to be a nice guy and listens to ideas. I feel he is not that smart when it comes to coding and has difficulties understanding templates. His coding is not stellar. He is not a coding role model, but I actually learn soft skills from him. Do I just need to accept that people are not equal in the workplace, right? It's a power struggle. Sometimes nitpicky suggestions feel like microaggressions and asserting dominance. I rarely see him make nitpicky suggestions to leadership. What's your approach to nitpicky suggestions? Maybe the question could be split into 3 parts What's the best way to deal with nit suggestions from people above you? What's the best way to deal with nit suggestions from your peers? What's the best way to deal with nit suggestions from people lower than you?

53 Views
3 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted December 12, 2024

I'm experiencing unfair treatment - Is going to HR a good idea?

Hi, I've been receiving unfair remarks and treatment from my manager. Apparently he has decided I'm "underperforming" because he noticed I show up a few minutes late to meetings and don't post enough on Slack. I've also had two of my 2 tasks delayed, missing deadlines. He has suggested "monitoring" me twice a week, as in having two 1:1 meetings with him - going through my task list on Monday and again through it on Friday. I find this suspicious because I'm already tracking everything I do within the project's task tracker together with other colleagues on this project and we have 2 weekly meetings with progress made on every task where he's also invited to attend. The overview has always been there for him and I've always documented my work. His remarks also go beyond the professional realm, calling me out as "too emotional", can I mention this to HR or is it not a good idea? This is the way he conducted the performance review as well, making statements like these that were not documented on paper. (I went to my skip manager to report him and did not believe me either that he made such remarks) Thought about going to HR and presenting my version of the story, as I find his accusation/statements of not performing ridiculous. He is producing unnecessary stress which is counterproductive to me performing the tasks efficiently. What do you think? Has this ever happened to you? What's the best way of defending yourself in this situation or how could I best protect myself? Could this get even worse?

53 Views
3 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted July 8, 2024

How fast should you be able to work if you properly follow all the taro advice around code quality and velocity?

My main worry is if I’m moving too slow but I’ve observed that once I come up with a plan of action in my project and break it down I can move at a jogging type pace and submit one individual piece every day. And still look fine to my peers and like not feel exhausted every day. Even with the coding fluency. Since I’ve worked with off the shelf open source stuff for a bit so I’ve noticed once I know how to get stuff to work (past boilerplate land) the real edge case work usually gets straightforward (avoid npe serialization errors or index) in your single pieces of atomic work and if there’s a more complicated edge case you just handle that separately. My main concern is if this behavior is fine if ur a mid level. Each day in my daily work I just front load my overarching plan and the one piece I am supposed to do today per my plan and just communicate that accordingly. Also sometimes I am not perfect but I find myself catching silly errors before people notice them but I just don’t tell people I’m done and do it in a safe way like test in staging. Is it supposed to feel like I’m doing small pieces that add up over time with this practice? I might be wrongfully thinking every day with software I should be treating it like an intense workout instead of a slow jog with sprint bursts when the problem gets hard. for example there are code changes that can be refactoring but a common use case for refactoring code is finding duplicate code but that’s inherently easier than performance tuning concurrency or shifting focus in a unfamiliar domain which might take a extra day or two to familiarize yourself with the project. My behavior would be to set expectations with people around me and give a plan to others so I don’t get overwhelmed thinking I need to work late to deliver on these seemingly harder projects at the same pace I deliver the easier high volume projects. Is this the behavior you’re expecting of me at mid level? Im sorry but I’m just feeling icky that sometimes behavior over output also means reaping spoils of doing more with less work even at the execution level

51 Views
1 Comment
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted April 2, 2025

Focus on Growth or Job change

I’m at a crossroads in my career at a startup where I’ve grown from an intern to a respected full-time employee with 1.5 years of experience. I currently enjoy excellent pay (15-20% above FAANG standards), strong peer relationships, and the freedom to choose my projects. However, I’m facing two major challenges: Management Issues: My manager lacks both technical and soft skills, which not only hinders efficient work but also shifts the focus from delivering real value to navigating office politics. This environment has lowered the overall motivation among my peers. Lack of Mentorship: There’s no senior leader available from whom I can learn and grow professionally. Given these issues, I’m considering two potential paths: Path 1: Stay at my current company, continue adding value, and leverage my strong internal reputation despite the challenges with management and mentorship. Path 2: Switch jobs to work under better management and in an environment with more mentorship, even though this would require me to spend significant time improving my interviewing skills and risking the loss of my established relationships. P.S I'm very poor at interviewing and estimate that preparing to secure a comparable role matching my current compensation could take 4–6 months of full-time effort. This extensive prep time would temporarily reduce the value I provide to my current team, which concerns me. There is no chance to switch internally. We have just one team. Which path should I choose, considering the growth opportunities and the potential drawbacks?

51 Views
2 Comments

Learn About Mid-level Engineer

A mid-level software engineer has all of the foundational technical skills, industry knowledge, and practical experience that allows them to contribute to software projects. They can collaborate with cross-functional teams, handle complex tasks, and demonstrate a deep understanding of the technologies they work with.
A mid-level software engineer can demonstrate a certain level of technical proficiency and independence. They should be able to handle most bugs without needing constant guidance. They should also be able to independently implement features with medium complexity. It is the level where one becomes less reactive and more proactive. Proactivity means anticipating where bugs may show up as well as suggesting improvements in the codebase. They should have a high standard of code quality and high velocity of code velocity.
The journey from a junior to a mid-level engineer is a significant step in one’s career. It’s important to focus on developing the skills necessary for the next level. This shift involves being able to write code to being able to write better code faster. One should be able to understand systems, plan out projects, meet deadlines, and occasionally function as a lead to make the transition. They should also be improving their communication skills during this period and seek feedback on their work from more experienced software engineers.
The transition from a mid-level engineer to a senior engineer involves a deeper mastery of technical skills, leadership capabilities, and a complete understanding of the software development lifecycle. Senior engineers are responsible for making high-level architectural decisions, guide the technical direction of a project, and mentor junior and mid-level team members. Collaborate with your manager to develop a formal growth plan. Take the initiative to write the document yourself and discuss it with your manager. One should be able to recognize gaps that a mid-level engineer has so they can improve them: writing more code rather than reviewing code, not being available to help out during big incidents, or only dealing with one’s own code. By focusing on these issues, you will be able to exert your influence more broadly across your team and company. You should also consider mentoring some of the more junior members on your team to help them grow and develop their skills.
The journey from a junior engineer to a mid-level engineer or a mid-level engineer to a senior engineer involves a continuous process of learning and refining one’s technical, communication, and leadership abilities. One should strive to have more and more impact and influence across their company to have a successful career progression.
Show more