Last year (2021), I decided to move on from Microsoft, where I worked in the past 4 years. Microsoft is absolutely one of the best workplaces for Software Engineers. Azure is even better. At Service Bus team, I learnt a ton on how to build and maintain a stable cloud service which serves millions of customers including large enterprises.
Interviewing sessions took about 3 months, and Discord is the last company I interviewed with. At the time Yen, our Director of Data Platform, reached out to me directly on LinkedIn, I was almost going to accept the offer from Square. Luckily, I still finished the process with Discord and found it most attractive.
To be honest though, I was not a regular Discord user before I joined. However, it was a significant factor for my decision that the app is well-designed, super snap and super user-friendly. The UI/UX and feeling was impressive the first time I dived into the app. Not to say the voice and video streaming quality is the best among all the online meeting/chatting app that I have used for prolong period. Teams (yes as a ex-Microsoft-er I do think Teams is doing great but can be much better) and Zoom can really learn from Discord, in my own opinion.
As an Engineer
So far I have no issue or complaints about the engineering system at Discord. Like most start-ups, the engineering process is flexible and fast-pace here. Unlike most start-ups, the system and toolset are also mature enough for engineers to not worry too much about anything outside the product they build, for example the infrastructure, CI, and deployment.
The development setup is straightforward, effortless and compatible. I easily initiated local dev environment on all my machines in both MacOS and Windows (via WLS2 Ubuntu). My favorite editor Visual Studio Code is by default supported with basic workspace and settings files integrated in the repository. Spinning up the local environment and get read for coding is as simple as typing one command.
Managers are supportive, engineers have great control on the design and code. Passionate people are contributing (a lot) to the repo everyday, progressing the app and service. Everything is moving fast, but right things are being done. Check-ins following good engineering principles and reviews are neat.
Stale components are also retired properly by removing relevant code and references. Engineers are encouraged to spend time on housekeeping works which I think is fantastic to keep the code base always in high quality and clean state.
This section is observing not only form an engineer’s perspective. Internally we heavily use Discord as the communication tool (for sure!), which is a new experience to me. We all know that collaboration nicely happen when people are actively communicating. Discord is doing a great job to replace even emails, with good ability of searching chat history.
Real-time DM tool like Discord has an advantage that you usually don’t have to wait long before people reply. For emails, there could be days of waiting time and “buried in piles of email” is a common reason that you don’t get prompt response.
It is also a breeze to start voice conversations with whoever you want to talk to, and stream your screen with almost no glitches. Of course, you are very welcomed to subscribe to Nitro for high resolution streaming that greatly improves the experience of your audiences.
From the experience of leading my first ground zero project at Experimentation Team at Discord, I like how my colleagues are friendly, participating and contributing to my own project. I received tons of useful feedbacks on scoping, design and coding from engineers, data scientists and PMs. They are proactive and read through the documents carefully, giving considerate comments that you can really apply to improve the overall quality of your project.
Meetings are effective, too. While I don’t currently have too many meetings on my calendar, every session I attended or led, is super fruitful. We tend to get prepared for the meetings, even with pre-read minutes so that everyone will be on the same page. Attendees share their opinions and concerns out of thoughtful observations. You can certainly get valuable feedbacks rather than wasting 30-60 minutes just walking through PPTs.
I feel that everyone is doing the best to share his/her knowledge and perspective to make others more productive. So that the project can further progress and as a result, Discord products are becoming better and better. I really do love this kind of collaboration.
I love the culture at Discord, it is inclusive, active and belonging. It might be still early and I have more to experience. Many employees are gamers, which I knew from the beginning since I was so surprise to find one interviewer know the title “428: Shibuya Scramble”, a game that not even known by many AVG players. People are talking like friends, discussing and collaborating like comrades.
Discord has a shallow top-bottom structure in regards of leveling. My most impressive new-hire experience is that Jason Citron, our CEO, will hold an hour-long meeting with all the new employees in that week to share the history and outlook of the company. He also welcome any question and be very careful, concrete and specific on the answers. I appreciate Jason for doing a bit research before he coming back to my question via direct message, I felt respected as a member of the Discordians.
These all make up to what Discord advocates to the world: build belongings. While Discord is striving to make here the best place for any group or community, we as the builders feel strong belonging to the company as well. I truly believe that we have the right direction and strategy as a company, and the future has more to come. Discord is playing a very important role to accommodate more and more people to provide open, smooth and reliable experience for all sorts of communication. In the past two years, pandemic brings increasing demand for the community to find a belonging place in the virtual world, and Discord is the first and best for that, ever.