Taro Logo
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 communicate about a lack of productivity due to personal issues?

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

Hello Community,

I hope you're all doing well. I'm reaching out to this community because I value the diverse experiences and perspectives we share, and I find myself in need of some advice.

Recently, I've been going through a challenging period due to some personal and family issues. Without going into too much detail, these challenges have started to impact my work performance and my ability to communicate effectively with my team, especially during on-call responsibilities. While I strive to maintain professionalism, I've noticed that my current situation has made it more difficult to manage my work communications as effectively as I would like.

I understand many of you have likely navigated similar waters and may have valuable insights or strategies that could help me improve my communication during this time. Specifically, I'm looking for advice on:

  • Balancing Transparency and Professionalism: How much should I share about my personal situation with colleagues or management to explain my current performance without overstepping professional boundaries?
  • Requesting Support or Adjustments at Work: What's the best way to ask for flexibility or support from my team or management, ensuring I can manage my responsibilities without compromising the team's objectives?
  • Maintaining Productivity and Focus: Any tips for staying productive and maintaining focus on work tasks during personal turmoil?
  • Self-Care Strategies: How can I ensure I'm taking care of my mental and emotional health, so I'm in the best position to perform my work and communicate effectively?

I'm committed to overcoming these challenges and continuing to contribute positively to my team. I would greatly appreciate any advice, tips, or resources you could share based on your own experiences or knowledge in this area.

Thank you so much for your time and for any guidance you can provide. This community has always been a source of inspiration and support, and I'm grateful to be a part of it.

Show more

Worked with manager for promotion, but he suddenly got laid off. How to navigate?

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

I read and implemented a lot of the advice from Taro on building my relationship with my manager. I also worked closely with him for a year to position myself for the promotion to Senior. Every two weeks, I would meticulously document senior behavior in my "brag document" that I shared with him through Microsoft OneNote. Every month during our 1:1, I would ask him for feedback on what I needed to continue doing or change to reach Senior. During performance review each quarter, I used all of this to officially document my growth, and secured 3 Exceeds with 1 Meets. By the end of Q4, he was primed to go to bat for me.

Then he suddenly got laid off a month or two before names are submitted up the chain of command for promotion. I imagine others might have or will encounter a similar situation. In addition to layoffs, company reorganization or your manager jumping into another opportunity might have similar effects.

It feels like so much of my effort over the past year was futile. What makes this sting even more is that I'm fully aware of my company's promotion cycle, which is once a year in March/April. Promotions rarely happen outside this cycle.

What are some tactics to navigate this current situation and a strategy to avoid this single point of failure in the future?

Here's what I've done so far

  • Reached out to manager on LinkedIn to console him on layoffs. Fortunately he brought up the topic of my promotion and advised me to pass along a message to my next manager that we were working together on my promotion.
  • My company is still undergoing reorg, and I don't have an official manager yet, so reached out to his manager, which is the Director. The "brag document" in OneNote came in handy since I shared it with him and passed along the message from my manager
  • Started looking at other companies for senior roles. It's difficult to bear the thought of starting over from square one with a new manager within my current company and waiting a whole other year.

Here's my thoughts around strategy moving forward

  • Maybe work with manager's manager, in addition to the direct manager, for promotions. Would work more closely with direct manager, but at least touch base with manager's manager once a quarter regarding the promo.
Show more

What legal documents do I need to provide before joining FAANGMULA on an existing side hustle?

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

Today during office hours Rahul talked about this a tiny bit (sans the legal), but I'm curious as I've had many friends who worked at Google previously that discouraged me from applying to Google (like 10 years ago) if I still wanted to do a startup (this was long before Area 120 was a practiced thing). Recently, a friend (VC whose girlfriend works at Google) said many people still build venture/angel funds on the side while still working full time for Google. But of course, don't create your startup company using company property (a la Silicon Valley HBO lessons).


(1) What companies are flex about having things on the side - a side hustle (but you can't advertise it), examples being two different companies on both ends of the spectrum: Google, Apple etc.)? I've heard some FAANGMULA companies are more stringent than others (Apple being very much against this and super private and only sorta kind supporting open source, vs. others which are all for it and have accelerator/internal incubator programs at the company (Area 120), or even sponsoring ex-employees (a cohort of my class at Verizon Ventures one year was all MIT alumni, ex-Googlers that were sponsored by Google, paid their incorporation fees, I was one of the two weird VR founder people).

(2) I've also heard that from friends if you work at Google, you are not allowed to get paid for speaking gigs on your technical expertise or whatever your functional role is at that company (this differs from from Meta I've heard from other friends). Is this true?

(3) If you go into a FAANGMULA company, what info (legally) what information do you need to provide the the employer? What docs from the state/federal/govt or whatever) that says you have a a DBA, LLC, S/C-Corp etc. What do you need to disclose more specifically and what documentation and legal paperwork do you have to provide?

For example, I currently take consultations and speaking gig money and have revenue (royalties from my book I published years ago) and plan on having an existing app that generates money in the app store that is runs auto-pilot prior to coming into the company. Also note, that I'm aware that this product should not compete with the company's main product lines.**

(4) If you are going to start all this AFTER being hired into FAANGMULA, how do you inform your company employer formally (HR, direct report boss), and that your side hustle does and will not interfere with your primary role at the FAANGMULA company hour wise and that you will still meet all of your core duties/goals/tasks/deadlines for the company and this is sort of 'hack on the weekends thing?'

Show more

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

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