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.

Unemployed for past 10 months, any slightest chance for consideration into FAANG?

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

Hi, I'm from India. I have been unemployed since February 2024 following a layoff from my last job as a Full-Stack Developer (4+ years of experience). After that experience, I decided it was time to move away from startups and their unbalanced lifestyle. My goal is now to secure a role at a FAANG company (only in the U.S.) and nowhere else. I have savings that will last me about six months to support this transition.

Initially, I planned to focus on Data Structures and Algorithms (DSA), an area where I had very limited knowledge. After reading a few posts on LinkedIn (mainly from influencers), I mistakenly believed that three months of preparation would be sufficient for technical interviews. I now realize I was wrong. It's been 10 months, and while my DSA skills have improved to an "OK" level, I still don't feel confident. My System Design skills are also at an OK level.

I've been applying to FAANG and other companies, but I keep facing rejections. I suspect this may be due to the employment gap or the lack of big-name companies on my resume.

What I'm doing to bridge the gap:

  • Working on side projects that demonstrate my skills in System Design, Databases, Programming Languages, Distributed Systems, and Microservices.
  • Building a mini-startup that I can showcase on my resume, allowing me to highlight my Full-Stack development knowledge.

My goal:
I'm aiming for at least an L4 role at Netflix or a Full-Stack position at Google or Apple.

With this employment gap, is it bold or foolish to still aim for FAANG?
I’d love to hear any suggestions that could help me get shortlisted.

Show more
Posted 4 months ago
186 Views
8 Comments

How to optimize career direction as a grad school student?

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

Hello Taro Community, I hope you are doing well.

I was hit by a lay off mid sept and I have been unable to land a job. I enrolled in Grad school since I have limited unemployment days because of my student visa. My degree starts Jan 2024.

During Grad School, I am only allowed part time work. I am still looking for part time work in the tech industry. And currently on 3 years of work experience.

I want to do things right this time when I graduate and go back into the job market again after Grad School.

An obvious mistake I made which was I didn’t have a clear direction of career in mind. I kinda wanted to have a tech job where I get to code, pretty vague and my applications were also shooting blind darts and seeing what sticks. I did land my first job quite fast after graduation from undergrad and got a new one a year after with a better pay and change of location which was my recent company I worked in for almost 2 years.

But these last 3 months were pretty brutal, I know the market wasn’t the best but I could’ve also been more prepared. I want to improve my odds for my next job hunt.

My goal after graduation: Front End Developer/ Full Stack Developer Position. Preferably in a non tech company example: Starbucks, Nike, H and M, Chase Bank etc.

and I set location and pay range goal too.

Question: From the seasoned in the industry here, what are some actions I can take on daily consistent basis during my Grad School to move closer to this goal and possibly achieve it when I graduate?

My plan:

  • Keep revising the fundamentals of Front End and Back End to have strong grip on interviews.
  • Personal Projects for a stronger portfolio

Open to any suggestions.

Thanks in advance.

Show more
Posted a year ago
180 Views
4 Comments

I have terrible attention to detail - how can I fix this?

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

I am a mid-level engineer at an HFT company. I've been with my current company for around 7 months and another similar one for 2.5 years previously. My biggest career issue so far has been poor attention to detail, which leads to me to always miss small mistakes I make.

For instance, I always review my own PRs myself before sending to reviewers, and clean up plenty of issues I notice myself. But then my reviewer will point out some kind of bug, or something I forgot to do, and in retrospect it will be immediately obvious to me. Alex often mentions the importance of being able to get most of your PRs accepted in one attempt, but for anything > 30 lines this simply feels like a pipe dream because I am so terrible at noticing things until it's too late.

(For the record, I'm very thorough with test coverage, but when I simply forget to implement something, I of course forget to test it too).

Another more specific example is that our process of verifying features in production is sometimes a bit involved, and requires changing config in several places. I knew what to change, did so and tested everything, then told my manager the feature had been verified. Later on he was looking at the configs (not sure whether he did it to check my work or for some unrelated reason) and pointed out that I did not actually set everything as I intended to, and therefore the feature wasn't verified correctly. I realized mistake I made (ran a command to change a bunch of files in the wrong directory) but only after the fact, and it cost me embarrassment and extra work.

I think I'm quite good at the other aspects of software engineering: coming up with impactful ideas and executing on them independently, picking up domain knowledge and areas of the codebase quickly, fixing bugs (my own or others'), presenting on my work, etc. So I've been able to eke out "meets" and even "exceeds" reviews at my first job because I had significant impact despite blundering all over the place.

But my deficiencies in this area make me fearful for my career, as I am always worried about making just enough mistakes to get PIP'd or fired. Furthermore, we don't have levels here, but I doubt I can make it to the equivalent of Staff or even the senior level with this kind of defect.

Does anyone have advice on how I can "train my brain", as it were, to improve at this ASAP and make sure I don't go down the wrong trajectory? Thanks!

Show more
Posted 7 months ago
178 Views
6 Comments

Onboarding Successfully To A New Semi-Chaotic Engineering Org

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

Context Of Company

This is a really well funded company (Bank) that underwent a large scale leadership change. The company's primary source of revenue was never it's tech capabilities, however with the new leadership change they're looking for a large scale revamp on how the existing systems work and are working on setting upto a FAANG equivalent engineering environment. This is vision is consistent across the leadership upto the CEO. This org currently consists of multiple Staff engineers from Twitter, Meta, Amzn and Google leading big initiatives.

Personal Context

I'll be soon taking up an offer in this company and will be joining this freshly created Org, where I've opportunity to be among the first 10-15 engineers to join with potential of the org to grow over 100+ engineers. There are lot of existing tech that have been already deemed unscalable due to previous decisions and have been a known business blockers, these tech require either re-write or a large refactor or a completely different viewpoint on tackling this problem. This will involve me working with Engineers who've built this system (Not part of this new Tech Org, rather the old existing infra), I've been already given a heads up from my potential manager that there can be potential hesitancy that the existing engineers may feel and wouldn't be too open to provide all information necessary as our systems will be replacing their soon (Have been reported that this has happened). There isn't a concept of internal wiki similar to Amazon or other Big Tech, hence lot of this is just domain knowledge etc. Fortunately the leadership is aware of this and is taking steps to answer this, and takes into consideration when scoping for projects and setting up right expectations.

The following are certain concerns that I've, and wanted to understand what is the best course of action I can take up to make my onboarding successful.

This is my Current plan, given i'll be among first engineers to join this team.

  1. Understand domain, reach out to multiple PMs and document all pain points, problems we are solving in long term & Short term.

  2. Go through code base of relevant packages and start adding their UMLs, HLD etc to best of my abilities to a document to move towards creating a Knowledge base.

  3. Socialize with engineers from the related org and try to gain their confidence, and potentially get few KT sessions (Not sure how i'll go about this as the team is situated in different city).

  4. Work with manager to setup boy-scout rule, such that everyone onboarding will incrementally add more to the existing knowledge base.

Follow Up Questions :

  • I still haven't taken up the offer yet and still have a week before I can respond. The increase in pay and the growth opportunity in the new company is significantly big, I can see myself reaching Sr.SDE in < 2 years and Staff in < 4 years there due to the problem space being so fresh and getting a really early head start. However, I'm slightly concerned if the lack of co-operation from other org and lack of documentation, and the fact that the entire org is being setup fully freshly could be a concern. What's the best course of action i could take to minimize this risk?
  • Second, one would view moving out from FAANG to a not well known company as a downgrade, would this still hold true if the problem space and opportunities in the new company is more complex?
Show more
Posted 2 years ago
169 Views
5 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
Posted a year ago
168 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
Posted a year ago
162 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