I’ll be honest – I don’t read a lot of tech blogs. I’m not big on the newest gadget, I still don’t know how i feel about the DailyWTF, and I have very little interest in the day-to-day activities of big-name tech companies. Too many tech blogs exude a lot of the elitism and machismo that make me feel more like an alien in tech culture than a participant. There are some exceptions to this that I’d like to read more, like the excellent Silcon Florist, which follows the Portland tech industry. But as I’m just starting to engage myself with building and strengthening the Portland tech community on a business level, I revisit it less than I should.
There are a couple tech blogs that really draw me in, though, and I love them because reading them makes me feel strongly in alignment with my identity as a technologist. These blogs can be especially helpful to read on days where I need to write some code and can’t get my head in the right space, or the (blessedly infrequent, lately) times where I can’t remember why I ever liked programming in the first place.
The newest blog to earn my endless praise is Code Anthem.
I actually found Code Anthem through Geek Feminism. GF wrote a small entry on why requiring open source contributions from a job candidate can be sexist, with a post from Code Anthem as the starter material for the discussion: “Don’t Judge a Developer By Open Source”. This topic really interests me – because I’m interested in the open source ethos, increasingly use open source technologies, and have an interest in open source development – but the environment still seems incredibly hostile to me, with a high barrier to entry. As a result, I am still in the “incubation” stage of doing open source work, and it sucks to know that I could be falsely written off as a crappy coder because of my lack of involvement thus far.
The Open Source post led me to Code Anthem’s How to Hire Crappy Programmers, and since reading that post I’ve been hooked.
See, here’s why Code Anthem is awesome: since I started working in industry, I’ve felt like there’s an odd mismatch between the way most companies hire developers and the way developers actually evaluate their own skillsets and otherwise behave. When I was in college, trying to port the skills I was learning while acquiring my Bachelor’s in Computer Science to the job postings that appeared on our department mailing list was basically impossible. What was especially shocking to me about most of these companies submitting the postings was that the way they were trying to market themselves to applicants made me, as a programmer, not want to work with them. Even though I’ve struggled with confidence throughout my lifetime as a programmer, I also know enough about my own smarts to see these job postings and say “if this is the blunt hammer they’re going to apply to resume screening, they’re probably going to filter out a lot of decent applicants (like myself).” Unfortunately, this seems to be what 98% of job postings, at least in Oregon, look like. I’ve ended up coping with this weird reality in two ways: one, I’ve gotten comfortable applying for jobs where I’m not qualified “on paper”, because I’ve come to accept that hardly anybody else applying for these positions can be, either. Two, I’ve written this all off as a symptom of an immature industry that has adopted a stupid standard practice because it hasn’t been around long enough to have an actual tested and established best practice in place.
What a treat to see the How to Hire Crappy Programmers post addressing just this issue. And to see the wide-ranging consensus in the comments! I especially loved the folks who reported on the job postings that require x number of years in a technology that has existed for less than x years. This stuff really happens, and I’ve honestly been surprised to not see anybody ranting about it until the comments section of that entry.
With that personal introduction out of the way, Code Anthem is all about this issue of programming talent and how we evaluate it. How do we hire for it? What is a programmer worth? How can companies effectively market themselves to good programmers, and in turn, how can they (fairly) determine that applicants are indeed qualified? These are really difficult questions precisely because we’re in such an immature industry, but also because this industry is rife with really unique challenges that really complicate the evaluation of an excellent coder (for instance, I’m in the camp that an excellent coder who’s also an asshole isn’t actually an excellent coder, because they can’t work with people – others would disagree).
To my knowledge, Joel on Software has been the go-to for this kind of input in the past, but I ran into a problem a few years ago when reading Joel while doing interview training at Google. His writing seemed thoroughly immersed in programming culture as it currently exists and not programming culture as it could / should be (to start out with, more diverse), and as a result a lot of what I read seemed incredibly male-centric and elitist. I consider myself a conscientious and hopefully constantly-improving programmer – I at least bring some unique strengths to my position – but I didn’t think Joel was talking about people like me when he spoke about good programmers (not just in terms of skillset, but also the social experiences that color one’s identity as a programmer). So I take a lot of his advice with a grain of salt – I think it’s really solid, but a lot of the time I wonder if it’s also perpetuating a lot of what’s wrong with the technological community, not in terms of code quality but in terms of social dynamics and diversity – and those latter two do have an ultimate impact on code and product quality.
I’ll admit some of my preference for Code Anthem is probably based on sharing the same gender identity as Amber, its author. I immediately don’t feel left out of the conversation if the person starting this discussion is a woman – because I know (and she has proven, with the open source post and others) that she’s considering a lot of the nuances which men / privileged groups in the field often overlook or don’t have to think about. This doesn’t seem to be to the detriment of the men reading the blog, either, so in my book everybody wins. Gender dynamics aside, I feel like Code Anthem is different “in a good way” because the blog focuses on the infrastructure / ecosystem of the tech industry as the source of poor-quality work more than the programmers themselves. Most of what I’ve read before this has focused disproportionately on the poor-quality programmers. Sure, bad coders are part of the puzzle here, but focusing solely on them won’t solve the overl
The hyper-focus on bad programmers is problematic in a couple of ways. First, a subset of good coders will read these entries and falsely evaluate themselves as a “bad coder” – simply due to their personalities or social conditioning (read: a lot of women). I know I struggle with Impostor Syndrome and until I became lead on my current team I wondered if I was a “bad coder” myself anytime I read a post lamenting their existence. Then there’s the second problem: the “bad coders” themselves don’t realize that they’re bad. They read along with these posts about bad coders and associate themselves with the “good coders’” group and therefore take none of the content to heart (see the Dunning-Kruger effect.) So in my mind, it’s time to stop focusing on the issue of bad coders and instead focus on the entire ecosystem. Code Anthem keeps doing this, entry after entry, and I can tell I love it because I then want to pass on / retweet each and every entry, to technologists and non-technologists alike.
Here are a few posts that I’ve read in the last few days and finally inspired me to post here. I swear, every entry in this blog is rock-solid and addresses one of these tricky ecosystem issues that really merit more attention.
Take a peek at:
Death By Recruiters – why recruiters are generally bad for industry
How to Get a (Programmer) Job In This Economy – I actually went through almost exactly this same thing two years ago, at the start of the recession
Just Technical Enough to Be Dangerous – how to handle the people who over-evaluate their skills and do risky things because of it (been there)
256x Better than a Resume – the reasons why the standard criteria provided by resumes aren’t beneficial for finding good programmers, and some exploration of, “Well, what’s the good criteria, then?” I agree on the “programmer test” route as part of the solution even though the idea of having to draft one up for my own company at some point petrifies me.
Go read! I love Code Anthem because I am passionate seeing these inefficiencies in industry go away. They make the entire practice of hiring and evaluating programmers a lot more painful and unwelcoming than it needs to be. It’s great to see a blog that’s also calling these things out for the crap they are, and discussing good alternatives. The more this discussion is disseminated, the better for any programmer who wants to see a difference.