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.

Data Engineer at Financial Company profile pic
Data Engineer at Financial CompanyPosted June 9, 2024

Prepping to Move From Slow Finance Company to Fast Big Tech One

I'll be starting at Instacart in a couple weeks as an L4 Data Engineer on contract for 6 months to start. I'm coming from a finance company where things move slowly. I was a high performer in my department while regularly working 3 hours a day or less. Much of my time spent at my old job was dedicated towards finding my new job - applying, interviewing, taking courses, etc. I know I will encounter a culture shock when I start at IC and want to prepare myself as much as possible for it. Mentally, I am taking the approach that I will put in a solid full-day, 8 hours of work every day and perhaps work some weeknights and weekends as well, although I'd like to minimize the need to do that by being effective and prioritizing work during my regular work hours. In terms of preparation, from Taro I have gleaned that there are 2 main areas I should be focusing on: Code Quality and Velocity Communication For 1), I have bookmarked Alex's Course on the topic and plan on doing it before I start working. For 2), I have bookmarked Rahul's Course on Onboarding and likewise plan on finishing the course before starting work. I actually plan on doing Rahul's Onboarding Course before Alex's Code Course. Is there anything else I should be aware of? I have gone through Alex's short course on Communication already as well as looked over these threads: Advice for someone joining big tech from a non big tech background? Adapting to Big Tech Culture shock from a small company to Big Tech? I imagine the advice for me is virtually identical to the above threads, but if there's anything I'm missing, please fill me in! Thanks!!

90 Views
7 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted July 31, 2024

How do I deal with increased work hour expectations?

When I joined my current company, it was a standard 40 hour/week company. Since the end of last year, we’ve been told that we’re all expected to work 55-60 hours/week to get our startup to a successful state (get funding, retain current customers, attract new ones). I’m feeling extremely miserable from the change because the schedule doesn’t allow me to do all the other things that are important to me outside of work, such as spending time with family, cooking and working out regularly, and dedicating time to my hobbies. I have subscribed to newsletters for years to keep up with how the javascript and react worlds are changing, but have stopped reading them. I feel like the work hours have made me less curious about keeping up with tech and growing, which is the thing that I used to like most about this career. We’re asked to track and report our hours working on tickets, and any time we fall short of expectations it comes up in our weekly one on one with our manager. It’s making me want to leave, but the market is tough, I haven’t interviewed in years and never done DSA or system design questions, and it’s hard to start with the schedule I have, because again I’m already sacrificing time with my family for this job and don’t want to sacrifice more. It’s crazy how much the extra 15-20 hours per week is costing me emotionally. How do I get out of a situation like this? I don’t have enough savings to fall back on, my wife doesn’t work, and my state doesn’t provide Medicaid even to households with no income.

87 Views
3 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted August 25, 2024

Disagreement Question for E4 Behavioral Story Vetting: XFN Disagreement

I'm not even sure if I should use this STAR Method story for a E4 Behavioral interview for tell me about a time that I had a disagreement with a coworker. My concern is this is a xfn disagreement and not a code review or a design disagreement. I think I'm not showing competencies for my level? This was a story from my time at a non FAANG and I'm trying to use this at a FAANG behavioral interview (I never worked at FAANG, and I'm trying to put in lots of effort to make it this time as I got rejected from multiple faangs in the past including 2 Full loops for E4). Situation: I was driving the implementation of a new framework for our platform team, which services 3-5 sister teams. After a reorg in one of the partner teams, a new team member was reluctant to support the project, leading to a misalignment that blocked our launch. Task: My goal was to resolve the disagreement and get the partner team onboarded with our framework. Action: I escalated the issue by bringing in senior engineers from both reorged teams, our senior engineers, and our manager. I facilitated a meeting that included the old and new team members to align on the project’s importance and our support model. I also provided a detailed document and knowledge transfer to demonstrate the framework's feasibility and how it could be maintained. Result: The partner team was convinced, and the project was no longer a blocker. We successfully onboarded the first partner team into our new reusable framework, keeping the project on track. This is obviously abridged, so I'm just confused if this is a valid disagreement for a E4 position. If it has potential, maybe I can answer followups on what I need to tease out to make it better, or drop it if it is not great. I am very afraid to try this story out in my interviews, since I thought I had to resolve it personally for this story to count, and resolving via escalation seems to me like I am essentially cheating.

87 Views
15 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted January 29, 2024

How to network with other engineering managers, specifically in AI/ML?

Hello everyone, I'm reaching out to this community seeking advice and insights as I consider a significant career transition. Currently, I am working in software engineering, but I've recently completed my master's degree with a core focus on Reinforcement Learning and Artificial Intelligence. Throughout my academic journey, I've developed a strong passion for AI/ML, and now, I'm eager to pivot my career in this direction. While I've gained substantial experience in software development, I believe that transitioning to a team more aligned with AI/ML will allow me to fully utilize my skills and contribute more meaningfully to the field. I understand that networking plays a crucial role in such transitions. However, I'm looking for guidance on the best practices for connecting with AI/ML engineering managers. I am particularly interested in learning about: Effective ways to initiate conversations with AI/ML leaders, especially when coming from a different technical background. Strategies to demonstrate my competence and enthusiasm for AI/ML, despite my primary experience being in software engineering. Insights into the challenges and expectations specific to AI/ML teams that I might not be aware of coming from a different specialization. Additionally, I'd love to hear any personal stories or experiences about making a similar transition. What were your challenges, and how did you overcome them? How did you leverage your previous experience during this shift? I appreciate any advice or connections you might offer. Please feel free to reach out to me directly if you're open to a conversation. Thank you for your time and support! Best regards

87 Views
3 Comments
Mid-Level Software Engineer [ICT3] at Apple profile pic
Mid-Level Software Engineer [ICT3] at ApplePosted August 28, 2024

doubts about my manager

Let's start by mentioning my manager has half the industry experience I have, but has just been longer (around 3-4 years) in the company than me. He comes from a data science background, while I come from CS/software engineering. He's been a manager for almost a year now, during which he's just proven over and over how incompetent he is at motivating employees to do great work. He has done and said the following (I know no-one is perfect, but knowing the standards Apple requires from engineers I just think it is too permissive with its managers) we’ve had conflict over some presentation slides, where he corrected all my slides (presenting my project from a technical point of view) and insisted I read his exact notes on the matter ( like a secretary ). His points were - he knows the subject better than I do period, he has the final say since it’s a director level presentation . I’ve asked what the requirements are for the next level (was underleveled anyway at hiring ) and he bluntly said for me it might take 4 years - if I’m already mid-senior why should I wait that much inside the company to be given opportunities to grow faster ?! I could just take the next job as a senior/staff etc. and be on my way … Talking to other colleagues they’ve said something different : you can go faster but it depends on the projects you’re assigned (impact etc.), so again my career depends on the projects he assigns me to. I’ve been treated like a junior since joining the company - yes I’ve changed tech stack for this job but it doesn’t make me a noob. Also during meetings with other teams- he (the manager) and his “rockstar” would remind me loudly of keyboard shortcuts (simple things like ctrl + F ) which pissed me off because I’ve perceived it as mockery not helpfulness by trying to “motivate” me he’s actually insulting my intelligence every time : for ex. he’s all of a sudden trying to convince me I wouldn’t get better opportunities than I get at Apple “look you get to train an ML model, you can only do this at Apple” - absolutely hilarious, given the multitude of companies that are in the AI field these days … I’ve avoided going to HR with these matters because I don’t feel like I have solid evidence, at the same time I despise working with him What kind of managers do you have or have encountered and what’s your opinion about this ? I would have expected Apple managers to be a bit brighter and self-conscious.

86 Views
3 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted May 20, 2024

First time working on a project with non technical work as well.

I'm starting an API migration project due to a licensing issue and am the primary point of contact for stakeholders. I earned this responsibility by building a relationship with the downstream legacy team and leveraging their solution with ours, using our framework in a novel way. My manager quote said “not that you can you should own the xfn”. This is my first time doing non-technical work. Here’s what I've done so far: Created a step-by-step plan and design document, captured requirements with due dates, and integrated tasks into Agile sprints. Maintain a living document for future technical challenges, and note taking for all steps I outlined. Outlined the battle plan to the po, my manager, and the senior engineer who all gave sign off. Plan to give updates and assist with troubleshooting for client teams. Set a goal to thoroughly test the solution, ensuring an adequate test suite is in place, aiming for it to work on the first try. Questions: For cross-functional alignment, what steps should I take for communication and updates? We have a Slack group with all clients. If there’s a communication template that worked well for similar projects, it would be helpful. If there was one thing you'd challenge me to do in my execution of this project, what would it be? For context, I’m probably mid-level with an interest in learning how to grow.

85 Views
5 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