10+ years of experience and no hash maps or Fizz Buzz for data engineers
I&#x27;ve done a lot of recruitment over the years. In fact in a previous role I spent an entire year doing nothing but recruitment. This sort of thing is sadly commonplace.<p>It&#x27;s not trendy or popular at the moment but asking somebody to write some simple code on a whiteboard is a <i>really</i> <i>good</i> indicator of whether or not they&#x27;re a good programmer. Even if they&#x27;re nervous and uncomfortable doing it you&#x27;ll find out if they&#x27;re a good programmer or not.<p>That being said you want to try and weed out the people who definitely aren&#x27;t good programmers before you invest the time in interviewing them. Things like Codility <i>can</i> be helpful, or you can do a 20 - 30 minute telescreen&#x2F;Skype call and ask them to write out some code in a shared Google Doc.<p>Honestly, if you can&#x27;t reliably write some simple code on spec - e.g., write a function to reverse a string in a C-like language (if you&#x27;re recruiting for Java, C#, C, C++, Go) - you may be many things, but programmer is not one of them.<p>An argument I often hear against this sort of question is that it&#x27;s not &quot;realistic&quot;, but that misses the point. The point with problems like this (also Fizz Buzz, and the simple data structure problem in the article) is not to be &quot;realistic&quot; but to cut to the essence of a person&#x27;s skillset and leave very little room for blagging. If you can&#x27;t handle these things I don&#x27;t believe you can handle more &quot;realistic&quot; problems either.<p>Being a software developer is obviously more than &quot;just programming&quot;, but the fundamentals matter, and programming is absolutely fundamental to software development. Do not accept any hand-waving or flannel from anyone on this point, ever.