Becoming a tech lead is the most common growth path for software engineers as they grow to senior and staff levels.
What is the role of Staff Engineer at a early stage startup where infrastructure is on an average setup? In terms mobile application it is standard app with migration scope to react native but there are no takers for migration at all (only product release need)
Here how can staff engineer play a role and how to deliver product and engineering goals with awareness to large eng teams?
My team took over a system that we didn't write about a year ago, and it is the only system my team owns. It is a highly critical service in my org.
I was happily making changes to it all of last year, but I broke production twice in a few months, and then almost a third time, and now I have lost faith in my coding ability.
The benefits are that it prevented other teams from experiencing these issues and I took full ownership of resolving them, however, the outages seem to be something that is hanging over my EM's head in spite of it.
How do you get out of this rut?
I work as a mid-level software engineer. We have team channels where people can reach us on. But for some reason people always message me in a private message or they visit my office for team related tasks or product owner tasks. I keep telling them to ask the person in charge or communicate through our team channel, but they don't.
I don't want to be rude to them, yet I find my frustration growing. Sometimes I feel like they can't bother to formalise their requests, so they go to me to quickly mention whatever is bothering them, so they later can refer to our "discussion" if the issue is brought up again.
What should I do?
I would like to understand how can I drive an effective Tech discovery session (just had a PRD walkthrough) with the team (remotely working) before we start writing a detailed system design document. The engineers are mostly L4 and are still learning how to effectively collaborate instead of full blown meeting.
I'm a tech lead on a long-running project that has gathered momentum over the last couple of months after being in a slow death phase for a many months. Recently, a couple of senior engineers joined the team and we've gotten rid of a lot of things that were slowing down the project. We've managed to hit many awesome milestones on time as a consequence.
The project is nearing it's endgame phase but we've unfortunately hit a snag in this last leg due to which it seems that we'll be missing the last couple of deadlines by a decent margin. Due to the expectations that we've set by consistently delivering on time for all the previous milestones, our manager has suggested "pushing" to meet the last couple of deadlines.
I don't want to ask my team to work overtime or on the weekend to meet these deadlines (especially since we've been doing a great job of turning the project around and delivering on time). How can I push back against it in a manner that does not impact my currently ongoing or future performance reviews?
Say you want to research on a topic for resolving an issue and want to share with the team by creating a Google Doc. How does one master the skill of creating an high quality Doc?
My Senior team member, top performer, is super solid at creating Google Docs and churns out one great doc almost every week. He said he just focuses on just dumping out the thoughts in the first go and fixes them later on. But I feel his velocity in getting that doc out or completely the research on it is very fast. So clearly there is something that I am not understanding.
So I am looking for opinions from experts on Taro :)
Due to unforeseen circumstances from past 6 - 8 months, I've been the Senior most engineer in my team, (I have a total of just ~2.7 YOE). My team consists of ~12 SDE 1s (New Hires) and 2 SDE2s (The other SDE2 being promoted very recently). My manager does a great job filling the role of Senior Engineer which reduces bit of pressure off of me.
However, due to necessity in the team I've ended up being SME in all the services owned by our team. This leads to everyone reaching out to me to help them with their queries, I try to document some of these and add in the Wikis so that it can be easily accessible for others next time. However, when it comes to certain tickets and issues, I end up having to pick that task up myself (Manager does not ask me to, but at same time i know that for someone else the ramp up time required to fix the issue would be too high).
I recently tried to reduce this (2~ months ago), this led to our overall ticket health getting worse and I had to again start looking into them myself and guiding each on-call cycle with right action items for the tickets etc.
This involves me helping them to do the following :-
Due to which it ends up taking 6+ hours weekly to keep this running. I don't really mind doing this; however, I don't feel like this is a scalable solution and would eventually want to slowly scale down from doing this and have my team being able to be self-sufficient.
What's the best way to go about this without affecting my team's ticket health?
We currently have a problem with test flakes happening very often.
Someone is currently working on a systemic fix, but in the meantime, I've taken it upon myself to be the leader in categorizing and assigning people to take on some of the existing flakes as they happen. I am assigning based on who has the most context or who wrote the original test.
My question is: How can I assign these in a way that doesn't cause people to dislike me? I ask as someone who needs to delegate in my role but also needs to get buy-in for various initiatives so its important that people like me.
A couple of things I've tried:
Any better wording of the "ask" or advice around this situation would be appreciated!
I am working as an Entry level engineer at mid size product based company. In my end year performance review, I got a feedback that I can work on improving my debugging and technical skills more. As well as, knowledge of other features and overall product as a whole would need to be increased as well.
My Tech lead has offered to mentor me by conducting 1:1 sessions to help me improve at debugging and help identify patterns and teach basic principles. 2 other senior engineers on the team also reached out and offered to conduct sessions regularly with me, for which I am really grateful.
For more context, all my teammates work remotely, so it is not beneficial to go to office. My question is, how can I best utilize these sessions with the senior engineers on team to improve more and skill up? That is, what kind of preparation/ questions should I have ready to make the most of these sessions?
We use JIRA for writing up tasks, which the respective engineers always make, but there is no sprint. So, we need more sprint retrospection.
All communications are done very vaguely via a Slack message, sometimes a word with little but no context or a screenshot.
I want you to know that I'm concerned about communicating this request for proper planning with my manager.
As a senior engineer L5 in my company for 1 year, I recently found myself in a new team with a new direct manager but report to the same Director in the same Org due to the recent company restructure/company reorganization as part of layoff changes. My Director and I are the direct responsible individuals for the Backend Platform System for the last 1 year. However, I am finding that a significant portion of my time is being taken up by "glue work," such as onboarding new teammates, updating the Wiki, documenting On-call Runbook, mentoring cross-functional team members, providing code reviews for new developers, and unblocking people in their code development. While these tasks seem important, they are making it difficult for me to focus on my own projects.
In my first one-on-one, my new manager expressed a desire for me to take on new initiatives. I am eager to do so, but I need to be able to focus on my own work to make this possible. My manager understood that the frequent on-call support was a blocker for me and asked me to train and onboard a new teammate to take over the on-call support, as well as field requests from users and help others with their work. However, I have still found myself doing a lot of training and providing support even two weeks since my last meeting.
I would like to hear from others who have found a way to balance these responsibilities effectively. How can I prioritize my own work while still contributing to the team's success? I know this will be a difficult decision, and I'm not sure how to approach it. I'm worried that if I stop doing some of these tasks, it may impact my relationship with my manager and team.
If anyone has faced a similar challenge, I would appreciate hearing about how you approached it. Did you stop doing certain tasks and responsibilities, and if so, how did it affect your relationship with your team? Any advice would be greatly appreciated.
I'm an E5 at a Big Tech company. My EM's pushing me to lead projects on our team so I can work on getting to E6. This is challenging when the E6 on my team tries to micromanage everything. How do I lead when I keep getting overruled? The E6 usually makes good decisions, but oftentimes struggles to articulate his rationale / justification.
I am a tech lead for my team of 5 engineers. I am also a senior eng intending to climb up to staff level.
My manager is not very vocal or supportive and seems reluctant in terms of helping out a plan for myself. I have been working hard though. How can I work with my manager to create a promotion plan for myself and get buy-in from them?
I am not sure if I should move up the eng ladder or transition to management, but are there any guidelines for creating a written promotion plan and manage up so to speak?
I am mentoring juniors for the last few weeks. In the past, I've been mentoring people with some professional experience but this colleague doesn't have any. Now, after these few weeks I am wondering:
I think the colleagues are really motivated and this is one of the reasons I want to help them. I want to be sure I did everything I can.
I joined my current company a bit more than a year ago as an L4. Within 4 months, I'd launched a high stakes project, and after some churn in the team leadership, I was put into the role of being a tech lead to my remaining team of L3s.
As a pseudo TL, I did well in the mentorship and technical guidance responsibilities, but my code output dropped drastically (due to my projects being in the design phase which were being done by my juniors with me providing high level guidance).
In the last three months, I suffered some mental health issues. My work productivity dropped significantly during that time. I've been very open with my manager about my mental state throughout this process, and they've been very supportive of the things I need to do to recover. Around this time my team also hired an L5, who is now officially the TL.
Due to my drop in performance in the latter half of the year, I'm afraid my manager won't trust me with important projects. I wonder if I need to again prove my credentials to keep me on track for L5. I feel very low about my software development abilities.
This has made me demotivated and disinterested in my work. I took a couple weeks off, yet I don't feel like going back to work. I'm not considering changing teams due to immigration issues. I also don't want to leave a team on a low.
Any tips on turning around my motivation, and trajectory on the team? What can I change in my mindset and working style to overcome my struggles?
For context, I work in a tech lead role where I am often making recommendation to my manager regarding the projects coming down the line. The EM has the final say on this, but they respect my opinion on this matter so I don't want to mess this up.
I also have 1:1s with my teammates whom I am responsible for about their career growth goals. My teammates are all the same eng level, but have different levels of competence and desire to learn.
Additionally, I also know it's important for me to leave some room/ambiguity in project investigation stages to allow folks the space to grow, while it's also important for me to take on some challenging work and help our team deliver more quickly. I guess my question is really 2 parts:
Over the past year, we've focused on developing our product quickly, which has led to a significant amount of technical debt in our codebase. As a result, we've shipped applications without proper architecture and planning. However, when I suggest refactoring or re-architecting to my team, many of the senior developers and the engineering manager are skeptical. In my opinion, I am not just offering refactoring for just sake of refactoring; it's necessary because our current code base lacks abstraction and separation of concerns and has slow development times.
In those examples, how can I reduce skepticism in my team and bring more productivity, and more good code quality, and best practices to my team?
As a Senior software engineer working at a mid-size tech company, I’m still learning how to properly push back when others Sr SWE & managers or Directors from Web or Mobile team tried to get me to do tasks that do not match my own priority. As much as I like to be nice and support others, I agree that I can only do so much. I brought this up with my direct manager and my Director (L7 Senior Manager & L8 Director), and they told me to loop them in when I face overwhelming pressures from other engineers/ cross-functional teams. My direct manager also told me they wants me to be able to focus on big project initiative, and they see that I am on track to be the Tech Lead given my current trending.
While I do appreciate that my boss gives me words of assurance and direction and offered to step in to fend off those pressures during my one-on-one call, I recognize that I would have to be the person who is good on establish priorities and be able to push back on people. I cannot really rely on my boss to do the push-back to fend off the pressure given that with the recent layoff, we are short on staff.
Wanted to get some thoughts and suggestions on "How can I push back diplomatically against an overwhelming amount of tasks"?
How does it differ from an entry level engineer to the head of engineering level at each of the levels, given the scope grows as well at each level?
How do each of the levels ensure they are onboarded as quickly as possible to have maximum impact ?
My manager suggested that I work on the skills below to advance my career. Do you have any masterclasses or other resources to develop these skills? I added links to the resources that I know about.
* Stakeholder management
* Project management
* Design & architecture -
* Communication -
* Leadership -