Although I try to be careful with analogies, I do think this is an excellent one, largely because it can help explain why coding can be seen as simultaneously easy and extremely difficult.<p>I remember reading an interview with Andre 3000 a while back about how he composed &quot;Hey Ya!&quot;.  It turned out (this is all from memory) that the reason he used the chord pattern he chose was because he was relatively new to the guitar and those were the chords he knew.  So in short, Andre 3000 was able to take very limited knowledge of a new instrument and produce something very compelling and interesting.  However, this was certainly after a lifetime of building an interest in and understanding of music.<p>Shortly after reading that interview, I was hanging out in a music store, and a guy was amazing everyone with his acoustic guitar ability.  He did some very cool stuff with his fingers while hitting a harmonic and going back down the neck, at a rapid pace, without faltering even slightly.  He was available for lessons and corporate events.<p>Truth is, it actually is possible to do something very interesting with programming with relatively little experience, though you do need to be a creative and technically minded person.  At the same time, you know, nobody would have hired Andre 3000 as a session musician.  Sometimes I think that those coding tests, where you have to find the least common ancestor of two nodes in a binary tree, handle tricky threading issues while avoiding deadlock or race conditions, or doing complex outer joins, are really done by companies looking for the equivalent of a session musician.  They&#x27;re not saying you aren&#x27;t creative or incapable of writing novel and useful software if you don&#x27;t pass.  They just can&#x27;t add you to a band, at least not yet.<p>Lastly, I am increasingly in agreement with the last paragraph, which is that our &quot;profession&quot; does need to take initiative in determining how basic competence is established.<p>&quot;If the main point of a professional qualification is filter out people who can’t code, does it really matter if what is being tested for is out of date, or irrelevant to current industry practices? Maybe our tentative qualification would involve the completion of a reasonably serious program in LISP?&quot;<p>This is insightful.  I&#x27;ve been very ambivalent about it, because I am scared of what happens through regulatory capture.  But at this point, I do sometimes wish there were an industry-wide, well recognized exam that covered the paces that you go through when you interview at google, amazon, and small companies that are copying them.  I&#x27;ve read&#x2F;heard people say that they&#x27;d happily take such an exam formally if it meant they wouldn&#x27;t have to re-take this exam, in a more capricious way, every time they apply for a new job.