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.
I started my career in a mid-level startup that was on the verge of IPO. I contributed a lot. Learnt a lot in terms of how to deliver big scale features relatively quickly, work within sharp deadlines, owning features and products. I was a high performer.
After 2 years of working in that company, I decided to switch to Big Tech for better compensation. While Snap is not exactly a Big Tech company, this is what I had in mind when switching.
I immediately started adding value in terms of delivering features and owning products. However, since I come from a mid-level startup, my soft skills are very weak. I am an excellent programmer, but I struggle writing Technical Design Docs. I deliver features quickly, but I don't know how to contribute to the spec sheets and writing launch emails, holding engineering sessions, efficiently using 1:1s. It feels like in my previous company, delivering features on time, writing quality code was enough to be a high performer, but seems like Big Tech requires a lot more. My manager's ex-Amazon, so he values tech docs a lot, and I feel like I am missing a huge opportunity here by not being good at them.
How do I adapt better to this work environment ?
I have five years of engineering experience. I joined a product-based company last year as an SDE - I, after six months of working in the organization. I felt that I qualify as an SDE - 2.
I cracked an engineering manager round, which is the final technical round in a different product-based company. On paper, it has more scale and value.
I need help navigating the compensation, which I have to discuss tomorrow.
During design meetings, when there are questions that causes circling around a topic that is marked as out of topic. Even though I tell people that it is out of topic as we don't have time to build it and no plan to build it in future and people are still ask questions about same topic. When I personally feel its a nice to have feature but the scope has already been defined, what to tell and move forward to continue with the rest of the design?
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.
Finding a solution is one thing but you don’t understand it unless you can communicate it and others can understand it too
This becomes specially important when you are blocked and adds an extra layer of complexity when finding a solution can already be a challenge
What good practises can one apply to get better at this?
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.
I have had issues with some of my teammates where code or docs don't get reviewed early and a ton of feedback is left the day before the deadline. This is after sending multiple reminders almost everyday leading up to the deadline and I don't like escalating because it feels like I am snitching on them. I do give reminders in our weekly standup and our common channel.
I got tired of this happening and setup a code bot to send reminders to everyone in the code channel and have considered sending out email reminders (nobody else really does this) or booking a meeting in advance before I even start coding. I tried a concept similar to RFC but I still don't get feedback in time. I get it people are busy but they just completely ignore me, I don't even get a slack sometimes saying they are busy.
I am an SDE 1 if that helps
I work as an E4/L4 equivalent Software Engineer at a fairly big tech company (5k+ employees).
My org's Senior Director is interested in helping engineers in his team develop good soft skills which align with one's career aspirations.
I have my 1st recurring 1:1 with him soon where we'll be brainstorming over which skills I can work on one by one. I want to go in this meeting with some ideas.
Personally, at this stage of my career, I haven't thought about whether I would like to stay in IC role or get into management some years down the line. So for now, I want to work on the soft skills which would generically provide best returns in future in the tech industry.
The ones which come to my mind are -
- Presentation Skills
- Leadership Skills
- Conducting meetings well with a large audience
- Decision Making
Can you please share the right skills to work on from your side ?
Also any pointers on action items I can take for each skill you recommend (or for above mentioned skills) will be of great help too. Thanks.
I had a career discussion with my new manager during my one-on-one meeting. I did ask him if he is ready to put me up for promotion to senior software engineer. He said he will gather feedback and get back to me next week. In the following one-on-one discussion, he brought up a few points as feedback.
I am actually upset and demotivated. How can I handle this situation? How to move forward with my new manager regarding career discussion?
In the previous cycle, I wanted to be promoted to senior, but my manager stepped in relatively late into the process to let me know that my promo packet had gaps. Because of this, I wasn't put up for promotion and I'm still at SW2.
This all caught me completely off-guard, and my goal is to make sure this doesn't happen again in the next performance review cycle. How can I make sure that my manager and I are completely aligned going into the next promotion process, and I'm not hit with any last minute surprises?
How to navigate working with new engineering manager who is away for 1st month?
From my first one-on-one with my new direct manager (M3), my new manager tell me that he will be away 1st month to travel to Asia for family visit. My new manager told me that he would only be avaliable during India timezone so he will not have any one-on-one with me due to time zone difference. So he asks me to work directly with the Director (M4) for this month. I have worked with this director for 8-12 months last year, who are my current Director (M4). Wanted to see if anyone has any thought on how to navigate through the next month while my direct manager is gone and won't be avaliable for me.
My direct manager reassures me that I will still have one-on-one with my skip on a weekly basis, and nothing should have changed since I worked with my Director (M4) before as I was his direct report as Senior Software Engineer.
Wanted to ask if there's anything that I should consider for this 1 month of transition with my new engineering manager?
Recently I completed my first-ever proof of concept (POC). I got positive feedback, but I think it's because the manager understands that I am doing this independently for the first time. After giving credit for my work, one senior member broke down the task into smaller pieces with step-by-step technical sources (from blogs), which made my life much easier. Now when I am re-evaluating this now, I observe the following:
Since it's likely to have more POC shortly, and I am sure I will face this situation, I want to overcome the nerve and ask the right amount of questions (not too much, but good enough to unblock me) during growth along the POC task.
Thanks ahead for your sharing!
I am working on my P0 goals for this half however, the XFN is not communicating well. I am done with my changes and blocked on them for days. They don't review code as fast as I need and keep me waiting. How should I approach them? Also, I want to build good relationship with them for a good Performance cycle feedback. I think they don't take me seriously. what is the right approach here?
I've seen multiple E6s point out flaws in others' proposals, but don't offer any alternatives of their own. What's a good way to navigate this? This is extra tricky when we're on the same team and they're the designated code reviewer for my work.
Example: I ran into a limitation with a 3rd-party SDK. I proposed 2 options as workarounds, but an E6 rejected both options due to their limitations. When I asked him for his recommendation, he could not provide any alternatives but still insisted that I find a solution without any limitations. Thankfully an E7 on another team helped me by providing a viable workaround after 3 E6s were stumped by this problem. What should I do if I'm not lucky enough to have an E7 help me next time?
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"?
As a senior IC, I am included as part of leadership meetings (Director+). I gain a lot of early insights into business direction, which is great. However I would like to see how i can take part in the discussions and have effective conversations?
I am looking for a book suggestion and/or framework to use on how to go about improving on this?
Few dimensions which could impact this -
I am about to have a conversation with my manager for asking me to convert into full time.
I am an international student in USA and I have tried to search for FT’s but in current job market where a lots of companies are on hiring freeze i dint get a lot of opportunities and very few opportunities i got wanted to hire me at lower salary than I am earning in my current internship. So, I want to stick with the company am working with. Also, I loved the team and work culture there are strictly no complaints. All the team and my manager are impressed by 2 projects that I did in my duration of internship.
So in my next call what all things I should include/highlight to make the transition from an intern to full time?
I am working on a project with sister team under my skip level manager. My manager does not manage that project. How do I approach him to ask that I want to work on a task with end-to-end ownership?
An XFN stakeholder came up with a last minute requirement for a big project I'm working on, which will probably slow down the launch by at least a couple days. I already made promises to other XFN about the launch date.
What's the best way to mitigate the heat on failing to launch on time and zooming out, how do I deal with last minute launch blockers in general?
I will be moving to a new team soon. Is it recommended to ask for feedback from my old team before moving out.
I have good relationship with my team and I want to leverage them to know more about my overall contribution as a team player and engineer.
What is the best way to do that ? What type of questions I can ask ?
I want to avoid falling into same mistakes and grow faster in my new team.
My company recently laid off 15% of its workforce. I'm currently in the process of updating my resume, and plan on prepping for interviews again (doing LC) once I come back from vacation.
After my LI announcement of the recent layoffs, recruiters had started to reach out to me. I feel flattered by the response but I don't feel that I'm ready to take on interviews yet before I do some proper preparation.
Should I ignore calendly invites and wait before aggressively reaching out (to network/connect) with recruiters when I'm in a more ready position to apply?
Is there any value in starting these conversations at all at atm? Or would it be a waste of my time -- and I should instead focus my time and attention towards prepping for interviews instead?
Currently, I'm not really looking to rush the process and I feel like recruiters can be pretty pushy sometimes in wanting to fill in roles for companies.
Recently my company has split up a core team into two teams. One team is to keep on building the core infrastructure for the product and the other team is supposed to be working in an advisory position with other web applications teams that depend on the core infrastructure. Without dwelling into more details, this core team builds, and maintains datastores, that other web applications consume. A big part of the job is to build google search type infra (on a much smaller scale of course) and data processing pipelines.
Now working with other teams is exciting. But just focusing on one task that is doing tickets/changes/investigations that help them implement some specific features w.r.t to core infra, is kinda troubling me. As it puts me in a passive position and does not clearly define metrics for success. It also puts me on the borderline as I am neither doing core infrastructure-related work nor I am completely part of the other team. The idea is to imitate how Staff engineers work across teams. But I am a Senior engineer (just recently promoted).
Though this is clearly a growth opportunity for me, I am a bit worried about falling behind and not meeting expectations. Any advice on working with cross-functional teams?
What I've learned over the years is that the most important thing to do when I realize a project is late is to:
What other tips do you have?
I joined about 6 months ago and my manager is absolutely great. I don’t have anything where I think they can be better at at this stage. At the current stage, I feel like I have a lot of self improvement to do before expecting anything more from them. What do I say in the critical feedback section for my manager?
I joined a company 6 months back and from start I am noticing that some of the engineers in the team are constantly underperforming and I can hardly see them working on any task. This puts additional pressure on other teammates to perform as we set team sprint goals considering availability of all engineers and we find the team always lag behind the deadlines.
I am wondering what should be the right way to discuss this with my manager during 1:1’s. I don’t want to sound like I am pointing fingers on others.
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?
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.
Context: Working in a small startup where there are a very small number of wiser senior engineers
Everyone in the development team contributes to code reviews
Often I’m unsure about the quality of the feedback and when to act upon it
Sometimes people even change their mind after you have acted on that feedback which is frustrating and can contribute to the delay of finishing a task
Does this also happen in big tech? How do you handle these situations ?
I worked on a large org-level, cross-functional project led by a TPM and an EM. Since there were so many engineers on this massive project, we were organized into smaller pods/subteams with pod leads. The TPM had standups 2x/week, and my pod had standups the other days of the week. My pod was loaned out to help a stakeholder team from another org. The TPM only attended his own standups and sometimes missed some. The EM attended most but not all my pod's standups as well as most but not all the TPM's standups. My pod lead attended most but not all of those same standups as well. The POC from the stakeholder team was not invited to any of these standups. Since the TPM's standups had so many engineers, we only gave high-level updates in that meeting.
In such a situation, how do you keep all the stakeholders (TPM, EM, pod lead, stakeholder team's POC) aligned and up-to-date with any challenges such as scope creep, bugs, delays, etc.? There was a slack channel for the overall cross-functional project and a separate one for my pod, but none for working with the stakeholder team's POC (all such communication was via DMs). When the stakeholder team's POC dropped the ball on things, how do you escalate in such an ambiguous situation? The TPM sent weekly "Weather Reports", but those emails were very high-level.
Sometimes people forget to follow up on their Action Items from meetings. They sometimes misremember meeting decisions as well. To mitigate this, I usually take detailed meeting notes in Google Docs and tag people on the Action Items they're responsible for. However, we don't always have meeting notes (e.g., for an ad hoc situation). What are some best practices for avoiding misunderstandings?
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?
I was curious to learn your take on strategies to push back when the expectations are not realistic. I want to expand my scope and feel that there is lot more scope for me to learn and navigate better. According to me, data and communication plays a major role here.
More specifically in my case, I am wondering how to account for me not being well versed with tech stack and constant context switching between clarifying requirements as they keep changing with each question of mine. How to politely and effectively communicate that although this may seem like a small increase of scope, given that I have to figure tech stuff it will be stretch.
Adding more context: It's trickier as I'm pretty new to the team and tech stack. I feel like I'm discovering a new requirement with every question I ask. I've set up recurring pair programming sessions to increase my velocity, but I'm not sure if that's enough.
Follow-up question: What research should be done before establishing the conclusion that expectations are not realistic?
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:-
held by my peers, folks I lead and product manager of good business delivery and product timelines. I am respected among both.
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.
When I've been helpful in the past, word quickly spread and a bunch of random engineers started pinging me for help, sometimes aggressively. Sometimes people would delegate grunt work like asking me to test their PRs that do library upgrades instead of testing them themselves. Or asking me to debug their dev environments because they heard I fixed another engineer's dev environment. Sometimes it'll just be asking for expedited code reviews even though I have no domain knowledge on their PRs. We work on the same platform, but are not on the same team or often even the same org. There are only so many hours in the day and I need to get my own work done as well. How do you decide who to help and under what circumstances? Advice on how to push back without damaging the relationship? As far as I can tell, it looks like anyone from E4 through E7 are the ones making these requests.
I want to give feedback to my manager.
This person just joined the company as my manager.
So far as my manager, this person has been nothing but helpful.
I only have good things to say. Is that normal ? How can I share more
Hello. For anonymity, my name is John, and my coworker is Bob.
Bob is relatively new, so I help Bob out when he's blocked on a JIRA ticket. I don't mind helping, but Bob only mentions my name during standup when he's unsure of something (e.g., John and I worked on this ticket, and we think this might be the issue).
During the times my name was mentioned, I probably did think that was the issue, but these are incomplete thoughts + theories that I'd rather not be publicized if I am wrong (I don't mind being wrong in public, but I'd rather be wrong on my terms).
I don't think Bob is doing the above on purpose, but it does bother me.
Here are some possible solutions I've considered:
I think (c) is too confrontational, and given that I don't think that Bob is doing it on purpose, I can probably skip this. I want to stick with only (b), but I want the option to share an incomplete theory as it may indirectly help Bob to a solution or teach them something new.
What do you all think?
I ran into this issue a few times so far:
I'm the middleman, bouncing back and forth between solutions. Getting blocked at the PR level (sometimes before that too) by either stake holders.
It's demotivating, I do not get things done quick.
What should I do?
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.
I have realised over the years that I have gained good amount of technical knowledge but I lack great communication skills (in terms of expressing my thoughts). This was okay till I was working as software engineer as my task involved more of coding work which does not require explaining things to large audience. Now as a Senior Engineer my task revolves around making design choices, explaining pros/cons of selecting an approach etc. I realised that even though I am confident on my technical approach, I sometimes fail to express myself and the approach in the right way during the discussion which led to times when my approach is discarded and others as selected as they express themselves better. I need some suggestions on how to improve on this aspect as this will be crucial part going forward in my career.
I've done various presentations throughout my career, and I always get stressed out doing them. I'll make slides/a script beforehand and pull all-nighters the day before. I'm okay presenting in front of smaller groups, but it's hard in front of larger groups.
How can I get more comfortable with this, especially with higher stakes presentations like those trying to get buy-in from a large group of senior+ engineers and tech leads?
As an E5, I'm switching to more of a tech lead role, and one of the engineers I'm leading has had consistently poor code quality despite being at Meta for a few years now.
I've asked my manager for feedback about this, and they say that we should come up with a plan to improve the situation. I've already invested time in this, and I'm not seeing results. How can I get the code quality feedback to fully land and improve this engineer's code?
A little context: I joined my company back in Jan and have been doing really well. I’ve been consistently pushing code, owning projects, and creating good relationships with my colleagues.
This week I’ve been really sick and it feels like nothing is going right. I have been running an experiment for a couple months and today I found out that one of the arms is bugged because I introduced it a while ago. After a scrambled meeting with my lead and manager, I addressed the bug and pushed a fix but because of freezes my bug fix won’t actually be in til after year end. My manager stated that they wouldn’t have expect an engineer to not notice a bug like this go on for so long.
The business side is actually not even interested in the bugged arm and would like to go with an approach I proposed earlier in the project.
I’ve learned a lot since I pushed the bugged change and my code and communication has improved but my managers comment plus all the news about layoffs and perfs and PIPs has had my anxiety through the roof the past few weeks. Anyone else feeling the same?
DoorDash has a tradition where your manager sends a "Dashiversary" email to the entire company on your work anniversaries. The manager creates a Google doc and collects notes & photos from your colleagues and cross-functional partners, then adds his/her own note at the top of the email. Given the impact of Deep Thanks, what should I write in these notes to leverage these opportunities to build relationships?
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?
I work on the only revenue-generating team at my company. In theory, we have a standardized set of products that we sell to customers.
However, the go-to-market team has been advertising more and more custom solutions to customers, causing engineers to be stretched thin to accommodate the non-standard changes.
As a team, we recognize that there are repeated features with these custom solutions, meaning that we could, if we had time, re-work our standardized set of products to include said features. Unfortunately, the engineers' efforts to convince management that we should spend time doing exactly that has failed.
Any thoughts on how to approach this issue?
I recently got moved to a new manager, and I've been having some trouble building back up the more fluid and quite positive relationship I had with my prior manager. In particular, I'm trying to get more signal into my feedback and how I can improve. When I go over this kind of content with my new manager, they'll say something more quick and high-level like "That makes sense", but they won't give me something more specific and concrete. How can I go deeper with these kinds of conversations while keeping our relationship healthy? I want to make sure I respect their boundaries.
My current manager comes from a very different background compared to me and my team, which has lead to some misalignment in terms of what the team should do and how it should do it. I feel like there's a fundamental difference in working styles here.
This mis-sync has shown in our 1 on 1 meetings as well. They're less about my career growth and my goals and more about them and their way of doing things.
Any ideas on how to remedy this situation?
I am working on building a framework and often I need help from a IC XFN partner to keep making progress in the project. However, many times they would not respond back or give vague responses on chat threads. When I set up meeting with them, they would not be quick to respond to meetings. I once asked them that I had certain questions that I documented after going through their codebase and need answers from them, however they would not take me seriously. How do I handle this in a positive way, keep making progress and unblocking myself? I want to building meaningful relationships with XFN partners and would like them to respect me however, it seems they are not reciprocating the same
When anyone asks "How is it going", I just say "Good, how are you doing".
There are always awkward pauses. I am skeptical about speaking anything without preparation in advance. Want to communicate well with others (not only in office but outside office too) that may lead to long term friendship with at least one or two people. Any coaching you recommend for extreme introverts to build this skill?
On H1B visa. New to US. I need some information on what other H1Bs are doing related to finances, buying a house, green card etc. Unfortunately, only people I know are the ones from my office. I have tried meetup apps and still have not gotten anyone with experience in the topics that I have mentioned. I have some senior collegues who are/were on H1B. Is it okay to ask these personal questions? All we have are office team lunches. When to bring up these questions? How to keep in touch with them even after we leave the team/company?
My friend just introduced me to his friend who works at this big tech company that I would love to join. I'll meet this friend in a couple of days, and I wonder how I can make the best use of this opportunity. How would I handle this in the best way possible?
(I'm a software engineer with 2 years of experience and a computer science degree)
I'm about to be officially promoted to Senior Engineer in a couple of days. At the same time, I've also been been presented with an opportunity to move to a different organization in Amazon that's doing some rather exciting work. This is an opportunity I'm likely to accept.
I deeply value my current manager's support, because he was critical in helping me secure my promotion despite some very tricky circumstances. I'm aware that promotions are just meant to recognize past work, but leaving virtually immediately after a promotion still feels rather unpleasant. Leaving now will also have a bigger impact on my team since we've shrunk quite a bit recently.
What are some tips for structuring and framing the inevitable conversations I will be having with my manager(s)?
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!
There were some great tips on this question, that was previously asked. Our team is pretty good at steps 1 & 2 that Alex mentions regarding setting an agenda and sending the invite beforehand. However, the team really struggles to make sure the meeting agenda is achieved. We have a lot of great discussions but they are not related to the objective of the meeting. How can we bring the discussion back to the main agenda without being rude and cutting potentially important tangents?
English is not my first language. I don't know what to write or talk in all kinds of situations. I don't know if I lack critical thinking to think about points or is it because of lack of English proficiency. I have joined Toastmasters but its not helping that much. I am looking for 1-1 coaching in English speaking, writing, public speaking. Group discussions, driving meetings especially getting alignment, breaking down points, story telling are my biggest problems. Any recommendations to fix these issues?
I am in a new team. I was given a task to provide estimations on a project that involves various components. 2 components were owned by a different team and they were transferred to my team. I have no idea about those components. My senior engineer told me to contact a person to get estimation from someone in a sister team who previously worked on that component. This person gave me estimates as 8 and 10 weeks and didn't get response when I asked if he could share some details. I didn't try to deep dive as these components are again getting transferred to a different team. Nobody in my team has knowledge about these two components.
In the meeting where all teams in the org were present, reviewing the estimates. My senior director asked justification for the estimates, the person who gave me the estimates told I have written the estimates. So I told I don't have details and written the estimates as per this person.
I often get stuck in these type of awkward situations. This is clearly not an onboarding task. How can I deal with these situations and how I could have communicated better?
In a coding interview, can you explain the approach first and then when you move to code, not explain or talk?
I tried to talk while coding in an interview. But I found writing code fast and well was difficult then.
What does an ideal interview look like, in your opinion?
I am working in 3 XFN projects (Say Projects A, B ,C) at the same time. Manager wants success in Project A for sure . But he doesn't allow me to be fully dedicated to Project A. He also wants me to come with suggestions to make project A successful. The thing is Projects B & C are huge time consumers and I am left with very little time for Project A. How should I approach my manager to assign me fully to Project A. I have successfully deliver projects in past when I was assigned to a single project only . I am bad at multi-tasking. Project A's success will definitely increase chances of my promo.
In quarterly conversation with my manager, for questions like how I’ve contributed to Quality or any other sub dimension I got response that I should talk about team and not only how I (as an IC) contributed. And I honestly struggle here. Any tips? How I upgrade myself to talk about impact at team/bigger level and not only at personal level?
I have gotten this feedback from my managers couple of times. Problem is - in the past (in some other companies), I have been on the receiving end of negativity. Often times, being reprimanded for asking a question, in some of the other teams I was a part of. I recall that I was shouted at in front of everyone because I was too tired during one of my on-calls and dozed off, missing an on-call call at 3:30 AM. I recall these events getting escalated to VP level. It impacted me deeply.
While it was hard, I moved on from such teams and now I try to be kind to all engineers, especially junior ones. I make sure that their onboarding journey is as fast as possible and they are granted help that is required. Extending it further, as a part of calls with other stakeholders as well, I often tend to be with a softer tone. It has been mentioned by my manager that - "You often come across as too kind. If you know that you're right, then why are you not speaking it with confidence."
How do I improve on this aspect ? Recently, I did but thinking if there are some other tips from your end.
I often struggle with conveying more in lesser number of words. As a result, my slack messages often go in multiple paragraphs and bullet points.
I find a need to explain myself in detail, especially when trying to resolve some queries from other domains such as product managers and QA engineers. Are there some ways to make communication succinct and to the point, at the same time conveying what is necessary.
This was a feedback I have gotten once from my manager as well, though when I asked if he had some suggestions on how to work on the same, he mentioned - "Keep it short!" ¯_(ツ)_/¯
Now, I try to vet my messages after I type them before sending, but thinking if there are some ways to improve on it further.
We are working on a technical product solution which provides APIs in a B2B fashion. We do not have any interface apart from these APIs. There are some internal tools which replicate this functionality (web dashboard) for us to view the data and some smaller B2B Companies to use, but is outside the scope of our Product / Team as it's just parity that is maintained.
Our PM is not a technical person and sometimes it gets very hard to explain the reasons why something cannot be done. Or their suggestions completely miss the point / question I was asking.
They view it from a visual perspective and suggest things that require a lot of back and forth to explain why it isn't feasible.
I've tried in the beginning to help them get setup with basic Postman collections of our API to see the flow. Our EM is also doing their best to prioritise tech vs product.
I feel some of this is reactive and not proactively helping as I feel a bit frustrated to what seem quite obvious which isn't helpful at all.
What do you suggest one can do to better improve communication or even how to view things from their perspective.
The one con is as a PM their calendar is always full
So within my own area of the codebase and tech stack I own, I'm very comfortable and confident leaving feedback and sharing thoughts. However, I know that in order to grow to senior, I need to expand past my immediate area into other spaces like the components and services built by other teams in my org like sister teams. For those areas, I'm unsure how to share my thoughts since I'm not an expert in those codebases. So let's say I come across a code review from one of these more "separate" areas from my own and the engineer behind the diff is more senior than me - How can I leave my feedback in a way that respects the situation?
I saw this , and I was wondering how I could do the same in my team. My PM and Team Lead are pretty busy, so I feel like the updates would help a lot keeping them in the loop.
However, unlike Meta, we don't have Workplace - Our main communication channel is Teams. I was wondering what my update (I'm thinking weekly cadence) could look like in this environment.
I was assigned my first JIRA ticket at my first official dev job, which I started about two weeks ago. Given my situation, I want to know how long my manager expects me to work on the ticket, so I don't end up underperforming or not meeting expectations.
Some background: before this job, I worked at a very early-stage startup (one other person and myself for about a year), so I don't consider myself a complete junior. Additionally, I don't know my official title since I came in as a contractor and the contractor title does not match the FTE title, so I'm not sure what is expected of me.
Some of my thoughts: I've considered asking my manager directly how long he expects me to work on this JIRA ticket, but I wasn't sure if the question was too noob-like or too forward. I've also considered that so long as I'm making progress (which I am), I should be okay (until it's not).
So, all this to ask, should I ask my manager how long he expects me to work on my first JIRA ticket?
Constantly struggling with recognizing my contribution and promoting my work, as an introvert it almost is like my mind rejects self-appreciation and promotion. What are some small first steps I can take to get comfortable with self-promotion?
what are the best effective resources available out there to improve my English in the tech field. I am an immigrant and English is my 3rd language. My not so good spoken English is hurting my career a lot
I am good at coding, and I am able to deliver features to prod. However, when it comes to technical writing, like writing software design document, coming up with state transition diagram, block diagram, I am struggling with it a lot. I am not from computer science background, so I am not well versed in coming up flow chart, sequence diagram and state transition diagram. How to improve on these areas? Becuase of this, I am finding it difficult to communicate my idea to principal engineers/ architects. How can I improve on this?
I've gotten feedback that I'm more on the quiet side and that I could be more active in meetings. However, I feel like I don't have much to add when it comes to meetings. I want to say something that's insightful and adds value to the conversation, but I'm unsure how to come up with that level of material, especially on-the-spot during the meeting. How do I figure out what to say?
When people talk to me, I have a tendency to pause. This has led to feedback that colleagues wish I could answer their questions faster. The problem is that I need to pause for some questions as I need the time to think and formulate a good response. Is there a way I can incorporate this feedback without sacrificing my answer quality?
I've shared feedback before with engineers more junior than me, and they didn't seem to take it well. They started avoiding our meetings afterwards - I feel like they thought their PSC was at risk. How can I prevent this situation from happening in the future when sharing feedback with E3s/E4s?
I'm learning it's important not just to do good work but also to make your work visible to your team and sometimes wider circle. This is common feedback given to junior engineers at Meta. What are some ways to get more visibility on my work and what are some rules of thumb (e.g. structure of posts, cadence of posts, when to share progress in team meetings)?