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.
For example:
- 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.”

Are you using the word ‘CV’ correctly?
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?

A blog is not your resume (but it may be things you don’t do any more).
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.
What then?
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.
Tom, I normally don’t comment on your blog & I would agree with almost everything that you’ve written in the past. However, I particularly don’t agree to what you think about GitHub not being a CV. As an employer, I would consider GitHub, Stackoverflow or a blog as a CV.
It seems you are hung up on the dictionary meaning of “CV”. But while hiring, if I get to see any of these profiles then I’d take extra effort to go through the code they’ve contributed. It at least, gives a fantastic idea of their skillset & their expertise in it.
Facebook was intended to be a tool to help connect classmates. Then it evolved to become a social network and when they saw businesses use it for marketing purposes they introduced Facebook Pages. That’s just the example of facebook, I’m sure you’d yourself come up with 10 such examples…
I personally think that One should use the service the way you intend to use it.
It’s your perspective of looking at these services. Probably, some would agree to it and some won’t. Like you decided to not agree with those who think that Github profile is a CV.
First off, thanks so much for the comment – I love hearing from everyone who reads even if we disagree (after all, disagreement can sometimes yield better conversations and conclusions than not).
To your points:
I’ve given my case for that in the post. And I know, maybe I’m a purist, but I just think that if we’re going to be using the word “CV” then we should be using it as its intended; not some other definition that conventional wisdom is adopting.
Again, just my opinion.
I think it’s great that you take “extra effort.” Not a lot of people do that – they look for buzzwords and or tags that are related to whatever job they are trying to staff and then role with it.
You’re the exception to the rule, it seems. And that’s A Good Thing :).
Though Facebook originally intended to be for connecting classmates, it did grow and evolve into more; however, if that analogy was to be drawn to, say, GitHub alone then GitHub should allow us to select the repositories that we want to treat as part of our “CV” and then make those stand out in a different way.
You know: Kind of a “here’s what I’m working on right now,” kind of way.
This isn’t really meant to be my perspective on how things are – after all, Facebook offers features for businesses now. GitHub offers features for open source collaboration. When it then offers features for resume/CV functionality, then I’ll be down with it.
Again, I realize I’m just a purist and I do appreciate the back and forth on this – I’m just sharing my thoughts (as you were yours :).
I think you are right. Another issue with GitHub is that you do not see the private repos.
I do think blog posts and GitHub can help get an idea about the person. In your case, the interviewer would see you make time to write and you like writing. Something like plugin boilerplate shows you are interested in contributing to the community. It tells a bit what type of person, you can but not necessarily much about your skills or knowledge.
Agreed – and I don’t want to sound biased, but often times private repos may contain more detailed projects as they are being done for a client or a contract and have significantly more assets and code related to it.
Not always – I mean, that’s a broad assumption – but sometimes.
Exactly! I think it can help give an idea about the person, but think it’s dangerous to draw a full conclusion from it.
Exactly – in my current case, I have a handful of projects that I’ve sold or that am selling that I should show for that, but I’ve got way more in a portfolio of contract work than I’ve done than anything else.