{"id":182,"date":"2013-01-28T23:15:38","date_gmt":"2013-01-29T07:15:38","guid":{"rendered":"http:\/\/icanthascheezburger.com\/wordpress\/?p=182"},"modified":"2013-01-29T13:47:34","modified_gmt":"2013-01-29T21:47:34","slug":"nailing-the-interview","status":"publish","type":"post","link":"https:\/\/icanthascheezburger.com\/wordpress\/2013\/01\/nailing-the-interview\/","title":{"rendered":"Nailing the interview"},"content":{"rendered":"<p>Since my post on making a great resume was so <a href=\"http:\/\/www.reddit.com\/r\/programming\/comments\/178x8r\/making_a_good_engineer_r%C3%A9sum%C3%A9\/\">incredibly well received<\/a> on Reddit, I don&#8217;t want to leave you hanging now that that kick ass resume got you an interview.<\/p>\n<p>Bottom line: the best interview is going to flow a lot like a conversation between new friends. Mixed in with this conversation will be me grilling you with some technical and problem solving questions.<\/p>\n<p>Feel at ease. I want this interview to go well just as badly as you do (because then it means I don&#8217;t have to do more interviews!). It&#8217;s okay if you feel a little nervous, though. In terms of attire, every person interviewing has their own tastes but as far as I&#8217;m concerned you could walk in wearing a T-shirt and jeans and I wouldn&#8217;t bat an eye. In fact, I&#8217;ll be more skeptical of a suit wearer.<\/p>\n<p>Enthusiasm is a big deal to me. I want to see your eyes light up as you describe your career to me.<\/p>\n<p>You need to be superior at articulating your thoughts. Most engineers are bad at this. If I ask you a hard question and ask you to talk it out, I really fucking mean talk it out because that&#8217;s what I&#8217;m evaluating. Incoherently rattling random words as you scribble on a whiteboard might yield you a correct answer to the problem, but what do I do when we&#8217;ve got a real problem on our hands and I need to talk it out with you?<\/p>\n<p>If you can&#8217;t articulate your thoughts in a way that others can understand, you&#8217;re probably not a good engineer. It was Einstein who said &#8220;if you can&#8217;t explain it simply, you don&#8217;t understand it well enough.&#8221;<\/p>\n<p>If you&#8217;re weak at this, practice articulating your thoughts verbally with your colleagues. \u00c2\u00a0Peer review code with your colleagues and talk (or write) out your likes and dislikes. It&#8217;s not enough to see a code smell and recognize it. When you can look at the code and say &#8220;I see varying levels of abstraction being used in this method. Let&#8217;s extract the lower level stuff out for clarity,&#8221; that&#8217;s good articulation.<\/p>\n<p>When I ask you for your background, don&#8217;t recite to me a chronology of your employment history. I love the objectivity, but you&#8217;ll sell me better on your ability to articulate your thoughts if you describe your career to me in trends or describe the patterns\/progressions your career has taken, and interleave that with concrete instances of things like jobs or projects. Watch how it changes how you sound:<\/p>\n<blockquote><p>First I worked at A Corp doing C code with Project M, then I worked at B Corp doing more C code with their project MX, then I worked at AB Corp working on C#, then\u00e2\u20ac\u00a6zzzzzzz\u00e2\u20ac\u00a6.<\/p><\/blockquote>\n<p>compared to<\/p>\n<blockquote><p>I started out with simple bug fixes to the code base at A corp, but as I moved on I really learned I have a knack for improving reliability of software through breaking the code down and into tests, so I took a job at B Corp and helped reel in project MX. I continued to apply those skills in the C# language at AB Corp, and\u2013whoa, is that a job offer already? I just got here!<\/p><\/blockquote>\n<p>It makes a difference.<\/p>\n<p>Even more important than your articulation is your ability to actually write code. I am surprised at the number of candidates with years of experience on me who trip up at the simpler programming exercises I give, like <a href=\"http:\/\/c2.com\/cgi\/wiki?FizzBuzzTest\">fizzbuzz<\/a>. Even worse: mocking the question as if it&#8217;s beneath you (only to answer it wrong).<\/p>\n<p>I often ask a bunch of trivia questions that are things you either know or you don&#8217;t. If you don&#8217;t, don&#8217;t feel bad; it probably won&#8217;t be a deal breaker. If you don&#8217;t know the answer, try to describe what you do know. For instance:<\/p>\n<blockquote><p>Q: Does ruby have multiple inheritance? If not, does it offer something similar in its place? # it doesn&#8217;t; but it does offer mixins<\/p>\n<p>A1: lol, idk # &#8230;<\/p>\n<p>A2: Hmm, I&#8217;ve never encountered it working with in Ruby. I know in Python you can do it by listing the superclasses separated by commas. I usually put shared code in modules since you can include many modules in many classes.<\/p><\/blockquote>\n<p>Oh, and remember when I said the interview should go kind of like a conversation? I do want to hear questions from you. In particular, I want you to be asking me how our team&#8217;s development cycle works. Do we do stuff in sprints? Do we pair? Do we force you to use Vim? Who deploys code? How does an idea get turned into a live feature? What works well about our development process? What doesn&#8217;t? \u00c2\u00a0If you don&#8217;t care about what your work environment would be at this company, what do you care about?<\/p>\n<p>Ultimately, just be yourself during the interview and that&#8217;ll help your interviewer(s) make the best decision. Don&#8217;t feel intimidated by being a newbie. Smart companies hire a good mix of junior and senior people. Regardless of skill level, culture fit is a big deal to me. Culture fit doesn&#8217;t mean it&#8217;s a popularity contest. It&#8217;s about your values and what you find important.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since my post on making a great resume was so incredibly well received on Reddit, I don&#8217;t want to leave you hanging now that that kick ass resume got you an interview. Bottom line: the best interview is going to flow a lot like a conversation between new friends. Mixed in with this conversation will [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[],"class_list":["post-182","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts\/182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/comments?post=182"}],"version-history":[{"count":0,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts\/182\/revisions"}],"wp:attachment":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/media?parent=182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/categories?post=182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/tags?post=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}