Taro Logo
Communication

Explore "Communication" on Taro

At the end of the day, working in tech, or anywhere really, is all about working with other human beings. Communication is the core skill necessary to make this collaboration effective.

Found 101 lessons for software engineers with this tag.

How to avoid building the wrong thing when navigating ambiguity?

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

I'm an E5 at a big tech company. I've been on multiple projects where stakeholders waited until the very end of the projects to say, "That's not what I wanted." What can I do to prevent this from happening? I got feedback that I "need to navigate ambiguity". Does "navigating ambiguity" mean somehow predicting that stakeholders want something besides what they sign off on? If so, how do I develop this skill?

This seems to only happen on projects led by E6+ engineers or an M2. I have not had this experience when working with other E5's or more junior engineers.

Examples:

  • Misaligned OKRs: At the beginning of the quarter, my M2 told me that it was okay to have a multi-quarter effort, so I planned to do an analysis and roadmap in the first quarter, then execute on improving metrics in subsequent quarters. My M2 signed off on my OKRs for the first quarter. When I provided my deliverables at the end of the quarter, the M2 said, "That's not what I wanted." Then he told me that he wanted metrics moved, even though my OKRs clearly said it was just an analysis & roadmap. I asked 2 mentors (a Director & an M2 - both not in my management chain) for a 3rd party opinion and they both agreed that there was no way to read my OKRs as moving any metrics. I'm confused why the M2 signed off on it and didn't say anything about it in our team's weekly OKR review meetings if that's not what he wanted. He gave me feedback that I need to "navigate ambiguity." When I asked him for concrete, actionable steps to navigate ambiguity, he said, "If you need to ask that, then clearly you don't know how to navigate ambiguity." I'm so confused! Please help!
  • Low-level design missing on a cross-functional project: The DRI (an E6 backend engineer on a different team) kept talking in circles & refused to answer questions whenever the other mobile engineer and I asked about the low-level design for our project. The other mobile engineer tried escalating to our EM, but our EM did not help us. As a last resort, the other mobile engineer and I aligned on the mobile implementations and built that. During end-to-end testing, the DRI said, "That's not what I wanted." He did the same thing to the data scientist. The project was initially scoped for 6 weeks, but ended up taking 2.5 quarters due to all the churn around "late findings". My EM gave me feedback that I need to have a low-level design before starting implementation.
  • Wrong requirements on a cross-functional project: The DRI (E8 web on a different team) provided a requirements doc that was confusing, meandering/disorganized, and hard to follow/understand. An E7 mobile engineer flagged that the doc is not a proper requirements doc at a TSG (Tech Steering Group), but the DRI ignored him and forced me to implement it. I asked for requirements clarification, acceptance criteria, and end-to-end test cases, but he refused to provide any of them. He told me that the requirements doc was all I needed. I escalated this to 3 EMs (my EM, the project's EM, and the DRI's EM) due to my bad experience from the previous project, but none of them helped me. When I asked my EM point-blank how to avoid building the wrong thing, he told me to just make sure I get sign-off on the low-level design in my mobile RFC. I made sure to get sign-off from the DRI before implementation. I also provided TestFlights every 2 weeks for the duration of the project. On the final day that I was allocated to the project, the DRI asked what happens in an error scenario. I said, "Exactly what was documented and signed off in the low-level design of the mobile RFC. Why would it be any different?" Sure enough, he said, "Oh, that's not what I wanted." When I asked why he signed off on the low-level design, he said he missed the flowchart that described the error handling. This happened even though I explicitly tagged him on that flowchart in the Google Doc. So the overall mobile design was about 80% wrong. Turns out his requirements doc said the opposite of what he wanted and that's why the wrong thing got built. The TestFlights had the wrong behavior starting with the initial build, but he missed this as well. His feedback for me: "needs to make sure we build the right thing". How do I avoid this in the future? My EM was unable to provide any advice on how to avoid this in the future. All 3 EMs resigned towards the end of the project.
82 Views
4 Likes
3 Comments
4 days ago

How to deal with difficult a SWE2 on his promotion to Senior Software Engineer?

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

Hello,

I am an Entry level Software Engineer( SWE 1) in my current team for a year now in a mid sized company. I have a matured tenure( 3 years ) SWE 2 in team who has been wanting to get promoted to a Senior Software Engineer for sometime now.

The situation is, in order for a chance for promotion, this SWE 2 was asked to lead a small feature implementation of 2 people where they ended up missing deadlines twice stating engineering complexity. Due to this situation, whole of the team, including Teach lead and SWE1s have swarmed in to help them meet the deadline which is almost a week from now.

The thing is, this particular SWE 2 has been calling me out in Standup and grooming meeting and in person to EM for not completing my story in time even though I am giving proper updates in standup and Tech lead hasn’t raised any concerns yet. According to this SWE2, the stories I have been working on should be completed in a particular x timeframe because he thinks so. They have not laid out any scope or plan where to make changes for it. Their argument is, unless I complete this task, the whole team is blocked because of me. They made it a point to convey it to EM along with PM. EM reached out to me in frustration and seemed content after I explained him the complexity and was able to deliver it next day morning. I had reached out to other senior engineers on team and they guided me properly to finish this task.

This particular SWE2 again called out my name again in my Tech Leads one of the PR and mentioned that other devs are blocked because of me. Tech lead gave a great suggestion to unblock others ( which he could have asked way earlier and implemented ) and others are unblocked now. When I reached out to this SWE2 asking an estimate for current story, in our 1:1 conversation he mentions go with your speed. We don’t really need your part to be unblocked. It will be a good to have. But he keeps on throwing me under the bus infront of team, EM and PM. This SWE2 lacks technical depth and keeps on checking with me everyday if I need any help. But they can’t explain anything properly and I consider it as a waste of time to even decipher their explanation because it tends to increase my confusion.

If it matters, we have our end year review next week and EM seems to think SWE2 is the one helping me (in fact not at all, can’t even explain a proper code change). This SWE 2 is one of the main reason I was given not meet expectations last time in our mid year review rating. I am scared of how much impact he has because of EM’s calling out, again on my review this year when in fact I have hardly worked with him this year. Please advise how to handle this situation.

181 Views
2 Likes
1 Comment
5 days ago

How can I push back diplomatically against an overwhelming amount of tasks?

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

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.

In light of the recent lay off, my boss confirmed that he's busier than before the layoff, and will be less available given the reorganization within the engineering leadership.  My boss is not going to available and won’t be able to step in when facing high pressure from the other managers. Since my company uses Slack as main source of communication, I usually just cc and tag my manager on slack thread so that raises visibility and awareness.

Wanted to get some thoughts and suggestions on "How can I push back diplomatically against an overwhelming amount of tasks"?

386 Views
6 Likes
3 Comments
13 days ago

What should I do in a situation where my manager is well-meaning but incompetent?

Senior Software Engineer [L5] at Google profile pic
Senior Software Engineer [L5] at Google

Apologies in advance for a long question. Not sure how to ask this question without providing deeper context.


I’ve been working with my current manager for the last 1.5 years. While they have recently helped me get promoted to Senior, it’s been a constant struggle. I dread our 1:1 almost every single week because it always run overtime and we are often still not on the same page. 

I see two major issues that haven’t notably improved in the times I’ve reported to them.

(1) My manager isn’t able to coach me, or any of the SWEs on the team. My manager doesn’t seem confident when we have career discussions - I recently asked them what they thought was the difference between good TL and a great one, and they struggled to coherently answer this. Instead, they said they would know better after the next performance calibration.  Additionally, none of my teammate has gotten proper coaching either.  For example, a teammate struggled to submit code due to their poor code quality and thus had low CL velocity, so my Manager simply told them to submit more CLs, which only made them more stressed without a legitimate way to improve. 

(2) My manager lacks technical understanding of our projects and constantly pushes for speed. My manager was externally hired, and to this day, they don’t really understand the complexity of the work our team does. I understand EMs don’t need to contribute code directly, but my manager almost always underestimate how complicated the projects our team takes on are. As engineers, we frequently have to defend our timelines, which is not only frustrating but also pressures some teammates to favor suboptimal design or hastily done CLs that just causes even more churn. 

The weird part is, my manager often seem unaware of their own actions, and when I talk to them about these issues, they are always receptive to feedback and seem willing to improve. However, I simply haven’t seen enough improvement in the last 1.5 years. 

I could leave, since this is having an impact on my emotional well-being. But I do have good standing w/ my own team and the overall org, and I want to use this situation to learn as much as I could. I know that I myself have a lot to learn as a tech lead (Thanks for , it’s really helpful), and I know I can probably get a bit ahead of our projects and start estimating/de-risking earlier, so my Manager doesn’t get overly aggressive with timelines. I know I can also take this chance to more closely mentor my teammates and help them succeed, since they aren’t really getting it from our manager. 

I want to stay, but is it the wrong decision because I have little career support from my manager? If I do stay, what should I focus on so I can really help my team and at the same time learn something valuable for my career?

1.1K Views
17 Likes
3 Comments
a month ago

How to handle being on a team with slackers?

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

We are 3 people in my team. I've been at the company for 2 years roughly and my team mates for 15+ years. I'm in a situation where my coworkers do stuff, but stuff that's often completely unrelated to our backlog. One of them struggles with being motivated by the job. Occasionally, a 16-hour job takes a month to complete. Maybe 2. And you never know why or when it will be done. This causes a lot of tension with the product lead. The other teammate (focused on the front end) rarely makes any PRs. I'm not sure if it's due to the fact that they have mostly done HTML/CSS and are unsure of how to navigate the frameworks we use or what it is. Our manager tends to cover for us, but obviously he's not loving this situation. It's been like this for 1–2 years. Now it has started affecting my pay raise, and I'm starting to feel tired of always playing dumb or referring to the other great work that they're doing when asked what my teammates are up to. Both seem to be struggling somewhat with stress and anxiety, so I've tried to be compassionate with them. But what do I do? I want to take ownership of the team's performance, but it's difficult to know what to do. They have the senior roles, and they have most of the ownership of the project, so I also feel weird telling them "what to do," if that makes any sense. The company size is roughly 20 engineers, FYI.

Any advice on how to handle this situation nicely, i.e. making sure we're still friends afterward, would be highly appreciated.

97 Views
7 Likes
2 Comments
a month ago

How collaborative, creative, and engineering driven do you get to be in an L5 role in FAANG+?

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

At my startup I was asked to deliver feature after feature + bug fixes by PMs as fast as possible without much time for proper refactoring work or engineering initiatives. Also it was pretty individualistic where you get assigned a task and only work with other engineers during a tech spec review meeting, code review, and syncing with a backend engineer (as an Android dev).

From Alex’s video on getting promoted to tech lead, I saw how you can 1) drive projects as an L5 engineer (vs a PM putting that together with designers) 2) Not have to know how to implement everything yourself for a project, but work with many others and facilitate the team. This sounds 100x more engineering driven and collaborative than at my start up with few developers. Is this common to many people’s experience of the norm in FAANG?

What I liked about Alex's story is also how he had the time and space to do things like document the differences between iOS and Android, as well as go all the way through to making a data analytics plan for monitoring it himself. Seems like a lot of freedom and ownership which I didn't feel I always had the time for personally. Being able to not have to spend 80% of your time coding but rather doing deep work thinking, planing, designing holistically sounds extremely satisfying and rewarding as an engineer. Maybe this also comes with experience at startups as well?

90 Views
2 Likes
2 Comments
2 months ago

How to manage politics from more senior engineering folks?

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

Hi all

I recently joined an organization as a senior where I was made tech lead within 3 months of joining. This was somewhat related to recognition of my work among product and my peers.

I advocated for good engineering practices such as automated integration testing and established projects for cross org collaborations to help deliver whats important for the organization.

All of this was quickly realized as a super critical projects by the organization. I created tech specs and prototypes for these projects.

However recently the organization hired a principal engineer.

since he was new I volunteered to help him onboard and asked for his advice on the new super business critical project that was next in our todo team pipeline. He is an ambitious guy so he wants to create his mark in the organization.

But for some reason the way he is approaching it doesn't seem right to me.

He plans to create a new team taking over the business critical project while splitting the newly formed team I lead on the same project that I helped him ramp up on.

I opposed to this asking for rationale for a new team.

there seem to be now two impressions of my work:-

  1. held by my peers, folks I lead and product manager of good business delivery and product timelines. I am respected among both.

  2. the principal Engineer tries to devalue my work in front of senior engg. Leadership saying things like I am overcommitting and under delivering if I do this project with the existing members of my team in public and in front of senior engg leadership.

The automated integration testing project which no one was doing before and we were starting from a basic version to iterate on. This is now communicated to engg management as every team is trying to do their own testing.

My engg management for some reason is siding with him since he has 15-20 years of experience and i have 5. He also is principal and i am 2-3 levels below him.

for some reason I am being micromanaged with no fault of mine.

From engg management perspective I have been just told to lead the project that I am currently leading and just help the team formed by principal engg to start the project.

I have communicated my expectations of being able to continue leading the project. Product is in support of that but engg managment isnt.

I have also tried giving feedback to the principal engineer that his actions are disruptive to the team and becauase of what he is doing he is slowing us down and blocking us from doing critical projects.

My worry is despite doing the hard work the project I have the most context on and I worked on for a while is being given to someone else and second i will not be given credit for the hard work I am doing.

Should I just change teams. I dont want to leave my existing team because I do think they need me but I feel I would rather create more impact where I dont have to swim against the tide. I may also be suffering from sunken cost fallacy here where I knew I led the development of a new critical project

Tia for your help.

153 Views
1 Like
2 Comments
2 months ago

Wary of current situation in terms of layoffs, need some advice wrt international relocation

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

I have been doing good at my current company, been here for 3+ years working initially as an Entry Level, then promoted after an year to a MidLevel Software Engineer. I have been receiving "Exceeds Expectations i.e. 4/5" rating since the beginning and "Superb i.e. 5/5" rating once.

I applied for international relocation to Singapore back in July. The manager and skip mentioned that while cost cutting is going on, they are making an exception for me and it should be processed completely by initial weeks of January 2023. In times of layoffs, and especially with my company's stocks not doing that good, I am afraid if it could lead to getting laid off. This is causing me a bit of anxiety.

Although it is being mentioned by leadership that no layoffs are happening, we are seeing projects getting cut off, rigorous re-orgs happening, and entire focus of the organisation is on cost saving, which I feel is great especially in current times.

I started the conversations for relocation when times were going good in terms of offers being posted in the market. The teams were thriving as well in terms of work. But by the time entire process got over, it seems the situations have changed. What should I do?

To add on, another thing I did sometime back was to share with my manager on how I am performing several roles of the next level and how it can be used to further the cause of promotion in the upcoming performance reviews. I tried to break down the career ladder doc into key umbrellas of behaviours needed, and assigned the initiatives I delivered under those. Now afraid if this was another way I shot myself in the foot by asking for more in times of cost-saving and probably being conservative. Please assist with your advice.

75 Views
0 Likes
2 Comments
2 months ago

Assigned too difficult work, what can I do?

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

I'm mid level, new to the company.

I got assigned a chunk of a bigger project owned by a staff level engineer, let's call him X, who has worked on the product for a long time and has a lot of context.

Things that were new to me: the language, the tool chain, product context. The codebase is several years old.

My skip level manager (1 level above my direct manager) once encouraged that I should aim to finish my work in less than 2x the amount of time it would take X to do it (but besides this I received no pressure, or reminder to push for this target from managers).

This was overly ambitious. I worked longer hours and harder than anyone around, including weekends but still could not finish it in 3x the amount of time initially estimated.

The staff engineer overestimated what I can do too. He's very willing to explain but I had a hard time mapping his high level explanation to what happens at the code level.

I could not tell if the standard here is high or the task is too hard. So I leaned towards putting in more effort rather than voicing my concern.

I also did not have a good sense of "are these unknown parts of the code base grok-able with a little bit of time or do they require a lot of time?" to estimate time spent up front.

In the end I got some barebone thing out and he took over. Still took him a couple more weeks to get the thing finished. Along the way he solved some problems I'm sure I have no chance of solving in that timespan.

With this evidence I was sure the task was legitimately too hard for me and was comfortable letting my manager know my opinion.

Back up a little bit, when I started working on the project, my manager knew I could not stick to the original timeline set by the engineer and encouraged me to take my time to learn the codebase. What is puzzling is my manager did not tell the engineer about this unrealistic estimate. The engineer reports to a different manager and has been around way longer than my manager.

Maybe there is some politics going on that I'm not aware of.

Anyway this has been a very stressful experience.

What could I do better? What should I do to mitigate any harm done through this experience?

92 Views
2 Likes
2 Comments
2 months ago

Per last performance review, how can I best demonstrate that I've improved since then to my manager?

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

I've gotten feedback from a mid performance review and my manager wants to see improvements in various areas. It includes improving my debugging skills by paying closer attention to pertinent details (and not getting distracted) for example.

Since then, I've become much more conscious and aware of the errors that I run into and much more deliberate in my debugging approach. This has resulted in me being able to diagnose problems much more accurately, and has also lended to me problem-solving much more effectively as well.

The problem is I'm not sure how to best demonstrate (or prove) that value improvement to my manager. Unlike PRs (which are often more visible in the value it demonstrates) -- you see what you get, my debugging skills/tactics are not readily obvious to the outside party unless they're observing my day-to-day activity. I can say that I've gotten better but if I have nothing to back that up with aren't they just words without weight? Who's to say that I'm even right in my own assessment without social feedback? I could be dunning kruger for all I know.

Is it enough for me to simply document those performance improvements and share (or talk about) them with my manager?

Note: My ultimate goal is to get promoted so I'm trying to (1) show that I've taken their feedback seriously and (2) demonstrate actual improvement since my last performance review.

Let me know if I'm thinking about this the right way or if am I overcomplicating it. Thanks!

76 Views
1 Like
2 Comments
2 months ago
Taro Footer Icon
Taro Footer Logo

Explore by company

AmazonGoogleMetaMicrosoft

Explore by level

Entry-levelMid-levelSeniorStaff
Taro iOS appTaro Android app
Copyright © Taro