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.

Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted March 11, 2024

How do I get a Senior SWE promotion if I work at a client based company where projects change every few months and my manager is the same age as me (26)?

Hello! I used to work for a large fin tech company but recently got a job at a client-based company. They flew me into the office for an onboarding week and the culture and people are fantastic. I even made a decision to move from DC into the Houston office just cause of the people and weirdly I realized that my personality is a bigger asset than I realized. I enjoy chatting with people, and a Director of Product even told me "I don't usually hold 1:1s with the new folks but your personality was shining so bright!" I only give this info cause I'm not very confident in my technical skills. While I got a great performance review in my last company, it was because of my determination, my willingness to go full stack when no one wanted to, and cause I was very close with the Product and Design team. Tbh that's also cause I don't really nerd out about state management or the newest framework or whatever like everyone else seems to. I enjoy frontend cause I like making pretty things and that's it. I'm not the person who is constantly thinking about how to make our testing process or pipelines better. I can learn those things if I need to but it doesn't come naturally to me. I have admitted some of this to folks at my new company and they've been super cool about it. They even suggested I dabble into a Technical PM role. That's still something I'm chewing on cause while it's silly, I love typing things on my pretty little IDE and I like fewer meetings. But I don't imagine coding forever. In my company, a senior engineer gets to lead a project, manage people, and talk to clients. I'm aiming for a senior role cause I think it aligns more with my natural skill sets as I believe my soft skills are stronger than my technical skills. My manager became a senior recently and told me it was because he was willing to do whatever client project came in whatever language that was required. He's the same age as me and only started coding 3 years ago after a BootCamp. This is his only company but I'll admit, I feel like he's a stronger engineer than I am. I've been in the company for a few weeks, and I've been getting my stories done quickly even though their tech stack is new (but everyone is fast) but I'm not sure how to even become a Senior since I don't know if I will be able to become the rockstar engineer that my manager is. I will move earliest in September so I'm remote until then. Projects also come and go so fast. Any ideas on how to standout?

95 Views
4 Comments
Mid-Level SWE at Taro Community profile pic
Mid-Level SWE at Taro CommunityPosted September 25, 2024

Thoughts on cursor.ai IDE

Cursor is an AI first IDE that's been blowing up on twitter recently. I've found it incredibly helpful in increasing the speed of coding especially because it's autocomplete is genuinely one of the better ones ive seen. It's not exactly implementing logic but it's basically autocomplete on steroids If you edit a variable name it automatically prompts you to hit tab to do edit the names of the other variables of if you do something like change a list to a concatenated string it'll start prompting you to edit references to that variable to instead work with string based logic It not only adds code it also knows how to delete code, so if you delete a variable it can prompt you to delete other lines of code using that logic. It also seems to follow context from other files so it can remember your past edits and use it to make future edits. The best way to describe it is just feels like it reads my mind 80% of the time After seeing Ryan Peterman (who I have immense respect for, truly cracked engineer) also talking about it, I'm curious to know people's thoughts on it Also hearing people talk about how the new o1 model is already being a lot better at coding, the direction things are headed I would assume in 1-2 years there's gonna be cheaper lightweight versions of o1 that can help us with more nuanced coding tasks > After trying Cursor, I realize the value of 80% of my technical skills dropped to zero. The leverage for the remaining 20% of skills went up by at least 10x.

95 Views
3 Comments
Mid-Level Software Engineer at Microsoft profile pic
Mid-Level Software Engineer at MicrosoftPosted March 11, 2024

Seeking Guidance on Navigating Initial Tasks, Documentation, and Codebase Familiarization

Hi Taro Community, I’m a recent addition to my company and have embarked on my journey with a few initial tickets, completing 3 PRs in the span of 2.5 weeks. Alongside these tasks, I’ve been provided with architectural and design documents to help me grasp the broader system. However, these documents are quite high-level and, at times, challenging to comprehend fully, especially without knowing which sections are most pertinent to my current work. Given the breadth of information and my eagerness to effectively contribute, I’m contemplating the best approach to balance my tasks with learning. Here are a few points I’m considering and would love your insights on: Targeted Learning from Documents: Should I consult with my mentor on which specific parts of the document would be most beneficial for me to focus on initially, considering my current assignments? Codebase Familiarization: How should I approach diving into the codebase? Is it advisable to ask my mentor for guidance on specific modules or areas that align with my tickets or overall team objectives? Balancing Tasks and Learning: What strategies have you found effective for simultaneously working on assigned tickets, understanding high-level documentation, and becoming familiar with the codebase? Is there a recommended balance or sequence that could optimize my ramp-up process? Navigating the initial phase and ensuring I’m building a solid foundation is my top priority. Any experiences, strategies, or advice you can share on managing these early stages of onboarding would be greatly appreciated. Thank you for your support and guidance.

94 Views
4 Comments
Mid-Level Software Engineer at Taro Community profile pic
Mid-Level Software Engineer at Taro CommunityPosted August 30, 2024

Surprises from Big Tech - How to deal with a bait & switch?

My employer pulled a bait and switch on me, my job role (SWE) turned into a non-technical one right after hiring and I feel it’s pushing me out of tech. Even moved to another country for this job, I stayed in the job to pay back relocation money & because it was big tech - did not want to leave after 3-6 months in, I’m close to completing the 2 years mark to end the relocation debt. I’m officially an engineer and paid as one, but since the beginning I’ve not been assigned technical work, only small “scripts” or some “data analysis” my manager supposedly needed. I’ve never seen anything I wrote go to production and it’s hurting my self confidence. I’ve already moved to another team after 7-8 months in - because of the lack of technical work and encountered very weird behaviour there too: supposedly it takes 1 year (!!) to onboard onto this team, I’ve never been assigned to technical tasks to this day - it’s mostly been data curation and localization. Their strategy to keep people is to give them overinflated performance review feedback and a handsome bonus and raise every year so they keep their mouth shut to upper management (other offices within Apple). It’s a disgusting tactic. For example in my first year performance review they’ve “made up” projects I had not actually participated in. Management doesn’t care, they say it’s product development and it’s equally important to find solutions that don’t involve code, they have a way of justifying their lies. I’m close to 2 years in and am ashamed of the consequences of this absence from the tech field. In 1:1s with managers or hire ups they always say it’s technical work, but then eventually one finds out it’s data hillclimbing or data curation. I feel my trust has been abused, I’ve moved to another country for this job (jobs in this market are 3 times lower than what I'm paid now so my only chance is remote I guess) and haven’t grown at all professionally. Thanks for letting me share this here, I never thought I’d end up with this dilemma when I was offered this big tech job. I was thinking of anonymously reporting this (company has an anonymous line for this), as having internationals move over for this job and destroying their careers should not be an option. I wish I could just forewarn people somehow about applying here.

94 Views
2 Comments
Mid-Level Software Engineer at TikTok profile pic
Mid-Level Software Engineer at TikTokPosted November 19, 2023

Improvements based on performance review - MLE

Feedback I got feedback on the last two quarters since I joined the company on three things: Impact - E; Teamwork - M+; Technical Skills - M Except for that, something that I was lacking was leadership & ownership. Current Level: Mid-level. ### Question Focus I wanted here to discuss my struggles in improving my technical skills & leadership. And what mindsets & behaviors I need adopt. My focus is more about getting a good rating & having a good bonus. And less about promotion at the moment. ### Discussion At the moment, I rely a lot of my lead to make decisions about things I work on & focus on. This is due to following aspects: 1. I feel part of it is me not having confidence in myself to know what's right. Since my lead has much more experience in this area & I'm very new to it. 2. The uneasiness of not knowing what's the right approach. It's easy to have another person look at it than dive deep into something you don't look of. 3. Sometimes documentation is not in English at my company & that is a burden into looking at things deeply. 1. It breaks my confidence at times & slows me compared to other people who know that language. New tools & languages 1. C++: I haven't spent much time learning it since I focussed on moving fast & creating impact so far. So that hampered me in setting aside time to learn this language that's used a lot in backend code. 1. And at times I ask people in help for navigating code than I should do myself. 2. I'm also haven't worked much in the backend part before being a MLE but now we all have at my current company but I don't feel any new concepts here I need to know. 3. Design patterns 1. I see these patterns in the code-base. Like how they use configs & classes. I see some other people in my team figuring it out very seamlessly. But I don't know which pattern they are using. 2. And I don't know how time I should spend on this. Since reading a whole book on design patterns would be a lot of time. But knowing them would be useful. Algorithms & ML 1. A big part of my job or my main-job is improving the algorithms & ML models to make more revenue. 2. A lot of times, I see my teammates reading similar approaches in the company & adopting them to our use-case. Sometimes doing so I find it hard. Since the docs of these approaches are not in english at times. 1. So I have ask around some folks to translate things. This severely slows me down. 2. The better way could be to read outside papers/approaches but that takes more time. And may not know if they fit so good to our use-case. Would love feedback on how I can work better on these things what mindsets I can adopt here to make more progress.

92 Views
2 Comments
Senior Software Engineer [G4] at Taro Community profile pic
Senior Software Engineer [G4] at Taro CommunityPosted July 26, 2024

Need career advice for a friend who is demotivated and feels stuck in his career

Context can be found below: > I am a 32-year-old engineer with 7 years of experience. For the past 5 years, I've been working at a startup that is around 10-12 years old and recently went public, serving as a mid-level backend engineer. > > Despite my time at the company, I haven't seen much career growth. I received my first promotion after a year and a half, but nothing significant has happened since then. I'm feeling lost and unsure about my next steps. The work is unmotivating, and I feel like I'm not learning or growing. I'm constantly occupied with production issues, and my manager frequently cancels 1:1 meetings. Even though I receive positive feedback, I know I'm not fully utilizing my potential, which is troubling as my years of experience increase without meaningful progress. > > Currently, I'm extremely demotivated and struggle to find the drive to work each day. I wake up feeling stuck and unhappy with my job. Although I get my monthly salary and perform my duties, I'm no longer passionate about my work. I have the knowledge and skills, but I just don't feel like contributing to this company anymore. > > Can you help? I'm not happy with my current situation. I used to be a curious person, staying up all night coding and learning new things. However, for the past two years, I've been merely going through the motions at work. I want to regain my curiosity and sense of empowerment, so that when I go to bed each night, I feel excited about what I can achieve the next day.

91 Views
2 Comments
Mid-Level Software Engineer at Other profile pic
Mid-Level Software Engineer at OtherPosted February 2, 2024

What legal documents do I need to provide before joining FAANGMULA on an existing side hustle?

Today during office hours Rahul talked about this a tiny bit (sans the legal), but I'm curious as I've had many friends who worked at Google previously that discouraged me from applying to Google (like 10 years ago) if I still wanted to do a startup (this was long before Area 120 was a practiced thing). Recently, a friend (VC whose girlfriend works at Google) said many people still build venture/angel funds on the side while still working full time for Google. But of course, don't create your startup company using company property (a la Silicon Valley HBO lessons). Questions (1) What companies are flex about having things on the side - a side hustle (but you can't advertise it), examples being two different companies on both ends of the spectrum: Google, Apple etc.)? I've heard some FAANGMULA companies are more stringent than others (Apple being very much against this and super private and only sorta kind supporting open source, vs. others which are all for it and have accelerator/internal incubator programs at the company (Area 120), or even sponsoring ex-employees (a cohort of my class at Verizon Ventures one year was all MIT alumni, ex-Googlers that were sponsored by Google, paid their incorporation fees, I was one of the two weird VR founder people). (2) I've also heard that from friends if you work at Google, you are not allowed to get paid for speaking gigs on your technical expertise or whatever your functional role is at that company (this differs from from Meta I've heard from other friends). Is this true? (3) If you go into a FAANGMULA company, what info (legally) what information do you need to provide the the employer? What docs from the state/federal/govt or whatever) that says you have a a DBA, LLC, S/C-Corp etc. What do you need to disclose more specifically and what documentation and legal paperwork do you have to provide? For example, I currently take consultations and speaking gig money and have revenue (royalties from my book I published years ago) and plan on having an existing app that generates money in the app store that is runs auto-pilot prior to coming into the company. Also note, that I'm aware that this product should not compete with the company's main product lines.** (4) If you are going to start all this AFTER being hired into FAANGMULA, how do you inform your company employer formally (HR, direct report boss), and that your side hustle does and will not interfere with your primary role at the FAANGMULA company hour wise and that you will still meet all of your core duties/goals/tasks/deadlines for the company and this is sort of 'hack on the weekends thing?'

91 Views
3 Comments
Mid-Level Software Engineer [E4] at Meta profile pic
Mid-Level Software Engineer [E4] at MetaPosted September 14, 2024

Communicating and Asking Questions with Seniors Who Lack Strong Technical Skills

I’ve gone through Taro's courses on communication and asking questions, which were insightful, especially in showing how juniors can learn from senior engineers with deep expertise. However, as an MLE, I face different challenges and would appreciate some insights or thoughts from Alex or Rahul. For context, I majored in math and hold an MS in ML from a top 3 university, so I'd say I have a solid grasp of both the mathematical and practical aspects of ML. Machine Learning can be deeply mathematical, often requiring formal training to fully get it. Some SWEs who transition into MLE roles may lack this foundation, and while they might have been excellent SWEs, the gap in math knowledge can hinder their abilities as MLEs. Here are a few challenges I face with some SWE-to-MLE seniors: Sometimes, my tech lead asks questions that suggest a lack of understanding of ML basics. While directly correcting them doesn’t seem right, what’s the best way to handle this? This becomes a bigger issue when they set project goals that are mathematically infeasible. Without a strong math background, they rely on intuition, making it hard to guide them away from misguided directions. Their informal grasp of ML can also complicate design documents by introducing unnecessary features that don’t align with the project’s objectives. As seniors, they can get defensive and dismiss alternative ideas, which is frustrating, especially when I would need to work on a project with a high risk of failing.

90 Views
1 Comment

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