March 21, 2023

What to expect from the Byteboard Interview experience

As an engineer applying for a job, you expect the technical interview to assess how likely you are to succeed in that job. Yet the traditional technical interview process, which primarily tests for understanding of overly theoretical concepts and focuses on memorization, is anxiety-inducing and burdensome — often benefiting those who have the time and resources to prepare, while creating a barrier for those who don’t. This is why Byteboard built an alternative: an online, project-based technical interview platform that candidates do on their own time — one that tests for practical application of skills and simulates what engineers actually do on the job (such as coding and working on a project from design to implementation).

Unlike other technical interview platforms, Byteboard didn’t simply digitize the traditional process but rather redesigned it for fairer, more effective outcomes. We put our solution to the test as part of our internal hiring process. Here's the feedback we got from Brian — an engineer we hired using our platform — about the Byteboard interview experience.

Q: What led you to joining Byteboard?
A: Traditional technical interviews so often aren't aligned with the set of skills engineers use in practice, and I was interested in working to help change these practices. Byteboard interested me because of the focus it places on accurately and equitably assessing engineering skills.

Q: Can you walk us through the project you were given during the Byteboard interview?
A: The interview was divided into two parts. In the first part, I was given a document describing a plan for the design of a new software system. The document asked me to provide answers to some open questions about the system’s design and then make a recommendation for how best to implement a part of the system. Answering the questions involved considering both business needs and user needs, and it required evaluating trade-offs among implementation options.

In the second part, I was given a codebase in a language of my choice with a partial implementation of that software system. This part of the interview required me to complete some software development tasks related to the codebase, ranging from writing the implementation of smaller functions to adding new features and solving more complex, open-ended problems.

Q: How did you approach the Byteboard project-based interview? Did you have a specific methodology or process?
A: For the first part of the interview, I started by reading the design document presented to me. I took some notes and left some comments on the document with my own questions and observations about what I read. Once I felt like I had a good understanding of the goals of the document and the design decisions to be made, I worked through the open questions. For some of the larger questions, I started by writing a quick outline of my ideas and then filled in additional details and explanations for my thought process. This part of the interview also asked me to make a recommendation by choosing from a few different options. In preparing my recommendation, I evaluated the options, considered their trade-offs, and decided on what I was going to recommend and how I was planning to justify it.

The second part of the interview felt similar to working on a real-world software project. Because of that, the practices I normally engage in when developing software — familiarizing myself with a codebase, testing code, debugging techniques — were all useful when working on the interview. I was able to work with a language and set of software tools I was already comfortable with, which meant I could focus my attention on understanding the tasks, planning how I was going to implement them, and writing code.

Q: Did you encounter any challenges during the interview, and how did you overcome them?
A: The Byteboard interview can be challenging in many of the same ways that software engineering can be challenging. The interview requires making decisions among reasonable options that all have different trade-offs. It requires taking open-ended requirements and acting on them. And it requires thinking about how to implement a solution technically in a way that’s clean, logical, and efficient.
One of my strategies in working through the interview was to consistently communicate my thinking: I documented my thought process in notes I left in the design document and comments I included in my code. If there was anything I wanted to add that I didn’t have time for in the interview, I made a note of that too.

Q: Did you have to work with others during the interview, and can you describe your collaboration process?
A: The interview itself is completed independently, so I didn’t work directly with other people, but several of the interview tasks emphasize collaboration and communication. I was answering others’ questions, writing questions for others, and reading others’ code.

Q: How did you feel about using Byteboard overall?
A: I enjoyed the process of taking the Byteboard interview. I found that it let me engage in multiple skills and kinds of thinking, from algorithmic analysis to higher-level systems design. The interview gave me a chance to demonstrate my strengths, and it did so in a way that felt authentic to real software engineering practice.