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.

First time working on a project with non technical work as well.

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

I'm starting an API migration project due to a licensing issue and am the primary point of contact for stakeholders.

I earned this responsibility by building a relationship with the downstream legacy team and leveraging their solution with ours, using our framework in a novel way. My manager quote said “not that you can you should own the xfn”.

This is my first time doing non-technical work. Here’s what I've done so far:

  • Created a step-by-step plan and design document, captured requirements with due dates, and integrated tasks into Agile sprints.
  • Maintain a living document for future technical challenges, and note taking for all steps I outlined.
  • Outlined the battle plan to the po, my manager, and the senior engineer who all gave sign off.
  • Plan to give updates and assist with troubleshooting for client teams.
  • Set a goal to thoroughly test the solution, ensuring an adequate test suite is in place, aiming for it to work on the first try.

Questions:

  • For cross-functional alignment, what steps should I take for communication and updates? We have a Slack group with all clients. If there’s a communication template that worked well for similar projects, it would be helpful.
  • If there was one thing you'd challenge me to do in my execution of this project, what would it be? For context, I’m probably mid-level with an interest in learning how to grow.
Show more
80 Views
5 Comments

Beginning my journey to learn senior behaviors

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

So I’m the same person who asked how to compare faang experience to non faang and I’m taking the advice to develop the senior behaviors. Again the idea is let’s work on this and as the lagging indicator I’ll be ready for the e4 offer at faang, a senior promotion or the stretch e5 offer when I interview with faang companies at some point.

So I think I have a plan in mind.

For the 2 projects I’ve effectively got buy in from my manager to own end to end.

One of them is just a large volume of coding that basically gave my manager confidence I can craft lower level requirements and cross check my research on the requirements to deliver independently and hold meetings with the po and work with him to confirm my research on the production data. The other I will explain below.

His advice when I talked to him in my 1:1 after expressing the desire to learn senior skills was to effectively deliver “here’s the problem here’s the xfn, go”. But is that senior or mid level? I’d imagine this is borderline and if I’m doing this I guess execution has to be flawless. But I think the goal is to go further. I hear the key bit is having that multiplicative project under your belt and think about how to make the space better every year.

My proposed path to learn senior behaviors:

Basically I have an api migration project which involved technically complex ways of using the internals of a framework to connect to a mandatory interface for the company. I effectively figured the tech on my own and built the partnership with the senior engineer on the xfn team who I’m connecting to without my manager connecting us. It made me look good to everyone and I plan on trying to grow my scope from mid level to senior by coordinating the url switch for the clients who use it I believe there are 4 teams.

my multiplicative project in mind is to make data translation and data correlation in a streaming environment config driven so our dev work goes down by like a significant percentage. It’s a pain im seeing . I imagine there might be some complexity involved in managing this. My po mentioned that the skip wants something like this and I’m leveraging work that I seen be a huge hit at my previous company to base my execution off of. Again this is super early, so I’m just checking if my idea is good even though I get that it’s 1% of the journey since execution is the 99% that’s gonna count.

I hope this plan is gonna count, any tips to begin this journey will help.

Show more
103 Views
8 Comments

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

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

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

  1. What's the best way to deal with nit suggestions from people above you?
  2. What's the best way to deal with nit suggestions from your peers?
  3. What's the best way to deal with nit suggestions from people lower than you?
Show more
53 Views
3 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