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 with HR and EM when they didn't include for the appraisal/promotion cycle?

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

Hey there, for context, I completed my first year as Software Engineer.

I joined the company because I was in dire need without checking the company culture, following which I was not satisfied with the designation. I then started to look out for a job.

I got that offer after 4 months of joining with 33% increase in the salary.

When I told my EM he was willing to talk to the HR and match the salary but then the Head of the department didn't promote my role in the light that others in the team will think and ask why in 4 months I got my role upgraded.

The leadership conveyed that I might get the designation in the 6 months appraisal cycle.
In the appraisal cycle they denied my promotion saying my salary doesn't match the orgs designation and they don't know what to do.

I was not happy with the decision and since I didn't had any offers I kept working for the organisation hoping I will get it in the 1 year cycle.

Now I didn't get the review form for 1 year appraisal cycle. I think they will say in the lines of because your salary was revised at the 4 month you are not eligible for this cycle.

Though I don't feel my designation is the right one. But I have some other responsibilities as well like family, commute etc. I'm losing my motivation.

I need help in crafting effectively to EM and HR so that they consider my role and some appraisal so that they inline my career in the organisation else juniors will have a higher role in front of me.

From today I have also started looking out for other jobs, but I don't want to hurry in making decisions.

Show more
90 Views
4 Comments

Dead end job role at Apple?

Mid-Level Software Engineer [ICT3] at Apple profile pic
Mid-Level Software Engineer [ICT3] at Apple

Hi,

I have 6 years of experience in the software engineering field, mostly working as a software consultant and at not well known startups. Having done MSc in the field AI, I got an offer to interview with Apple for an interesting role that seemed to have the best from 2 worlds - Software Engineering & AI/ML. To my surprise, after 6 interviews over the span of 2 months and an emotional rollercoaster, I got the job at ICT3 level and moved to another country. I thought I might be underleveled at first, but I kept thinking I actually don’t have experience in AI/ML so they’re levelling me as ICT3 must be right, I also don’t feel like a senior yet.

The situation I’m in now at work is very frustrating and disappointing to me, because of the following :

  • I’m still onboarding after 9 months in, without being in a senior role. There is no serious documentation, I have to “network” in a forced manner, to find out vital information for an engineer like “do we have 2 prod environments and when do releases happen”.
  • up until now I have not received any tasks or projects to sharpen my skills or keep the ones I worked hard for so far
  • I had to beg for 8 months to be included in a project, the explanation was “we’re in the planning stage, we’re waiting for OKs to get started”
  • I get neither serious SWE experience from this, nor ML/AI related one.
  • Over the past month, after telling my manager I would apply for other jobs if this situation (not participating in anything palpable - just meetings) did not change, they finally moved me to another team that’s closest to SWE that this role can get.
  • in the new team, they advertised this project that would mostly be backend work in Go. It turns out the codebase belonged to another team and the role that I’m in, does not imply bettering/maintaining their codebase or adding new features, it’s mostly data hillclimbing and adding some strings in the right places, so super humiliating after having prepared from DSA , system design & design patterns
  • I don’t get to touch any AI/ML models yet or work with them, because I don’t have experience with AI/ML
  • My manager is a new manager and has half the experience in the field as I do. I talked to him about my disappointment of being so undervalued and his take on this is, I first have to learn the tech stack to participate in “more advanced” projects. However my male colleagues, who joined the company a few months earlier than me, have been given more responsibility faster (participating in 2-3 projects after aprox. 6 months in)
  • Time spent in the office is not productive at all, I can’t do focused work there at all. People chat and socialise all the time in the open spaced office we all work in and there are at least 60 people working there. This forces me to work overtime & during weekends, to achieve deadlines for the project and to learn the needed tech stack
  • I’m starting to feel trapped in this job because it’s consuming my time, including my free time and I’m actually worried that if I continue like this without coding, participating in code reviews & other healthy SWE practices I’ll get out of hand and have a hard time getting another software engineering job or staying relevant in the industry
  • Maybe what I’m experiencing in this particular branch of Apple is unusual for FANG or even other Apple jobs and would be grateful for others’ opinions on this situation.
Show more
331 Views
2 Comments

Youngest and least experienced in team but high-potential, how to avoid the "least impactful projects" trap?

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

I am a middle backend engineer with 2 years of experience. I recently joined a very new startup(< 2 years) where my friend is my manager. He/she is a principal software engineer with 10+ years of experience. In the team, there are 2 other senior software engineers, each is 4 years older than me with 7-8 years of experience. When my friend invited me and interviewed me to join the company, he/she said that I might not be a senior yet, but he/she's sure that I will get to senior really soon because I have a habit of learning consistently.

Even though I only have 2 years of software engineering experience, I had previous 3 years of tech experience so I already know how to navigate company politics, communication, and have that business intuition. Also, in my previous company, I was the 1st backend engineer who had to build the codebase and infrastructure from scratch, so I am pretty confident that I am not a junior anymore. However, I understand that I still lack experience and knowledge on how to build clean code and how to build reliable and fault-tolerant system, and I feel like I could learn it from my manager, that's why I joined the current company.

The 1st senior engineer is pretty chill, he/she looks like he/she is not very ambitious to get impactful projects and looks like he/she's just happy to have a job to support his family. Besides, he/she joined the company 8 months earlier so I guess he/she already has some context. The 2nd senior engineer joined at the same time as me, and he/she looks pretty competitive. I feel like he/she's constantly sizing himself up against me and he/she's always making some little undermining comments such as "Are you used to code pairing? You look like you can't code", "Let me help you use a terminal", etc. Basically these comments are very subtle and masked as jokes or him trying to help me, but I sense that he/she's actually a bit intimidated by me.

My manager has a concept of "pairing", where he/she will split the team into 2 groups, and each group will work on a project for some time and then he/she will rotate it. In the 1st rotation, I was paired with the 1st senior and I did probably 70-80% of the project, but I was happy to do it because I learned a ton and my manager, during the 1-1 said that I was doing great and he/she told me he/she felt that the 1st senior is an underperformer. Despite this, I specifically let the 1st senior gave presentation of the project to the stakeholders because I felt that he/she helped me to onboard to the company so I'm ok with it.

The 2nd senior was paired with the manager and I felt that they did project that is much larger in scope and impact compared to me and the 1st senior. It means that now the 2nd senior has much more context than me. Right now I'm being paired with my manager, and the 2nd senior is paired with the 1st senior and I feel like I'm starting to get some context, but I'm just worried that when it comes time for me to get paired with the 2nd senior, he/she will hoard all the impactful projects and context and I will be stuck with really small scope. How to avoid the "rich gets richer, poor gets poorer" scheme? Thank you

Show more
235 Views
2 Comments

How to create influence in a team of Mid-Level Engineers?

Mid-Level Software Engineer [L4] at Snap profile pic
Mid-Level Software Engineer [L4] at Snap

Hi. Sorry for the long post.

My manager is quite happy with my performance as an IC, so in our 1:1s during feedback sessions, his suggestions for me are usually around increasing my influence within the team. Drive decisions, improve processes etc.

To add some context, Snap has a HUGE L4 band. Bigger than most companies (L5 at Snap is equivalent to E6 at Meta). This means we have a LOT of L4 engineers.

So right now I am in a situation where my team has 6 L4 engineers, ranging from 3 years of experience to 10 years of experience, with me falling towards the lower end of this range. To make matters worse, we also don't have a TL or Principal Engineer in the team. Which means we don't have a "guiding" engineer in the team to help "decide" on important technical decisions.

This has some consequences.

There's a big scope for "showing influence" in the team. Since we don't have a TL, every important decision is an opportunity to influence the team. And literally every L4 engineer is trying to jump on that ship. So we have this situation where people try to out-influence others (not sure if thats a word). This leads to lots of debates, lots of pointless meetings, and people eventually "fighting" over trying to be the decision makers for a decision.

A real example scenario: we recently had some discussions about improving our operational tickets backlog process, and literally every single L4 in the team wanted to write a doc on it to suggest improvements, to introduce a process to make the ticket backlog handling better, to show "influence" in the team.

I guess my question is, in a team like this, how should I try to build my influence ? I realize that everyone in the team is trying to achieve the same, so what can I do different. I know this is not a unique situation and very very common among more senior ICs, so hoping to pick their brains.

Show more
578 Views
4 Comments

How can I be more confident being in Big Tech?

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

A year back I joined a Big Tech company as a mid-level software engineer. I had 5 years of work experience mostly in not-so-famous startups and I joined a large tech company after doing my masters.

It's been a year since I joined but I regularly feel like I don't belong here. I go through alternating waves of confidence and self-doubt. When I am not able to debug simple issues in a new microservice, I feel dumb. I feel like the senior devs on my team are just able to solve everything and I am still struggling after a year. I have been through a round of layoffs and re-org and am not sure about the kind of work I will be doing in the future.

I want to be promoted to senior engineer level but constantly get feedback that I am not assertive, opinionated, and take more time than usual to complete ambiguous tasks. I see everyone getting promoted around me and I don't understand why I can't seem to be improving. I am very motivated and willing to slog hard, but it seems like I simply don't get it or am not smart enough. Everyone around me just feels smarter and more experienced.

I feel like moving to a smaller company with not-so-high coding standards and ditching big tech because it will be more up my forte. I am aware that I won't grow there. It just feels frustrating to be stuck at a junior-mid level, 7 years after my bachelor's. But I also know I am not at that level yet.

Any advice on how to go through this problem to the other side will be lovely.

Show more
228 Views
3 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