4 ms·
Lately, I've started thinking of programming as an art form. If you substitute programming with music, how would you make all of these evaluations about the cra
by pmcollins 9y ago
Lately, I've started thinking of programming as an art form. If you substitute programming with music, how would you make all of these evaluations about the craft and of its practicioners?
You may be hiring for guitarist and require at least 3 years experience playing the guitar. J.S. Bach applies, but has never played the guitar. As an industry, we typically wouldn't hire him due to lack of experience. Instead we might hire some mediocre kid with the 3+ years experience and a history of guitar lessons, even though after a 100 days on the job, J.S. Bach would have been a mind blowing, mesmerizing guitar player, even if he was still a little clumsy. And after a few years, he'd be more amazing still. Yet as an industry, we focus the ability to be productive on day 10 instead of day 100 or 1000. For long term positions. Why?
How would the software industry conduct an interview for a musician? We'd ask you about all of the songs and instruments you've ever played and have you talk about those experiences. We might ask a hypothetical question about what if you had to play a certain piece, how would you handle it. Maybe we'd have you answer some trick questions: "What are the frequencies of the first five harmonic multiples of B right below middle C?"
I find this to be utter madness.
I think the best way to find a good (or potentially good) developer is to have them do what we do in our jobs, which is, given some vague requirements and some undefined period of time -- a few days or so -- write code to solve a simple problem.
And I loved the part in the article about mediocrity. I've found the best developers to be humble enough to constantly work on improving their craft. So, don't reject a candidate because they appear to "lack confidence".
- dajohnson89 9y agowill you pay me for those 3 days' work? and tbh it's not even the money, it's my non-existent time.
- pmcollins 9y agoNo, but I will let you put what you created on GitHub. That becomes part of your portfolio. Put a link to your GitHub account on your resume. If you already have enough sample code, there may not be a need to provide more.
- humanrebar 9y agoI think your ideas are valid, but there are many potential candidates who cannot do any of the above because they have full time jobs that prohibit open source contributions without prior approval.
- philsnow 9y ago> Yet as an industry, we focus the ability to be productive on day 10 instead of day 100 or 1000. For long term positions. Why? With what level of accuracy can one tell which of the 100 applicants are going to be virtuosos three months/years down the road? With what level of accuracy can one tell which of the 100 applicants are going to be solid _enough_, _tomorrow_?
- dlwdlw 9y agoReason may be similar to why artists and musicians typically don't make money. Money/power isn't that interesting. So the people who end up becoming the gatekeepers are those who can't see real talent and those with real talent think that those who are in it for the money aren't "real" enough. The good but not greats are often really good at specific areas not necessarily tied to business concerns. The "greats" spend so much time on it that they end up really good at a bunch of things. From a business perspective where output needs to be measurable/controllable you want someone either malleable enough to work on any kind of crap, or someone Soo good they can be good at anything. The really good CSS person, the SVG animator, the functional JS guy will all be passed in favor of the malleable new grad or the industry expert. The only way is if these individuals market themselves and create a new domain of expertise by giving talks or writing books. The value is appreciated by the environment but not companies.