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.

How do I advance from Software Engineering to Product?

Mid-Level Software Engineer at Mastercard profile pic
Mid-Level Software Engineer at Mastercard

Hello,

This platform is awesome and I've been looking at a bunch of resources for career advancement. One aspect that strikes me is to play into my strength. While I do enjoy coding (only if it's front-end or mobile -- visual stuff!), it's not my strength or something I will really do outside my job. I do love being in any conversations that involve innovative features for our customers, making our product more modern aesthetically, or questioning the features we do have. The idea of being a staff/lead/principle engineer keeping up with latest angular features or being on call outside job hours to fix some server or UI issues come up isn't really appealing. But I do want to grow. I want the chance to mentor people, influence a project, be in cahoots with people who make decisions about what we want to create, be close with customers, etc. I love the design (UX) aspect as well.

If I stay as I am, I know I will slowly grow linearly in this software engineer role. I do think I will get the senior developer role next year. But most folks who have a C-suite role in product or beyond seem to have an MBA but I am not sure if that's a valid move nowadays. I am taking a couple of tiny PM projects but outside that, what can I do to have the best chance of landing a C-suite role later in my career and making an impact beyond coding?

Looking forward to your replies!

Show more
Posted 2 years ago
1.6K Views
5 Comments

Dealing with career setback at Meta & fears about AI future - need advice

Mid-Level Software Engineer [E4] at Meta profile pic
Mid-Level Software Engineer [E4] at Meta

Started at Meta London as a mid-level engineer back in 2020. Put in everything I had, but stayed stuck at the same level despite trying for promotion every cycle. Made it through several re-orgs and manager changes, always thinking "next time will be different."

Never quite found my groove there. I know I'm a solid engineer, but between team circumstances and a poor fit with the product side, I couldn't land those "exceeds expectations" ratings needed for promotion. Now they're laying me off with a "below expectations" rating, which might block me from ever working at Meta again.

This hits hard. Really hard. I poured years of my life into this job, burned through my health both mentally and physically. Now I'm watching everyone talk about this massive AI revolution coming for tech jobs, while London tech salaries are already pretty rough, and I've just lost my position at one of the few companies that paid well here.

I've landed another job to keep the lights on (again, I can code), but it's clearly not somewhere I'll grow much. Being in my 30s and having to rebuild from scratch is scary enough - add in the AI uncertainty and it feels even worse. That "below expectations" rating from Meta feels like a brand I can't shake off.

How do you bounce back when you've had a shot at the big leagues and it didn't work out? When you have to start over but you're not fresh out of college anymore? Some days it feels like everyone's judging me for not making it.

Looking for any advice from folks who've been through something similar or found their way and succeeded even better after a major career setback.

Show more
Posted 2 months ago
1.5K Views
4 Comments

Feedback that I'm underperforming for my level. Is this PIP? What now?

Mid-Level Software Engineer [L4] at Taro Community profile pic
Mid-Level Software Engineer [L4] at Taro Community

I was hired as a mid-level engineer, but I'm performing at the level below it. I had about a year and a half of experience coming into my company but didn't get much from it due to multiple re-orgs. In hindsight, I was a poor hire for my role and have felt this way the entire time. I am not interested in the niche and motivation is a struggle at times. I stayed because the team was really strong and I thought I could focus on the coding and grow technically. That was a mistake.

Fast forward a year and a half later (now), my manager tells me informally that my delivery is ok, but the way I go about my work needs improvement and I'm not growing, so I am performing at a level below. I need a lot of help from other engineers. And that I need fewer comments on my diffs and to do more research on problems because I'm not problem-solving well enough to be at my level. He's completely right. The team is full of high-performers and I know that I'm doing poorly by comparison. But I'm already consistently overworking into the evening and weekends.

I'm also hitting the limit with my mental health. I am putting in effort, but am being told it's not enough. For example, I spend some time understanding X and think I understand it, but teammate questions me in a way that makes me apply that knowledge and I realize my understanding is not so good or I did not think about it that way, so I am ashamed because I have spent a lot of time working on the task, but have failed to deep dive into this part. Or my teammate asks me for my thoughts on how to make something better, but nothing really comes to mind. How do I work on this behavior?

Some other questions:

  • Is this a sign to leave my team or company? And the profession? Despite my best efforts, I'm disappointing my team and it's taking a toll.
  • I haven't been served a PIP yet, but is this a sign that it's coming?
  • Naive take, but is it a bad idea/even possible to ask for a downlevel? The reasoning was that I'd rather keep my job than lose it.
  • Any advice?
Show more
Posted a year ago
1.3K Views
10 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