{"id":7780,"date":"2022-06-07T05:13:46","date_gmt":"2022-06-07T12:13:46","guid":{"rendered":"https:\/\/coderpad.io\/?p=7780"},"modified":"2023-05-03T07:16:29","modified_gmt":"2023-05-03T14:16:29","slug":"seamless-interview-experience-duplicate-pads","status":"publish","type":"post","link":"https:\/\/coderpad.io\/blog\/interviewing\/seamless-interview-experience-duplicate-pads\/","title":{"rendered":"Dev Diaries: How We Make Pair Programming Interviews Easy with Duplicate Pads"},"content":{"rendered":"\n<p>One interview early in my career left such a mark on me that it changed the way I approach technical interviews ever since.<\/p>\n\n\n\n<p>The first step: I was given a take-home assignment to write a program that would round dollar amounts to the nearest five cents. The best part about this assignment? I got to <a href=\"https:\/\/coderpad.io\/blog\/interviewing\/language-agnostic-interview-questions\/\">pick which language to use<\/a> out of three options.<\/p>\n\n\n\n<p>Then, I submitted the assignment, somebody reviewed it, and I got called in for a live interview. They gave me the heads up&nbsp; to come in familiar with the code I had submitted.&nbsp;<\/p>\n\n\n\n<p>During the on-site interview, we did a pairing session on my code with myself and two other interviewers (sharing a single keyboard) to refactor my code. We all came up with ideas on how to improve the code. At the time I was unfamiliar with unit testing, so the interviewers showed me an example or two of some unit tests and then had me write some.&nbsp;<\/p>\n\n\n\n<p>I left the interview having learned something. Even more, I actually connected with and collaborated with the interviewers. I thought to myself, even if I don\u2019t get this job, the interview was a win. (I did get the job btw).<\/p>\n\n\n\n<p>In every interview process I\u2019ve gone through since, the good ones all had one thing in common \u2013 the exercise felt more like a paired programming exercise than a whiteboard exercise.<\/p>\n\n\n\n<p>At CoderPad, we just finished building a new feature called <a href=\"https:\/\/coderpad.io\/resources\/docs\/interview\/pads\/duplicate-pads\/\">Duplicate Pads<\/a>. The use case I\u2019m most excited about? It makes pairing during the interview easier than ever.\u00a0<\/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\">Benefits of pair programming interviews<\/h2>\n\n\n\n<p>Just in case you aren\u2019t convinced that pair programming is the better way to interview, here are a few reasons why you should consider it:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>You can see how the candidate responds to critical feedback and suggestions to modify the code. Can they justify their decisions and accept constructive criticism graciously?<\/li><li>You get an idea of what it\u2019s like to collaborate with the candidate. Do they point out your own errors? Are they polite? Direct?<\/li><li>You can see how the candidate learns. For example, if interviewing a candidate who is not familiar with <a href=\"https:\/\/coderpad.io\/blog\/development\/integration-tests-vs-unit-tests-integration-matters-more\/\">unit tests<\/a>, you can show them an example of how to write a test for their code and then ask them to write a test.<\/li><li>If you\u2019re doing an interactive interview approach (which we discuss more below), you can see how the candidate thinks about possible ways to improve their code after being away from it.<\/li><\/ol>\n\n\n\n<p>Pair programming exercises benefit candidates too. They can see what it\u2019s like to collaborate with someone from the company to see if your team\u2019s communication and coding style fits their own.<\/p>\n\n\n\n<p>I like to combine a pair programming approach with an iterative assessment process to create the best experience for the candidate. In our case, an iterative approach means a candidate first does a take-home assessment and then we build on the code from that assessment during the live interview portion of the hiring process.<\/p>\n\n\n\n<p>That way the candidate comes to the session already familiar with the code. There are no surprises \u2013 interviews should have the least surprises possible!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pair programming with CoderPad<\/h2>\n\n\n\n<p>Pair programming exercises go perfectly with the iterative interview approach I described above, which gives candidates a chance to build upon the code they created in earlier interview steps. Here\u2019s how I do it with CoderPad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Create a take-home pad<\/h3>\n\n\n\n<p>After the initial phone screen, when the recruiter hands off the candidate to me, I create a <a href=\"https:\/\/coderpad.io\/resources\/docs\/interview\/interviewers\/resources\/docs\/interview\/quick-start-guides\/interviewers\/resources\/docs\/interview\/quick-start-guides\/interviewers\/resources\/docs\/interview\/quick-start-guides\/interviewers\/take-home-projects\/\">take-home assessment<\/a> for the candidate to complete on their own time. I\u2019ll also send them a <a href=\"https:\/\/coderpad.io\/resources\/docs\/for-candidates\/interview-preparation-guide\/\"><em>Getting Started With CoderPad for Candidates<\/em><\/a><em> <\/em>guide to help them prepare for both the take-home assessment as well as the live interview.<\/p>\n\n\n\n<p>Once the candidate submits the take-home, I\u2019ll review it and determine if the candidate should move to the next stage.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Duplicate the pad<\/h3>\n\n\n\n<p>Using CoderPad\u2019s <a href=\"https:\/\/coderpad.io\/resources\/docs\/interview\/pads\/duplicate-pads\/\"><em>Duplicate Pad <\/em>feature<\/a>, I create another pad from the take-home assessment.&nbsp;<\/p>\n\n\n\n<p>This allows me to create a new pad with all the code that the candidate wrote during the take-home portion of the test.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Change the Pad Type to &#8220;Live&#8221;<\/h3>\n\n\n\n<p>In the <a href=\"https:\/\/coderpad.io\/resources\/docs\/interview\/pads\/settings\/\"><em>Settings<\/em> section of the pad<\/a>, I change the <em>Pad Type<\/em> to <strong>Live<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Conduct the live interview<\/h3>\n\n\n\n<p>Boom! Now I can conduct pair programming exercises with our engineering candidates to closely mimic how the candidate would be working at CoderPad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Want more ways to improve your interviews?<\/h2>\n\n\n\n<p>CoderPad constantly releases new features to give you and your candidates the best technical interviewing experience possible. In addition to <em>Duplicate Pads<\/em>, we also recently released:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>A <a href=\"https:\/\/coderpad.io\/resources\/docs\/interview\/integrations\/google-chrome-calendar-extension\/\">Google Chrome Calendar extension<\/a> so you can create interview pads from your browser.<\/li><li><a href=\"https:\/\/coderpad.io\/resources\/docs\/interview\/pads\/private-interviewer-notes\/#Personal-private-interviewer-notes\">\u201cPersonal\u201d interviewer notes<\/a> that only the interviewer can see.<\/li><li>We\u2019ll also soon be releasing a complete React development environment that mimics what you see in most IDEs.<\/li><\/ul>\n\n\n\n<p>You can reach out to our customer support team for more information on these features. If you\u2019re not yet a CoderPad user and would like to sign up for a free trial to test out these new features, <a href=\"https:\/\/coderpad.io\/register\">you can do so here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One interview early in my career left such a mark on me that it changed the way I approach technical interviews ever since. The first step: I was given a take-home assignment to write a program that would round dollar amounts to the nearest five cents. The best part about this assignment? I got to [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":7799,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[12,7],"tags":[],"persona":[27,29],"blog-programming-language":[],"keyword-cluster":[],"class_list":["post-7780","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interviewing","category-announcements"],"acf":[],"_links":{"self":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/7780","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=7780"}],"version-history":[{"count":8,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/7780\/revisions"}],"predecessor-version":[{"id":7939,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/posts\/7780\/revisions\/7939"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media\/7799"}],"wp:attachment":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media?parent=7780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/categories?post=7780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/tags?post=7780"},{"taxonomy":"persona","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/persona?post=7780"},{"taxonomy":"blog-programming-language","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/blog-programming-language?post=7780"},{"taxonomy":"keyword-cluster","embeddable":true,"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/keyword-cluster?post=7780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}