In short, I had a bad experience here. The tech screen portion was poorly run due to a lack of communication and clarifying expectations.
The screening call with the recruiter was pleasant and straightforward. Next, the call with the hiring manager was similarly pleasant and straightforward; however, he repeated his thoughts that teams should consist mainly of junior engineers and that there were very few principal engineers in the company. His remarks gave the impression of ageism towards experienced candidates and that the deck was already stacked against me; it also gave me a negative impression of possible career growth and, thus, little to look forward to.
Next was a tech screen. The interviewer was friendly, but it was poorly run. The task was to build a socket server servicing multiple clients; straightforward enough but the instructions were extremely terse. I wondered what else they were looking for (architecture, class design, error handling, fault tolerance, testing, performance, style, docs, etc?), but the interviewer wouldn't answer any questions and just shrugged. It turns out they were looking for speed. I can go fast when called for but in my experience, most interviewers are looking for more than speed.
I created a socket server that handled communication with multiple clients but was rejected because I wasn't fast enough.
I left the interview feeling frustrated at how inefficient the process was. The whole thing felt like a waste of time simply due to poor communication. I would have had a better experience if the interviewer had simply communicated. In hindsight, however, I doubt Discord would have been a place I would have enjoyed working if my experience is indicative of what it's like to work there.