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 can I scope out and vet a project idea to match senior competencies?

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

I have been making progress towards meeting senior level competencies. My manager is aligned and wants to put me up for promo at the end of the year. However, I’m looking for a third project in Q4 to really nail down my case. Additionally, I want to provide more impact and learn how to define new initiatives. I love creating “swim lanes” for my teammates and leading projects that grow their scope. How would you recommend:

  1. Coming up with a project idea
  2. Vetting the project to make sure it has enough scope for a senior level (or staff! I would love to provide more impact)
  3. Vetting the project to make sure it has enough impact for a senior level

I have a lot of ideas for step 1, but am struggling to choose which are appropriate to pursue. Previously, I built a reusable web component at a company wide scale, and am working with a cross org team who wants to use it. I am also working on a technically complex web authentication project that has potential to be used by other teams. Both of these project were scoped by me (with some guidance from my staff mentor) and my manager has communicated they are senior level projects. I have built good relationships with my teammates, our direct stakeholders, and several cross-org engineers. I’m also exceeding expectations at my current level, so there isn’t anything to worry about there. However, I feel like I’m hitting a wall and need to figure out the next project that will turn my promo case into a slam dunk. Any advice? I’m a frontend web engineer if that helps. :)

Show more
8 Views
1 Comment

Need career advice for a friend who is demotivated and feels stuck in his career

Senior Software Engineer [G4] at Taro Community profile pic
Senior Software Engineer [G4] at Taro Community

Context can be found below:

I am a 32-year-old engineer with 7 years of experience. For the past 5 years, I've been working at a startup that is around 10-12 years old and recently went public, serving as a mid-level backend engineer.

Despite my time at the company, I haven't seen much career growth. I received my first promotion after a year and a half, but nothing significant has happened since then. I'm feeling lost and unsure about my next steps. The work is unmotivating, and I feel like I'm not learning or growing. I'm constantly occupied with production issues, and my manager frequently cancels 1:1 meetings. Even though I receive positive feedback, I know I'm not fully utilizing my potential, which is troubling as my years of experience increase without meaningful progress.

Currently, I'm extremely demotivated and struggle to find the drive to work each day. I wake up feeling stuck and unhappy with my job. Although I get my monthly salary and perform my duties, I'm no longer passionate about my work. I have the knowledge and skills, but I just don't feel like contributing to this company anymore.

Can you help? I'm not happy with my current situation. I used to be a curious person, staying up all night coding and learning new things. However, for the past two years, I've been merely going through the motions at work. I want to regain my curiosity and sense of empowerment, so that when I go to bed each night, I feel excited about what I can achieve the next day.

Show more
12 Views
1 Comment

How to add depth to my career and profile?

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

TLDR: How to pick side projects

This might have been answered multiple times and a very well-known answer would be working on side projects but I want the answer to be more in-depth so it can be helpful for many engineers.

Please don't answer in a generic way but try to answer this by posing in my shoes

Let's say you have 1.6 years of experience as a Software engineer and 3 years of experience in IT but not in development now if you want to stick to the SE career. This market is very challenging for me to get a job with 1 plus year of experience. I have to convert my IT experience into developer experience and try. But when I give interviews I tend to fail the Hiring manager rounds because they can see the depth of my SE career.

So how to convert my IT experience to SE experience? I have put a lot of effort into Leetcode and now I have gotten to a decent stage the same thing applies to System design as well I have read books blogs etc and getting the depth would be my next target.

We can hear a lot of stories in the past where a person who started his/her career as a tester or a QA and got it converted to Senior software engineer etc by working on problem-solving skills but I don't think this works in the current market.

So I felt I was missing depth. How to achieve a mid-level engineer status where I can effectively tell a lot of stories and challenges I have faced in my career and show bias for action etc

The most simple answer would be to do side projects but selecting a repository and a project is very hard as there are countless repositories and projects.

All I need is a small ignition to start on the side projects then I think discipline would take care of the rest as I was at zero questions at LeetCode a few months ago and now I have solved 250 plus with discipline.

Show more
41 Views
2 Comments

Burning the Midnight Oil?

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

Other than for a very specific, time-critical reason, e.g. an upcoming launch or being on-call, is there ever a good reason to "burn the midnight oil" by deviating from one's normal life routine to put in more work hours?

Here's what I see this deviation looking like:

  • taking fewer breaks in the day - so instead of going for a walk after 2 hours, doing it after 3
  • within a work-bloc, having longer time spent at your desk - so sitting interrupted at your desk for over an hour, for example. If you're following the health gurus, you should be standing up often, and the Pomodoro technique is classically 25-minute focus blocks, but I don't know how practical this is
  • cutting out gym time to get more work done - for me, exercise is generally 1 - 1.5 hours of time which I do 3 or 4 times a week, so I can get more keyboard time in if I cut it.
  • working later into the night and either cutting into sleep time or just waking up later the next day

These are all examples of trying to eke out more productivity. The last 2 in general are frowned upon from a health-standpoint.

In my case, I'm onboarding and think I'm behind on my first ticket, hence the motivation for my question.

I know quality (spending my time in the right way) is a lot more important than quantity, but quantity is easier to add as so many people have pointed out on this site.

Yesterday, I had a new coworker, someone I had never spoken with before spend 4 hours on the phone with me and that was both practically helpful and psychologically helpful. Getting help like that in general is a lot more productive than just throwing more time alone at a problem. Just trying to add more context.

Thanks!

Show more
45 Views
4 Comments

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

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

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

Show more
36 Views
1 Comment

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