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.

Should I leave my startup after 3 years for big tech?

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

I’m considering leaving a startup because of 2 things I’ve seen on Taro:

  1. faang+ as a long term investment in your career
  2. .

2019 Goal of Joining a Startup

  • Learn a lot about how to be a good software engineer

  • Be an early employee at a startup that makes it big

  • Quickly become an Engineering Manager because I like working with people, helping others

2023 Thoughts on Staying as an Eng Manager or Joining Big Tech

  • Dream of being an EM, is happening on small start up scale with a growing number of reports who like my management so far

  • The dream is to be early at a unicorn and that is close, but

    • The new standard should be 10B not 1B

    • Doing this with a first job is not necessary and high risk

  • In 2-4 years I’d likely still be a engineering manager from a no-name startup

  • L5+ engineer in big tech may fit well with my personality right away based on Taro, where I love collaboration, helping people, product and technical challenges

    • I like not just spending 80% of my time heads down coding and that may be possible and expected right away in big tech, no need to be a manager
  • Getting a 2 FAANG+ badges on my resume over the next 4 years would be more way more worth it than even a million dollar payout from a startup

    • Could have many doors opened for high level roles at startups OR faang depending on what I feel like at the time

    • Big tech stock offer may also easily be worth 1M in 4 years

Priorities 2019

  • Supportiveness of team

  • Growth opportunities

  • Company prestige

  • Maximum outcome (Risk)

  • Compensation

  • Company ethics

  • Product space

  • Technical space

  • Work-life balance

  • Level/title

  • Benefits

  • Location

  • Stability

  • Remote work


Priorities 2023

  • Supportiveness of team +0

  • Work-life balance +7

  • Compensation +2

  • Company prestige -1

  • Growth opportunities -3

  • Stability +7

  • Company ethics -2

  • Remote work +6

  • Level/title +1

  • Benefits +1

  • Location +1

  • Product space -5

  • Technical space -5

  • Maximum outcome (Risk) -10

Taro priorities video is

Startup Stats

  • 150 people, 25 engineers (doubled from a year ago)

  • Fall 2021 had 50% investment at 250M valuation

  • Dec 2022 450M valuation

  • Revenue has since doubled in last year to 125M

  • Profitable per years with 20% gross margin

  • Growing industry

  • Not venture backed, so not expecting 20x growth

  • Estimated in 2-4 years to sell for 1-2B

How to evaluate a startup video

Current job stats

  • Team lead for a year after 2.5 years as Software Engineer

  • 0.1% equity, 100k cash

  • 18th employee, 4th engineer

  • Dream of being an early employee at a unicorn, seems close

  • Would lose all stock if I leave before acquisition/ipo

  • Biggest point for discussion: ***2-4 years of being manager at a small startup may not qualify me to be an EM in big tech***


FAANG+ Offer

  • L4 equivalent

  • 190k cash, 350k stock over 4 years, 60k sign on bonus

  • Work life balance is supposed to be great

  • Great food, big tech lifestyle that I’ve always heard/dreamed about

  • Would work to be promoted to L5 in 1-2 years, then manager a year after that.

  • Being a new person at a fresh company sounds very exciting now, I know the business fully and the tech stack of the current place to the point where many things Ive see before and feel stale/boring


Questions

  1. Based on my write up about values, priorities, liking collaboration, would I like being an IC L4 coming from being a manager where I have solid tech skills but strong soft skills that I enjoy using.

  2. If I stay at the start up would I be able to get a big tech EM offer with 3-4 years of management experience at the start up? Note this question shows what I’m learning now as a manager.

  3. Should I down level myself from L5 to L4 if I think I could get the offer at L5 but am not sure about the certainty of success? (Question asked separately )

Show more
257 Views
5 Comments

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
1.3K Views
3 Comments

Worried about Q1 2023 performance cycle

Mid-Level Software Engineer [SDE 2] at Amazon profile pic
Mid-Level Software Engineer [SDE 2] at Amazon

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

  1. I didn't get design projects (design phase has already been completed by the time I joined this team).
  2. No OPS, this is a new product. There are no operational tasks. Working on beta launch.
  3. 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
  4. 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?

Show more
137 Views
2 Comments

Assigned too difficult work, what can I do?

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

I'm mid level, new to the company.

I got assigned a chunk of a bigger project owned by a staff level engineer, let's call him X, who has worked on the product for a long time and has a lot of context.

Things that were new to me: the language, the tool chain, product context. The codebase is several years old.

My skip level manager (1 level above my direct manager) once encouraged that I should aim to finish my work in less than 2x the amount of time it would take X to do it (but besides this I received no pressure, or reminder to push for this target from managers).

This was overly ambitious. I worked longer hours and harder than anyone around, including weekends but still could not finish it in 3x the amount of time initially estimated.

The staff engineer overestimated what I can do too. He's very willing to explain but I had a hard time mapping his high level explanation to what happens at the code level.

I could not tell if the standard here is high or the task is too hard. So I leaned towards putting in more effort rather than voicing my concern.

I also did not have a good sense of "are these unknown parts of the code base grok-able with a little bit of time or do they require a lot of time?" to estimate time spent up front.

In the end I got some barebone thing out and he took over. Still took him a couple more weeks to get the thing finished. Along the way he solved some problems I'm sure I have no chance of solving in that timespan.

With this evidence I was sure the task was legitimately too hard for me and was comfortable letting my manager know my opinion.

Back up a little bit, when I started working on the project, my manager knew I could not stick to the original timeline set by the engineer and encouraged me to take my time to learn the codebase. What is puzzling is my manager did not tell the engineer about this unrealistic estimate. The engineer reports to a different manager and has been around way longer than my manager.

Maybe there is some politics going on that I'm not aware of.

Anyway this has been a very stressful experience.

What could I do better? What should I do to mitigate any harm done through this experience?

Show more
173 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