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.

Mid-Level Software Engineer [SDE 2] at Amazon profile pic
Mid-Level Software Engineer [SDE 2] at AmazonPosted December 12, 2022

Worried about Q1 2023 performance cycle

Since Dec 2021 to Aug 2022, My managers changed 4 times after and I got promoted from sde1 to 2. Due to multiple projects and managers, I could not take ownership as I was still in ramp up phase but manager was expecting more at the SDE2 level, pointing issues, demotivating. So I took internal transfer to a different team. I am in this new team for 3 months. 1 month - I took to even understand the basics. Manager left and new manager joined. I had to go on vacation for 15 days. I don't have metrics to show that I am performing at the SDE2 level because I didn't get design projects (design phase has already been completed by the time I joined this team). No OPS, this is a new product. There are no operational tasks. Working on beta launch. I am the last person who joined this team. I don't have anyone to become mentor since I have limited knowledge on this new team and work Have not taken interviews due to hiring freeze Worried about Q1 performance cycle in 2023. 2022 was difficult for me to show any impact. Is there anything I can do now to not get low rating in Q1? At this point, I am no more interested in work and just want to leave due to lack of mentorship. I have a buddy who answers questions if I ask in this team but I don't have anyone to mentor me to guide me to see what kind of projects I can work, coming up with the initiatives. I feel stuck. There are no hirings happening outside and inside the company. What can I do to proceed further?

140 Views
2 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted January 14, 2024

Should I join an important project with difficult team mates or a not so important project with great team mates?

I was lucky to join a very competent and lovely platform team when I joined my current company. I have been working in the same team for 18 months but due to re-orgs people have moved out and we are currently 3 people and we were 9 people when we started out. We have been doing mostly maintenance work for the past 3 months after re-orgs and recently we were given a choice to work on two projects. There is one project, lets call it Project Hero which my skip level manager wants me to join. I would be the main PIC for this project and it will involve a lot of integration work and system design. This project is with new team mates and a new manager with whom I have not worked but they don't have the best reputation. However, going by FAANG level, they should be good enough to get the job done. Only downside is work-life balance might be skewed if I join here. However, if the project is a success, it sets me up for Senior level promotion. There is another project, lets call it Project Nero. This will be with my existing team but from a company perspective, it's not a very important project. But I will be working with my existing team mates who are both capable of delivering a solid project and a joy to work with. However, my work here will be overshadowed by other Senior engineers on the project. Which project should I join? I personally want to do Project Hero but not with the people present there. Also it will be challenging. Project Nero will be challenging also but more up my comfort zone. Given the current economic climate, I feel being in more important teams will help keep my job.

140 Views
3 Comments
Mid-Level Software Engineer [SDE 2] at Amazon profile pic
Mid-Level Software Engineer [SDE 2] at AmazonPosted March 13, 2025

Is it worth moving to Meta at my current stage? (L5 to E4)

I recently received an offer to join an Ads team at Meta at E4 level. The comp was pretty much equal. Here are some pros of my current team: Work life balance is great I've learned a lot and am still learning a decent amount Manager is nice Here are the two big problems I have with my team: I see no path to L6. My org is very L6 heavy, and even more L5 heavy (i.e. no L4's to mentor). There are strong L5 engineers that should have been promoted long ago but are still here. They are always given the promotion level projects (despite still never being promoted). The projects I'm working on feel extremely useless, and there is minimal real impact that product or engineers have on the business. (Few massive enterprise customers with deal terms driving business growth over product) - A lot of features we build are used by tens (yes tens) of users. - Some of our systems are interesting and high scale (we serve content), but are heavily guarded by a group of OG engineers that don't like to involve others. The Ads team at Meta seems bland but impactful, they have concrete incremental revenue goals and are serving a large amount of ads customers. Don't know much else. The manager seems nice and mentioned that "oncall wasn't bad". Here's a few additional twists to my situation: I actually declined the Meta offer already in fear of losing my WLB, but every time I push a commit for a feature I know that at most 10-20 people will care about, I start to wonder if I should try to claw my way back towards another offer (I declined a few days ago) I'm possibly going to need to leave the Bay Area in August 2025 (so my tenure if I switch may be ~1.5 years, probably not long enough for promotion) I'm trying to think of what would put me in the best situation in 1.5 years when I move and begin another job search. Hopefully I'll land in a more senior role by then.

134 Views
7 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted August 21, 2024

Don't feel ready to be senior, but most companies expect me to be now. Need help picking an offer to take in light of this

Let me preface this by saying I have extreme impostor syndrome and I am optimizing for most chill company that's easier to survive in. I have offers from cockroach labs, and disney streaming. Both are senior level offers. At my last company (which i was let go from, I believe it was cause I took too long to resolve an outage in their eyes) i was basically doing mid level eng work so I'm not even sure I'm senior material tbh. I have a little over 5 yoe. I've been laid off before and my perf has oscillated from good to bad etc (at times I've had personal things interfere with my work) so I'm very fearful of cutthroat/extremely high expectations environments. From what I've seen, cockroach labs is very highly regarded in the industry, so in the case where I get laid off, it may be better to have a better brand name on my resume. They also do seem to have a good wlb. However, a lot of the people there are coming from other very reputable companies, and I'm very worried I won't be up to the par compared to these people, especially in this environment where performance is looked at more closely. They also did a large RIF last year which impacted low performers. As far as disney, it may be easier to meet the expectations if the talent bar is lower, but they have done a fair amount of layoffs over the last few years, and the streaming unit has only recently gotten profitable. Seems the leadership is telling a story this will last, it's unclear how well the performance of the business will be long term. Cockroach labs seems to be very well positioned from a company performance POV. I say all this because I don't really want to go through another job searching phase for a while, so I'm considering the strength of the business as well in addition to how capable I would be of surviving at the company.

128 Views
8 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