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 to prioritize Growth vs. Technical Learning?

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

I am currently on a team where I am assigned to work on a different area of the product(s) in each quarter as per the priorities of the leadership for that quarter. This has resulted in me gaining a good full-stack overview but not much depth on any specific components/technologies. I've been on this team for around 18 months right out of college but 80% of the technical work I've delivered till now has just been pattern-matching based on the existing code and infrastructure, although the outcomes have been impactful for the business. I feel like I'm not learning anything technically significant beyond company/product-specific knowledge which are not transferable to other companies. When I check out job postings from other companies for my level of experience, there always seems to be a focus on having expertise in some technology, which I can't confidently claim. This brings me to the following questions:

1. Should I stay at my current company? My career growth prospects seem great here as I have a very good reputation in my team and sibling teams, and have gotten very good feedback and visibility from managers and seniors. I also work as the lead developer for a legacy product which is not that robust and has hard-to-reproduce customer bugs, but the leadership has taken a renewed interest in adding new features to it, resulting in more potential scope for me. The main downside is low technical-learning as mentioned above, and I've heard this same remark being mentioned by senior engineers who have joined from other companies as well.

2. If I decide to switch companies, how do I bridge the lack of technical expertise that's expected for my level? When a recruiter views my resume, the technologies that I've used at work and as part of side-projects are all over the place, without a clear specialization. Although I'm confident that I can pick up these stacks without trouble on the job if needed, I feel underconfident in them in an interview setting.

Show more
Posted 2 years ago
1.3K Views
3 Comments

Working with a micromanager

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

I am a mid level engineer and I work for a manager who has micromanaging tendencies. Some of these tendencies include,

  1. Going deep into implementation details of tasks that engineers are working on. I have been in meetings/discussions where proposed solutions by engineers have been ripped apart by this manager without them having enough context about why the engineer is doing it a certain way. This almost always leads into the engineer having to explain the nitty gritty implementation details to this manager to convince them that the engineer is doing the right thing. Overall, the manager shows very little trust on the decisions taken by the engineers.
  2. When there arises a situation that the manager wants something from an engineer, they will want it immediately i.e. within the next few hours, eod etc. The manager is aware that the engineer is working on a bunch of things but they will not show any regard for that fact. This means that the engineer has to put everything they are working on aside to produce the thing that the manager wants. The problem is that this happens very often and it results in engineers either having to overwork to get their job done or affecting quality of their work.
  3. The manager will put the engineers under extreme pressure to deliver projects on or before the deadline. This includes minor nudges in meetings, lunches, team activities etc. reminding engineers of the timeline to having 2 hour meetings to discuss where we are in terms of meeting the deadline.

I have a few questions based on the above context.

  1. How to deal with such managers?
  2. Is it sustainable long term to work for such a manager? I am considering getting to the next level in my role within the next 2 years, would it be advisable to continue working with this person?
  3. Do most managers have more trust on their directs than described in the above situations?
Show more
Posted 2 years ago
1.2K Views
5 Comments

Risk of PIP!!! Performance Review: Sometimes Meets Expectations x2.

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

My Role is Senior SRE

I received my second performance review and it came in at a -M which means Sometimes meets expectations. This is my first year in big tech and I'm at a loss for words. I worked 12-hour days since I started. The first 6 months I just winged it and did not realize how strategic and crucial these performance reviews were.

So for my second 6 months, I aligned with my team lead and manager. I executed every project they asked me to and even created some projects to help the entire team. I was led to believe I was doing good work. However, this Tuesday I received the news that my rating is again a -M. They said that they did not put me on a PIP because they saw improvement from the last PR.

They told me the reason was that I am one of 3 Sr. Engineers and that two of them are performing more than I am. Since we are rated on a curve I am last. 9 out of my 10, 360 reviews were positive and an M or above. I have a follow-up meeting next week with my manager to discuss my improvement plan. I also set up a call with my manager's manager for a coaching/mentorship call.
Here are my questions.

  • I feel like my manager sees others as more proficient than me. Even though other colleagues tell me I am better than the other senior engineers how can I break out of this perception my manager has?
  • How can I avoid a PIP? Our next performance review is in 2-3 months due to some changes they made in the yearly PR schedule. I don't think I can make enough changes during that time.
  • What should my approach be towards my manager and his manager?
    • I want to be humble but also direct.
    • I feel I am not being treated fairly but I also think the system may be designed this way. I don't want to appear like I am a victim either.
  • I fear that I will get a PIP due to my manager's subjective opinion I will lose my job, my apartment, and I will have lost the last 2 years of working myself to the bone. How can I escape being in this state of survival?
Show more
Posted a year ago
1.1K 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