{"id":1537,"date":"2016-03-05T14:35:40","date_gmt":"2016-03-05T21:35:40","guid":{"rendered":"http:\/\/10kdev.net\/?p=1537"},"modified":"2017-02-24T12:32:52","modified_gmt":"2017-02-24T19:32:52","slug":"two-year-anniversary-for-code-i-never-use","status":"publish","type":"post","link":"http:\/\/10kdev.net\/?p=1537","title":{"rendered":"Two Year Anniversary for Code I Never Use"},"content":{"rendered":"<p>This hearkens to those Joel Spolsky code-tests &#8212; Tower of Annoy, Code Rolfing,\u00a0etc. \u00a0And I was looking back in my posted articles and realized I had just passed a two-year anniversary for one of the strangest interviews I had ever done in my life which also\u00a0involved <strong>a test on code I have never used before nor used since the interview<\/strong>.<\/p>\n<p><!--more--><\/p>\n<p>The interview logistics:<\/p>\n<ul>\n<li>For months I had been interviewing with this company, and the manager even had his secretary calling me on several off days\u00a0during the process to interview at short notice on that day.<\/li>\n<li>This was, I believe, my sixth interview with them.<\/li>\n<li>This\u00a0interview I showed up 10 minutes ahead of time from my current job, and the security guard did not have my name on the list as usual, and gave me some guff.<\/li>\n<li>The interviewers didn&#8217;t come for me until 15 minutes after we were supposed to meet; I had almost left.<\/li>\n<li>I was locked in a tiny dark room for a surprise code exam on an unfamiliar computer with three architects and a remote lead developer whose accent I couldn&#8217;t understand.<\/li>\n<li>Before we proceeded I noted one of the architects was hostile towards me\u00a0and\u00a0asked &#8220;Why do you want this job? \u00a0You have no experience in our technology so frankly aren&#8217;t even qualified.&#8221; \u00a0Guffaw! True enough; but I was up front from the start about it months ago and had been to FIVE previous interviews spanning months for this job. \u00a0This was in fact unrealistic\u00a0to me as I had spent countless hours in their interviews away from my current job and had been 100% up front about everything. \u00a0And also that almost every job I have done involved technology I had never seen before.<\/li>\n<li>In my previous interviews at the site the teams I would have been on had a scared vibe &#8212; i.e. not sure what the business plan was, lots of do-nothing time etc. \u00a0it was called &#8220;fast paced&#8221; &#8212; and I always iterate that those two words are a turn off for most job interviews due to their significant meaning.<\/li>\n<li>The surprise code test started; note my mind was already buried in a drules production \u00a0problem for my current contract; I would have scheduled for a different time if I had known since it&#8217;s difficult to switch gears for me when I work on problems that require over 4 hours to set up. \u00a0This test\u00a0involved writing a Java 6 solution on a Java 4 compiler (their admission) on a Mac (I was using Windows\/Linux at the time and owned no Mac, nor was I asked if I could use OSX). \u00a0I had to type code into a Google Doc while the remote interviewer, after every key stroke, would evaluate whether it compiled or not.<\/li>\n<li>The test was on a Java feature I immediately admitted I had never used ever since I had been coding Java in the 1990&#8217;s: the Comparator interface. \u00a0I said I could write pseudocode for their problem as well as I could. \u00a0I felt I did that just fine. \u00a0The interface has a trick in it of a transformational method on the object itself I was not familiar with nor is Java&#8217;s usual by-value treatment of objects.<\/li>\n<li>My method was to stub\u00a0the methods\/interfaces, then flesh them out and clean it up. \u00a0They questioned every aspect of this technique and did not like the stubbing technique, treating each step as a final outcome and not really interested as to why I would do that. \u00a0This attitude did not surprise me as very few developers I have worked with understand work in process and can give feedback that soon.<\/li>\n<li>I couldn&#8217;t get their\u00a0exact looked-for answer (just the pseudocode) and said so, and bid them\u00a0goodbye, got up to leave of my own volition.<\/li>\n<li>I drove back to my workstation and wrote their HR and said in any case I myself would decline further (what, 8-10 more interviews?) with them.<\/li>\n<li>Twenty minutes later I coded\u00a0the solution to their exam on my blog for code I had never used, nor would ever again for over\u00a0two years:<\/li>\n<\/ul>\n<blockquote data-secret=\"tNyMyzkMwy\" class=\"wp-embedded-content\"><p><a href=\"http:\/\/10kdev.net\/888\/the-zombie-sort-test\">The Zombie Sort Test<\/a><\/p><\/blockquote>\n<p><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" src=\"http:\/\/10kdev.net\/888\/the-zombie-sort-test\/embed#?secret=tNyMyzkMwy\" data-secret=\"tNyMyzkMwy\" width=\"500\" height=\"282\" title=\"&#8220;The Zombie Sort Test&#8221; &#8212; 10,000 Foot Developer\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>I came away with a LOT from that interview and am grateful for the experience. \u00a0Later I&#8217;d get to work on a lot of software like their with Accumulo, Hadoop, Redic, MarkSQL; Solr and Lucene engines etc. \u00a0This was a good heads up.<\/p>\n<p>Now one takeaway I got from this was that the old Joel Spolsky style of having code tests is total bull hockey if you are testing for a very particular thing but you didn&#8217;t find out at the start the experience level &#8212; in my case a Java feature I have never used before or since then, <em>Comparators<\/em>. Unless you are looking for someone familiar with that feature, then filter for it earlier and don&#8217;t waste anyone&#8217;s time. \u00a0If you need people familiar with service busses or an api, filter for it. \u00a0If you need people to use threading, filter for it. \u00a0Spring. \u00a0Etc.<\/p>\n<p>The other takeaway I got was a reinforcement that many interview processes are a complete waste of time. \u00a0Coming in 6 times, having the manager&#8217;s secretary trying to get me to go in on short notice . . . huge red flags. \u00a0 They were continually late for my interviews, red flag. \u00a0Poor attitude for ancillary employees like secretaries and door security &#8212; red flag. \u00a0Hostile architects asking questions in later interviews that should have been asked on day uno &#8212; red flag. \u00a0Listen to your gut. \u00a0Sometimes we do not.<\/p>\n<blockquote><p>Take a positive away from weird interviews. \u00a0In my case, I added the practice of doing code kata every morning, as much as I can, to warm myself up, get on track, and prepare for petty future annoyances.<\/p><\/blockquote>\n<p>Right now I probably couldn&#8217;t remember exactly my solution, even from my blog, because I&#8217;ve written thousands of lines of code in the two years I had this experience. \u00a0Tousands and tousands. \u00a0 But, beside bailing early on red-flag companies like this I got a positive: I added to my daily repertoire doing code kata, that is, working on the tiny problems to keep myself fresh. \u00a0It helps a lot. \u00a0Also, I upped my game on tracking new tech, but you can&#8217;t know everything and not admitting you do not know something is much more dangerous to a company than knowing something shallowly. \u00a0I ponder our shallow use of technology often, as well as the incorrect (hammer syndrome) deep use of technologies.<\/p>\n<p>Kiai!<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/10kdev.net\/wp-content\/uploads\/2016\/03\/dff073e84b0f38f6391b535002a2c615.png\" alt=\"\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This hearkens to those Joel Spolsky code-tests &#8212; Tower of Annoy, Code Rolfing,\u00a0etc. \u00a0And I was looking back in my posted articles and realized I had just passed a two-year anniversary for one of the strangest interviews I had ever done in my life which also\u00a0involved a test on code I have never used before [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[69,17,6,89],"tags":[],"_links":{"self":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1537"}],"collection":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1537"}],"version-history":[{"count":8,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1537\/revisions"}],"predecessor-version":[{"id":1693,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1537\/revisions\/1693"}],"wp:attachment":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1537"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}