Taro Logo
Profile picture

Tech Lead Q&A and Videos

About Tech Lead

Becoming a tech lead is the most common growth path for software engineers as they grow to senior and staff levels.

How to remove yourself from being a bottleneck?

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

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 :-

  • Prioritize correct tickets to look into for the on-call cycle.
  • A potential fix for the ticket so that they know where to look into.

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?

Show more
2.6K Views
4 Comments

How to Balance Responsibilities: Prioritizing Personal Work vs. 'Glue Work' in a New Team Environment.

Senior Software Engineer at Ex-Apple profile pic
Senior Software Engineer at Ex-Apple

Hello everyone,

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.

Thank you.

Show more
2K Views
4 Comments

How can I help juniors?

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

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:

  1. How much time should I spend helping them? Currently, I have to spend 2-3 hours for person per day otherwise they will be blocked for days. Even though I am trying to explain that they can ask other colleagues as well, they are not asking anyone else.
  2. How can I be sure what are they suppose to know and what's not? For me, I have my own understanding of what they should know but I know for others may differ. In my country the juniors must be part of an academy before applying for a job. I know what they learn there, so I know what hthey should know and what not. Now, after these few weeks I realize they have gaps which they shouln't have. On the other hand, the academy is typically more than an year and it makes sense many things to be forgetten with the time.
  3. How can I measure properly their performance since they are just starting? What is a normal performance?
  4. How deep should I go in explanation of his questions? I believe this is where the high quality questions will help them, but I believe they have a lot of gaps to make a quality question and give the proper context.
  5. How can I help them to improve their questions instead of having to explain for hours one topic and then another, etc?
  6. When should I say I give up on him? I really want to try everything before giving up.
  7. How to stay less emotional when explaining the same things for hours to the same person?
  8. How can I help them to understand me better? Sometimes, no matter how am I explaining specific case/topic and no matter what examples, nothing helps.

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.

Show more
1.5K Views
13 Comments

How to turn around my trajectory on my team?

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

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?

Show more
131 Views
3 Comments

How to become a top developer in outsourcing company?

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

Even though starting to work for a big company like Meta, Amazon, Google, etc. I believe is a hard to achieve (I haven't work for) somehow it looks pretty straightforward. Learn for interview, get the job, level up. Yes, I am sure it's hard and not many will do it but still you know what should be done (yes, may don't know how). But let me tell you a different story:

I work in a not that famous country in the EU and non of the top tech companies is there. Actually 90+% of the companies are outsourcing companies. As a SE with 10 years of experience in the outsourcing world I can tell you how it works: you work on a legacy code which is so old and so bad (hundreds of people have tried write code there) you can't see good practice at all, no code reviews (sometimes there is bad it is very rare), no unit tests, performance review is only about client's feedback and so on, you got the point. It's about the money only and nobody cares if you are good or not if the client is happy. In very rare cases I have started something from scratch but all of my colleagues were so bad progmmers like myself that we messed up all. It's a deadlock. After 10 years I realized I am a bad programmer and I've seen so many bad practices that I have no passion to do anything anymore. Now to the questions:

  1. Is it possible to apply best standards in an outsourcing company like those in FAANG and if yes, how?
  2. How can I fill all the gaps I have at the moment? Can I fill all the gaps with side projects only? How can I fill them when nobody will teach me anything new. Nowone will review my code and like @Alex said, they are the main source to learn :) How would I know is the code good or not? Could it be better?

The ultimate goal of my career (and maybe in life) is to fill the gap not only in my skills but to create a company (product based or outsourcing) where everyone who join to have a chance to become a great programmer. But before helping others, I need to help myslelf. This is how I found Taro.

Show more
296 Views
7 Comments

Ok to have low code output for IC5?

Senior Software Engineer [E5] at Meta profile pic
Senior Software Engineer [E5] at Meta

This quarter, my skip requested/ gave me an opportunity to lead an org wide efficiency initiative as we are at risk of hitting quotas for some internal services (he mentioned potential IC6 scope) and it’s quite urgent to act on it. My role is to start and lead a large team of engineers on this initiative which involves tons of direction to ensure our org isn’t over quota. I would look my role as a hybrid of TL+ TPM with following responsibilities: analyzing data to find opportunities, creating roadmaps for the program, supporting engineers for execution to reduce usage, project management, understanding and enforcing processes, building knowledge on internal services, coaching engineers, setting Eng excellence culture within the org. All that to say, given limited time and a need for someone to lead, I will be focusing on direction and delegate all of the execution work to the squad.

  1. How risky is it to have low code output as an IC5? Given the year is just starting, does it make sense to explicitly discuss this with my manager and skip that my code output will be close to zero in Q1?

I did read some accounts (anon post on WP) where EM and skip aligning on low code out out but the IC5 still got MM at the end because they had only 10 diffs for a half. I don’t want to be in that position.

  1. Should I deprioritize some direction work and allocate some time for coding on my timeline through P2 projects? This will increase diff count but that just seems not a great usage of my time. TIA!
Show more
370 Views
2 Comments

Learn About Tech Lead

A tech lead is a senior member of a software development team who not only has strong technical skills but also takes on a leadership role. Unlike a traditional manager, a tech lead focuses on guiding the technical direction of a project, ensuring alignment with business goals and fostering collaboration among team members. The role demands a delicate balance between technical proficiency and effective leadership.
One of the primary responsibilities of a tech lead is to provide technical guidance to the team. This involves making high-level technical decisions, ensuring the adoption of best practices, and overseeing the implementation of solutions that align with the project’s requirements.
A tech lead has a crucial role in fostering collaboration within the team. This involves facilitating effective communication, resolving conflicts, and promoting a positive team culture. A tech lead creates an environment where team members can share ideas and work together seamlessly.
They aren’t typically regarded as project managers, but tech leads are often involved in project management. This includes task allocation, timeline management, and ensuring that the team can meet all of a project’s milestones. Balancing technical objectives with project goals is one of the key responsibilities of a tech lead.
A tech lead has a responsibility to mentor their team members. They should guide junior software engineers with knowledge that they have gained during their career as a software engineer. They should be providing constructive feedback and creating opportunities for getting their team members promoted.
A skilled tech lead will influence the success of a project. Their technical abilities and leadership contribute to efficient project execution and ensure that a team delivers high quality software within an established timeline.
A deep understanding of an organization’s business goals, technical understanding behind a team’s stack, and a broad knowledge of the system architecture is essential to becoming a tech lead. They must constantly be aware of what is happening on their team as well as adjacent teams. They must also have a proven track record of success.
The impact of a tech lead extends beyond just coding. Their role is significant in driving the success of projects and teams. They are able to build software with a business context in mind. They know how to structure a project in a way to reduce risk and increase confidence in the project. Taro contains resources that can help you to become a more effective tech lead.
Show more