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.
Immediately, I was unable to reschedule and was forced to do the interview at their preferred time, even though it was very inconvenient for me. The first interview, the interviewer sabotaged me by not letting me solve the LeetCode question that req
Aptitude matters. Coding matters. Clean coding matters. Approach, more than answer, matters. Sometimes, the problem might just be puzzles. And more than solving, how you think about the solution matters more.
Very disappointed. One interviewer was from a different team (replacing another interviewer) and continued to ask questions on topics that were not very related to the position and that I am not familiar with.
Immediately, I was unable to reschedule and was forced to do the interview at their preferred time, even though it was very inconvenient for me. The first interview, the interviewer sabotaged me by not letting me solve the LeetCode question that req
Aptitude matters. Coding matters. Clean coding matters. Approach, more than answer, matters. Sometimes, the problem might just be puzzles. And more than solving, how you think about the solution matters more.
Very disappointed. One interviewer was from a different team (replacing another interviewer) and continued to ask questions on topics that were not very related to the position and that I am not familiar with.