As it relates to developers, it’s been said that certain sites provide a paper trail of the work that we’ve done since we’ve been working in a professional capacity.
- How many times have you heard that GitHub is your CV?
- Or what about the idea that your blog is a paper trail of your thoughts about the work that you’ve done and/or the industry in which you’re involved?
- Or perhaps you’ve even heard that sites such as Stack Overflow (or any of the other Stack Exchange sites) provide some type of portfolio or journal that provides a glimpse as to the type of information you’re after, and the type of information in which you’re well-versed.
From the outset, I think that the overall idea behind each of the aforementioned points is well-intentioned, but I’ve rarely – if ever – heard an objection to the premise that these sites provide a true CV for a programmer.
That is to say that no one seems to take account that one of the – if the the – largest factors that stands over each of the points above: Time.
In short, I don’t believe that any of the aforementioned sites (or related material) serve as a CV. If anything, they serve as a documentation of our history in what we’ve been doing.
There’s a very big difference between the two, and if we end up thinking that they provide us with some type of CV, then we may run the risk of missing out on really good contributors, developers, authors, and so on.
What Is a CV?
According to Wikipedia (though any definition will contain a paraphrase of the exact same information), a CV – at least in the United States – is defined as this:
A CV elaborates on education, publications, and other achievements to a greater degree than a résumé, but it is often expected that professionals use a short CV that highlights the current focus of their academic lives and not necessarily their full history.
Aside from the fact that it’s traditionally used in medicine and in academia, check out the final clause of the definition: “[it] highlights the current focus of their acdemic lives and not necessarily their full history.”
Doesn’t that, at least in some degree, contradict most of everything that a blog or set of open source repositories stands for?
A Blog Is Not Your CV
This one is easier to tackle: A blog is not part of or a substitute for our CV. Instead, it’s a public journal.
Some people write about things directly related to their field, some people write about things directly related to their hobbies, and some people write about things that are an assortment of anything and everything related to what’s up in their life.
In this context, we’re obviously talking about the idea of people using it as a way to journal their thoughts, experiences, opinions, and so on regarding their work.
But here’s the problem: Something that I wrote two years ago – let alone one year or even six months ago – may not necessarily be relevant to the technology with which I’m working today, nor may those posts represent my opinion on a given topic in the present.
That is to say, we change and we [ideally] mature.
Our thoughts, opinions, and abilities change and grow based on our experience. So something that I wrote two years ago – although interesting to read and potentially incorrect – is only valuable within the larger context of where I am now.
And the challenge that comes with that is this: What is to be said of the content that I’m writing now in one year from now?
All that to say, a blog should be viewed as an open journal of a developer’s experience over time – not as a type of detailed resumé or elaborate cover sheet for an interview.
GitHub Is Not Your CV
This is the bigger one because I see this one promoted more and more and even used in emails by current recruiters these days.
At the end of last year, I wrote a post that asked if we should delete old repositories? Though you can read the post and the comments on your own time, the general consensus was that we should not delete old repositories as they continue to show examples of where we’ve been, and that they may serve useful for the education of others, or may be kept up by other contributors.
All of the above reasons are completely valid.
But, again, it completely contradicts the idea that “[it] highlights the current focus of their academic lives and not necessarily their full history.” Instead, it actually is closer to providing a full history than the current focus.
Granted, with GitHub and other certain open source control sites, the most active work you’re doing is likely at the top. But let’s say that you have someone who’s less experienced in how those sites work reviewing your work and they stumble across a project that you haven’t touched in, say, two years; however, there’s still active discussion going on in the issues or wiki of the project.
The thing is, we do have the freedom to delete all of our old repositories and we can treat GitHub like it’s our CV, and perhaps I’m about to commit a generalization, but I’ve rarely met a programmer who likes to throw away his or her code.
Instead, we like having it hosted in an offsite location not only for the added backup but also because it invites others to review our code, open issues, and provide feedback on our work which, in turn, can make us better developers.
Stop Trying to Make Services What They Are Not
The bottom line is that I completely understand the point of what some of the proponents of the idea are saying, but if you’re really going to be treating your blog, your GitHub account, and any other online sites that have a paper trail of your work as your CV, then it’s in your best interest to keep that that content constantly pruned.
If a CV is meant to highlight what you’re currently working on, and the the recent level of achievements, having a post from three years ago with a comment stream talking about why you’re wrong in nine different ways is far more damaging than whatever you wrote last week that solved a problem for hundreds of people.
But that’s the post a person may find.
Similarly, having code stored from three years ago from when you were first tinkering with a Google API that has since been retired still sitting in the list of repositories that you have available may make it look as if you’re an outdated programmer despite the fact that you have another repository with near-daily commits and thousands of people following it.
But that’s the repository a person may find.
So stop trying to make the artifacts we’re leaving online something more than they are. They’re not a resumé, they’re not a CV, and their not a replacement for an interview.
They are basically a journal of things that we’ve done over the past several years that, if nothing else, demonstrate how far we’ve come in whatever languages, tools, and technologies that we’re into using.