I was approached by a Sr. Manager via LinkedIn and asked if I was interested in a Staff Engineer position on the Developer Environments team. The process was standard: an initial screening with a technical sourcer, a chat with the manager who approached me to discuss the role, and a remote live coding interview with two other employees.
The people interviewing in each session were nice, and we maintained a fluid conversation. There were no red flags from these discussions.
We used Google Meet for the call and screen sharing. Once the interview started, we did a round of introductions. They sent me a link with the requirements for writing a chat server using the standard library of a language of my choice.
I asked clarifying questions about the requirements, specifically whether they wanted a working prototype or a fully structured solution, to gauge what they would be evaluating. They indicated that a prototype was acceptable and that we could refactor as the interview progressed.
I began coding the exercise and explained my thought process, detailing what I was doing and why, and soliciting feedback. We got the prototype working with basic functionality within 15 minutes. The core requirements were met, except for an edge case during the chat server shutdown. We focused on this issue for the remainder of the interview (another 45 minutes).
The rejection email arrived two days later, stating a "careful consideration of my technical performance" by the team, but offered no specific feedback (regarding code, design, behavior, or the edge case resolution). Overall, the process did not seem calibrated to the position, role expectations, or broader candidate experience. An hour and fifteen minutes is insufficient to assess over 15 years of experience in designing, building, and maintaining systems and leading projects. In my case, the process concluded with an unresolved edge case involving a broken TCP pipe.
Build a chat server using the standard library of any language.
It should support multiple clients, forward messages sent to all clients, and shut down the server process cleanly.
The following metrics were computed from 8 interview experiences for the Discord Staff Software Engineer role in United States.
Discord's interview process for their Staff Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Discord's Staff Software Engineer interview process in United States.