Nice people WFH Job security Yammer (internal social media) Lots of DLs/groups Mature engineering practices
Vaccine mandate Chaotic product planning Bad work/life balance Internal tools can be terrible Politics win over technical excellence
This is advice for GPM (Group Program Manager) / skip-level managers on my most recent team in particular:
Don't sit in an ivory tower, separate from the day-to-day realities of engineers. Structure your communication channels in Teams such that the team actually feels like a team. For unknown reasons, our communication was spread out over multiple Teams groups: my team was forced to keep its channels in a Teams group for the larger org; I have no idea where the other engineering teams communicated with each other. I wasn't even sure what our org structure looked like – who worked on our product across the globe. We should have had an All-Hands meeting once per quarter, not once per year. Or maybe an update email here and there.
Perform user research BEFORE you ask engineers to implement a feature. On my team, most of the features we implemented got cut just before or just after they were finished – because user research had only just finished its testing (without using the stuff we had just built, so building it was unnecessary). Lots of engineering time was wasted, and it was demoralizing.
In addition, don't keep piling pressure on engineers along the lines of "We should have shipped already!" when PM / design / user research haven't even decided what we should be building. It's laughable to have a fixed launch date when you don't even know what your new product wants to be.
And if PM / design go through the process of cutting features in order to speed up the time to market, maybe involve engineers in that process. Otherwise, you might end up creating MORE work instead of reducing it. Re-designing an entire website & adding new features in response to feature cuts is NOT how you reduce work for engineers.
The good news: My immediate manager was competent. Most GPMs and skip-levels at Microsoft are more competent than the leadership of my most recent team. It was a mess.
The process was very scatterbrained and poorly run. The group didn't have a clear leader, and their criteria for what they were looking for in an engineer shifted with every interviewer. The interview included a really awkward development test, sat
Everything went well and in a friendly manner. Good team of passionate professionals. Online interview, four stages, divided into two days. All in all, nothing out of the ordinary. Your technical experience, team experience, behavioral issues, and
The interview process involves four onsite rounds, with the initial round being an online coding assessment. Each round lasted 45 minutes and included two system design and two coding challenges, along with behavioral questions. The system design rou
The process was very scatterbrained and poorly run. The group didn't have a clear leader, and their criteria for what they were looking for in an engineer shifted with every interviewer. The interview included a really awkward development test, sat
Everything went well and in a friendly manner. Good team of passionate professionals. Online interview, four stages, divided into two days. All in all, nothing out of the ordinary. Your technical experience, team experience, behavioral issues, and
The interview process involves four onsite rounds, with the initial round being an online coding assessment. Each round lasted 45 minutes and included two system design and two coding challenges, along with behavioral questions. The system design rou