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 deal with more responsibility in the team and grow as a leader?

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

I joined Amazon for my first tech job as an SDE I and was able to promote to SDE II after 1 year. Fast forward to 9 months after promotion, My onboarding buddy who has been here ever since the team was founded is leaving. I ended up being the SME for one of the team's projects that makes a lot of $$$, which means a lot of eyes are on it. Although we do have a couple SDE IIIs on the team, they've been more focused on other equally important projects and don't have too much knowledge on this one. I'm starting to feel the weight of the extra responsibility as I often get pinged for escalations, have a lot more say in meetings, and invited to meetings for the roadmap of this project. There was also a recent reshuffle in the Product side and I've become their go-to guy for anything related to this project.

Having joined the industry less than 2 years ago, I kind of feel like things are really moving fast and I'm a bit overwhelmed to be honest. I was still thinking on how to increase my technical depth after promotion, and I'm not even sure if this is a good situation to be in or not. But at the same time, I do want to overcome this and perhaps turn this situation into a growth opportunity.

In my forte review, there were many comments on the expectation of me evolving into a mature leader for the team and this feels like an opportunity to work on that. I'm kind of confused on what direction to take at the moment. What would be some things I can do to make the most of this opportunity and grow my leadership skills? I feel like before all this happened, I was focusing on growing my technical skills and didn't really pay atttention much to the leadership side.

This might be a vague question, so I just wanted to see if anyone has been in this situation and have any advice on how to best navigate this or share similar experiences

Show more
331 Views
2 Comments

Thoughts on recent xz open source incident?

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

Any thoughts/reflections/lessons from the recent incident?

TL;DR of the incident (generated by LLM and verified by me)

The xz backdoor news refers to a critical security vulnerability discovered in the XZ Utils, a widely used compression utility in many Linux distributions.

This vulnerability, identified as CVE-2024-3094, was found in versions 5.6.0 and 5.6.1 of XZ Utils.

It allows a malicious actor to bypass SSH authentication and gain unauthorized remote access to Linux systems.

The backdoor was introduced by a contributor using the pseudonym Jia Tan, who had been involved with the xz project for two years.

The discovery of this backdoor has raised concerns about the potential for other undiscovered backdoors in earlier versions of the library and the implications for the security of Linux systems that rely on this utility.

The backdoor was first detected by Andres Freund, a Microsoft engineer, who noticed an unusual delay in his SSH login time, which led him to investigate and uncover the malicious code in the xz utility tarball used in Debian installations.

The malicious code was designed to interfere with the authentication process in SSH, a protocol used for secure remote logins, allowing unauthorized access to the system.

This vulnerability has prompted urgent responses from the Linux community, with distributions like Fedora, Debian, and openSUSE advising users to update their systems or revert to uncompromised versions of XZ Utils.

The incident has highlighted the importance of vigilance and collaboration within the open-source community to identify and mitigate security threats.

It also underscores the potential risks associated with upstream supply chain attacks, where malicious code is inserted into widely used software components, affecting numerous downstream users and systems

Show more
47 Views
2 Comments

Finding more scope internally vs. swapping company

Mid-Level Data Engineer [L4] at Google profile pic
Mid-Level Data Engineer [L4] at Google

I've been a Data Engineer for most of my career and my observation is that scope as a Data Engineer can plateau and therefore I see a lot more L4/5 DE's than L6+. I think it is because you don't impact the bottom line directly and regularly.

At FAANG's I've worked at so far, finding new scope can be difficult even when you are working with stakeholders: it is "easier" to scope/build a product (i.e. SWE work) and show metrics of success to add value vs building a data pipeline which may be limited to them having a reporting need for example which often isn't the case especially in a more established firm.

I moved into a partner facing DE role to help more with scope/stakeholder exposure. The highest impact project I worked on so far is influencing an internal team to change the way we measure a particular metric. This involved mostly stakeholder management and nothing more complex than SQL queries from a technical standpoint. While it was fulfilling, this is also something I 'stumbled' upon and is rare due to challenges like partner scope/vision is limited/slow (their leadership can change and therefore you projects/ideas can), technical challenges of automating things because of larger concerns (e.g. privacy, lack of infra on their side which you have no control over) and so on (you generally have even less control than an internal DE).

In my current role, I am generally able to derive projects, but (in my opinion) they are limited in scope/value: i.e. build a pipeline, deliver an analysis. Therefore, even though the projects 'ticks the boxes' for an L5, it is not really driving a 'transformation' as an L6+ would. I also directly asked my manager what are some of the hardest problems we have, and have been told we have a lot, yet, I'm not hearing or seeing them.

Given the situation, would you:

  1. Move to a SWE role internally at FAANG for a more established path 'up' (not sure this resolves the scope problem especially at FAANG as I think SWE-DE's can almost be even harder to get to L6+ on because they generally lack stakeholder visibility and focus on more top down work?).
  2. Seek roles outside of FAANG where the scope of the work is already scoped to L6+ e.g. Airbnb so the 'heavy lifting' has been done in terms of scope.
  3. Refine your scoping strategy within you own team, and if so, how?

Note: my motivation is to thrive at work, this isn't for a promo, just incase the post comes across as promo-focused. :)

Show more
96 Views
2 Comments

What to do when hired as a SWE2 with 15 years of experience?

Senior Software Engineer at Taro Community profile pic
Senior Software Engineer at Taro Community

I am a 15 year experienced software professional holding H1B. In my last 3 companies, I was a Senior Software Engineer. In my penultimate company, I was due for Staff promotion. Fast Forwarding, I was impacted by layoffs in Jan this year. I had 3 months to find a job in this market. I was applying and passing on my resume through all my network. Most of my applications got rejected quoting they picked another candidate. Some of my applications materialized into interviews , but I ended up not clearing (was in bad form and stress and also didn't get ample time to prepare thoroughly).

Finally, I got my application picked at a company through a referral, but they only considered me for SWE2. I explained them my experience and requested to consider me for SSE level, they said the panel will be open to it. But in the end, they ended up offering me SWE2. I took the offer as I had no choice. I was running out of time and did'nt want to risk rejecting this offer and waiting for a better offer. I took up the offer and joined, but I don't feel happy. I wish I had more time to really choose what I wanted.

I would like your thoughts on how "wise" is it to be SWE2 with 15 years experience. Would my age become a factor for further career progressions as they would prefer younger people? I am confused if I should stick to this, be patient, work smart and work my way up inside, or would it make more sense to keep interviewing and find something that I feel happy about. Look forward to helpful replies or referrals for SSE :)

Show more
167 Views
2 Comments

What type of environment allows fast career jumps?

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

I was wondering if you need to be part of a specific type of environment in order to make quick jumps in your career? Like to get promoted to senior level in 2 years.

I was asking because from my experience, there seems to be an invisible social hierarchy in every work place. Other people in the team may not allow me to make these jumps since this kind of anomaly will break the social hierarchy:

  • There is project specific information, in absence of really god wikis you have to rely on the peers in the team to provide you such information (like how are specific parts in a service working, or how is an obscure internal tool working etc). From what I see, often times they will provide small chunks of information, as much as you need to do your task, but small enough such that they still have the information and you depend on them (probably a measure to prevent others from replacing them).
  • Envy might appear between other senior folks if you progress quicker than them and might start to backstab you (For example, you need some information from them about a piece of code they wrote in order to progress, but they might do the knowledge transfer in such a way that it looks like they told you what you need to know, but in reality you got nothing; or might tell you to go debug to figure out how is something working, and you can spend days debugging modules when it would've been an 1 hour stretch if they simply told you or there was any wiki).
  • Manager might not want to give you extra money and compensate at your true value.
  • If you work too much, or too hard there's going to be problems withe the peers, because you increase the bar and kind of force them to work harder too.

I was asking these things, because I was wondering if I got anything wrong about these fast jumps or in general that I have a broken view about work. My first professional experience was an internship at a big tech and when got there the seniors told me that I have the same knowledge as a senior engineer, but best they could do was another internship next year (still in college).

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