{"id":5520,"date":"2022-04-19T07:42:36","date_gmt":"2022-04-19T14:42:36","guid":{"rendered":"https:\/\/coderpad.io\/?p=5520"},"modified":"2024-03-16T08:03:25","modified_gmt":"2024-03-16T15:03:25","slug":"eradicating-whiteboard-interviews-with-jon-nguyen","status":"publish","type":"post","link":"https:\/\/coderpad.io\/blog\/interviewing\/eradicating-whiteboard-interviews-with-jon-nguyen\/","title":{"rendered":"Dev Discussions: Eradicating Whiteboard Interviews with Jon Nguyen of NoWhiteBoard.org"},"content":{"rendered":"\n<p>Raise your hand if you\u2019ve ever had to do a whiteboard interview for a job. \ud83e\udd1a<\/p>\n\n\n\n<p>Now raise your hand if you like doing whiteboard interviews.&nbsp;<\/p>\n\n\n\n<p>&#8230; I\u2019ll wait.<\/p>\n\n\n\n<p>If you didn\u2019t find your hand waving in the air, you\u2019ll enjoy the insights Jon Nguyen of <a href=\"https:\/\/www.nowhiteboard.org\/\" target=\"_blank\" rel=\"noopener\">NoWhiteboard.org<\/a> provided during his discussion with CoderPad developer advocate Corbin Crutchley.&nbsp;<\/p>\n\n\n\n<p>Jon\u2019s website is a goldmine for people fed-up with having to jump through hoops to get a job. It\u2019s a job board for companies that don\u2019t do whiteboard interviews and are transparent about their interview process.<\/p>\n\n\n\n<p>Inspired by the \u201cHiring Without Whiteboards\u201d repo on Github, Jon wanted a job board as candidate-friendly as possible. His goal in starting it was to help candidates who don\u2019t have the luxury to spend months preparing for interviews or days carrying out whiteboard tests.<\/p>\n\n\n\n<p>He also posts the salary (when possible), the recruiter\u2019s contact information, and the needed skills, so you have all the essential information when you\u2019re ready to apply.&nbsp;<\/p>\n\n\n<aside class=\"\n    cta-banner\n     cta-banner--bg-blue      cta-banner--has-media \"\ndata-block-name=\"cta-banner\">\n    <div class=\"inner\">\n        <div class=\"content\">\n                            <h2 class=\"headline\">Learn how to run front-end developer interviews that don&#8217;t suck<\/h2>\n            \n                            <div class=\"cta-buttons\">\n                                    <a href=\"https:\/\/coderpad.io\/blog\/interviewing\/5-tips-for-interviewing-frontend\/\" class=\"button  js-cta--read-our-guide\" data-ga-category=\"CTA\" data-ga-label=\"Learn how to run front-end developer interviews that don&#039;t suck|Read our guide\">Read our guide<\/a>\n                                <\/div>\n                    <\/div>\n                    <div class=\"media\">\n                <img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"342\" src=\"https:\/\/coderpad.io\/wp-content\/uploads\/2022\/08\/Illustration-of-man-with-beard-popping-out-of-computer-chat.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/coderpad.io\/wp-content\/uploads\/2022\/08\/Illustration-of-man-with-beard-popping-out-of-computer-chat.png 432w, https:\/\/coderpad.io\/wp-content\/uploads\/2022\/08\/Illustration-of-man-with-beard-popping-out-of-computer-chat-300x238.png 300w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/>\n            <\/div>\n            <\/div>\n<\/aside>\n\n\n\n<h2 class=\"wp-block-heading\">What\u2019s wrong with whiteboards?<\/h2>\n\n\n\n<p>Jon\u2019s journey to NoWhiteboard.org stemmed from the frustrations he and many other developers encountered while looking for a new job.&nbsp;<\/p>\n\n\n\n<p><strong>First<\/strong>, there are the companies that put you through eight rounds of interviews \u2013 including hours-long coding tests \u2013 only to ghost you near the end. That\u2019s a lot of wasted time and effort.<\/p>\n\n\n\n<p><strong>Second <\/strong>is the time of the actual coding\/whiteboard tests. They take time, some more than others.&nbsp;<\/p>\n\n\n\n<p>If you already have a full-time job or kids \u2013 or like many others, both \u2013 finding the time to take these tests can be difficult. These developers may not have time to take them at all, and you eliminate many developers from your pool. You are also biasing your candidate pool towards those who have lots of time to work on a test.<\/p>\n\n\n\n<p>Not to mention the issue in point #1 again. How would you feel about spending your weekend on a coding test to not move on to the next round while also not getting any feedback about what they were looking for?<\/p>\n\n\n\n<p><strong>Third <\/strong>is what companies typically use them for and what they\u2019re actually good at measuring.&nbsp;<\/p>\n\n\n\n<p>Looking for a new job is already nerve-wracking enough. Spending your relaxation time on overly-long take-homes or coding in front of people you don\u2019t know can leave you with a bad taste in your mouth \u2013 especially if they\u2019re not measuring anything meaningful.<\/p>\n\n\n\n<p>Companies often use these to \u201ctest\u201d your coding skills with an algorithm question. They don\u2019t test coding skills more than they test your ability to remember things from your university or early career that usually don\u2019t have any bearing on the actual job. How often are developers actually coding standard algorithms in their day-to-day job?<\/p>\n\n\n\n<p>That can be annoying for junior candidates \u2013 especially if they don\u2019t come from a computer science background \u2013 and downright insulting to more senior developers.&nbsp;<\/p>\n\n\n\n<p>If the question is something that a candidate can easily Google and find the answer to, it\u2019s probably not a good question. It\u2019s not a practical way to evaluate the thought process or problem-solving skills of how someone would actually work within your company.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A better way<\/h2>\n\n\n\n<p>So what are the things that interviewers should be evaluating, whether they use whiteboard interviews or not?<\/p>\n\n\n\n<p>Corbin and Jon both agree that communicating well with others is one of the most significant measures of success for employees.&nbsp;<\/p>\n\n\n\n<p>You can easily add this into a live coding interview by doing a paired-programming exercise with the candidate, asking them how they document their code or asking them what they would do if they found a bug in another developer\u2019s code.&nbsp;<\/p>\n\n\n\n<p>Additionally, you can gauge how a candidate thinks by giving them a difficult choice to make \u2013 for example if you\u2019re a tech lead leading a team behind on feature development with a looming deadline, what do you sacrifice? Do you miss the deadline to get all the features in? Do you request your devs to work overtime to meet the deadline?<\/p>\n\n\n\n<p>Corbin stresses again that whatever question is asked should represent an issue the developer candidate would face on the job; the question should also be clearly written with explicit requirement criteria.&nbsp;<\/p>\n\n\n\n<p>Jon adds there are ways companies can show respect for a candidate, and the time they\u2019re investing in the process:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/coderpad.io\/resources\/docs\/interview\/focus-time\/\">Allow the candidate time to read the question<\/a> and collect their thoughts before the timer starts, whether in a take-home test or a live interview.<\/li>\n\n\n\n<li>Pay the candidate for completing any project or test that is part of the interview (<a href=\"https:\/\/medium.com\/@adam_carrigan\/why-we-pay-candidates-for-our-coding-challenges-4b36e6cd21e3\" target=\"_blank\" rel=\"noopener\">MindsDB does this<\/a>).<\/li>\n\n\n\n<li><a href=\"https:\/\/coderpad.io\/resources\/docs\/interview\/quick-start-guides\/interviewers\/take-home-projects\/#edit-time-limit\">Create a time limit for the test<\/a> so that the candidate isn\u2019t spending their entire weekend working on the project.\u00a0<\/li>\n<\/ol>\n\n\n\n<p><strong>Keep in mind:<\/strong> Good developers and engineers will often stay in their current roles because of how bad the tech interview process is these days. If you want to increase your talent pool, you need to fix any broken processes you have in your interview process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What was your worst interview experience?<\/h2>\n\n\n\n<p>Corbin and Jon then shared their best and worst interview experiences, which should serve as a list of do\u2019s and don\u2019ts if you find yourself interviewing anyone anytime soon.<\/p>\n\n\n\n<p>Corbin\u2019s worst interview experience started well with a take-home test he enjoyed and did well on. It went downhill when he was asked an algorithm question about reversed linking. He fumbled through that as he was self-taught and didn\u2019t take the traditional computer science degree path to become a developer.<\/p>\n\n\n\n<p>To add insult to injury, they went deeper into theory \u2013 rather than into practical application \u2013 by asking him \u201ctech trivia\u201d questions like the difference between async vs. defer keywords in &lt;script&gt; tags. You know, the kind of questions one could easily Google.<\/p>\n\n\n\n<p>His best interview experience was with Hilton. He did both a take-home test and a live interview coding exercise, and where Hilton shined was during the exercise. Instead of the standard \u201ccode anxiously in front of the interviewer,\u201d Hilton turned it into a peer programming exercise where Corbin coded side-by-side with the interviewer.&nbsp;<\/p>\n\n\n\n<p>The interviewer turned it into a conversation about the different ways to solve the problem and the pros and cons of each. Corbin felt that it was so informal, and he learned so much that he didn\u2019t even realize he was being evaluated for his problem-solving skills.<\/p>\n\n\n\n<p>Jon\u2019s worst experience happened near the beginning of the interview process when the recruiter gave him an update on the process. Five minutes into that phone call, the recruiter started asking him \u201ctech trivia\u201d questions out of the blue.&nbsp;<\/p>\n\n\n\n<p>What made matters worse, the questions were asked by a recruiter with no technical background, only looking for Jon to give the correct keywords. They didn\u2019t understand much of the nuance of Jon\u2019s answer, and he ended up stopping the phone call early and not finishing the interview process.<\/p>\n\n\n\n<p>His best interview experience was with his most recent company. He had a take-home assignment to create a REST endpoint, and it was short enough that he didn\u2019t feel like he had to give up his weekend to work on it.&nbsp;<\/p>\n\n\n\n<p>After that, he had a live interview with a question that was built upon the work he did for the take-home assignment. That helped him feel more prepared for the interview and more interested in it. He got to talk about the tradeoffs of his solution versus others, and it felt more relevant to the job.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping up<\/h2>\n\n\n\n<p>Jon is so passionate about eliminating whiteboard interviews that he recently resigned from his job to pursue NoWhiteboard.org full-time. He has more tidbits on questions he asks as an interviewer and why he thinks side projects are an excellent way for junior developers to stand out \u2013 and you can watch him talk about those in the <a href=\"https:\/\/www.twitch.tv\/videos\/1433173237\" target=\"_blank\" rel=\"noopener\">Twitch playback video here<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p>Interested in more conversations with developers about their career? Checkout these other <em>Dev Discussions<\/em>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/coderpad.io\/blog\/getting-hired\/dev-discussions-how-to-get-a-great-job-james-quick\/\">How To Get a Great Job at a Great Company with James Quick of PlanetScale<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/coderpad.io\/blog\/getting-hired\/dev-discussions-fortune-500-jobs-brad-garropy\/\">Getting a job in Fortune 500 Companies with Brad Garropy<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/coderpad.io\/blog\/development\/interview-with-james-perkins-of-rollyourtweet\/\">James Perkins of RollYourTweet on How to Create a Successful SaaS<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Jon Nguyen walks you through what&#8217;s wrong with whiteboard interviews &#8212; and how to make them better.<\/p>\n","protected":false},"author":12,"featured_media":5893,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[12],"tags":[],"persona":[],"blog-programming-language":[],"keyword-cluster":[],"class_list":["post-5520","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interviewing"],"acf":[],"_links":{"self":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/5520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/comments?post=5520"}],"version-history":[{"count":10,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/5520\/revisions"}],"predecessor-version":[{"id":39041,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/5520\/revisions\/39041"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media\/5893"}],"wp:attachment":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media?parent=5520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/categories?post=5520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/tags?post=5520"},{"taxonomy":"persona","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/persona?post=5520"},{"taxonomy":"blog-programming-language","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/blog-programming-language?post=5520"},{"taxonomy":"keyword-cluster","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/keyword-cluster?post=5520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}