Let me start this post with a really, really big notice:


I did dig out my CV recently though, which has lived at some variant of http://insom.me.uk/cv.html for around a decade. It’s not been touched since I last changed jobs, in March 2005.

I thought it would be interesting to revisit it and put together a new version, now that I know what I would look for when hiring someone, and now that I’m more mature and know a bit more about what jobs you do and don’t want to get offered.

I am a multi-skilled developer who believes that a good knowledge software development is applicable in any language, and rapidly learns new ones. I am interested in Agile processes, but also quite happy with more traditional project management. I have proven management experience, from both software and business points of view and possess first class analytical, problem solving and people skills. I can explain technical things to less technical people. I have knowledge of computing from low-level bit-moving to functional abstractions. (I would rather be at the “high” end of that scale). I am dedicated to achieving and maintaining high standards.

I’m actually kind of pleased with how this has aged! I might tweak the fact that I actually really enjoy getting my hands dirty at the low level, now and then. (Days when I write C are normally better than days when I write PHP). It’s a bit long too. Is “I am dedicated to achieving and maintaining high standards.” adding anything?


  • Dynamic Languages (Lisp, Smalltalk, Scheme)
  • Web Architecture (REST, HTTP/web server stack)
  • Project Management
  • Agile Software Processes (XP)
  • Formal Testing / Code Review
  • Object Oriented Design
  • Design Patterns
  • Technical Writing
  • Sysadmin (5+ years, commercial use, current)
  • Strong English Language Skills

This is also looking pretty good, I can probably drop the years off of ‘sysadmin’. Back when I wrote this I didn’t really think of operations as separate job from being a software developer- you reap what you sow. Interestingly, we call that DevOps now and nothing has changed.

When I wrote this I also expected to go get a job being a Java programmer. I’d spent several years doing Java consulting and, though I didn’t really write any for fun, it’s a great language at paying the bills. I do know patterns and I do get OO, but calling them out here is probably the start of what I think of as “SEO for your CV”.

I’ll skip the languages part, it needs updating to be accurate, and I will only put in languages that I would actually want to use as part of my job here. In 2005, with a pregnant wife, getting a steady to pay the bills meant I probably would have taken a Perl job. In 2013, unless life deals me a very bad hand, I would not.

Skipping to what I’ve even brashly called “Buzzwords”:

Technologies, buzzwords:

  • Unix, Linux, FreeBSD, Solaris, Windows.
  • CVS, Subversion.
  • x86 architecture, PC hardware.
  • TCP/IP, packet filtering, routers.
  • SQL: Microsoft SQL Server, PostgreSQL, Sybase ASE, MySQL, Oracle.

Here’s the worst kept secret in the industry; employment agencies want your CV in Word format for two reasons:

  1. They will edit your CV and remove any identifying information before sending it on to a potential employer. They do this so they’re not bypassed, but if you’re recruiting for anyone in IT, it’s likely that picking one or two sentences out and searching Google will find that exact person anyway.
  2. They will feed your CV into a big searchable database, and when an opening comes up that they want to fill, they will keyword search for what the employers are looking for.

Sometimes your choice of keyword can be the difference between getting a job and not. I once lost out on a contract because I had “Postscript” experience on my CV, but the recruiter was looking for “Ghostscript”. (If you’re not aware, Ghostscript is an interpreter for the Postscript language). Blunt search instruments in the hands of people not familiar with the industry are demoralising.

As you can see, in my “please, please give me a job” phase, I have spammed my CV with searchable phrases. I don’t just have POSIX or Unix experience, I list the flavours. I don’t just know “mobile”, I know WAP and SMPP. I don’t know “version control”, because people will search for “CVS” and “Subversion” instead. Ditto vendor names, if you want a lot of poorly vetted job offers, you could do worse than filling your CV with name drops to Enterprise Software Companies™.

The biggest difference between 2005 and now: I know what jobs I don’t want. And it makes no sense to optimise my CV for Perl, Ruby, Visual Basic, Solaris, XML, Windows Server and really, even PHP, if I don’t want to actively work with those things (and I don’t).

There are enough companies doing interesting work, using Python and practising something like DevOps (by the way: I AM NOT LOOKING FOR WORK AT THIS TIME, PLEASE, PLEASE DO NOT CONTACT ME) that unless I was made unemployed, I would be crazy to take a job doing Java and Oracle. (Besides which, I’d probably be underqualified, which just wastes everyone’s time). The things that you want to do, and are genuinely good at, should be the main things on your CV.


  • Crestsource Limited, March 2002 – date. Umbrella for consulting and contracting work.
  • Crestnorth Limited, June 2000 – March 2002. Umbrella for consulting and contracting work.
  • Hyperlink Limited, Summer 1999. Customising PHP software. Security auditing.
  • BH Associates Limited, Summer 1998. Technical support for shipping companies and credit unions.

Accurate. As I was 21, I even included Summer jobs. I’d leave those out, and probably roll the two Crest* companies into saying that I just consulted and contracted from 2000 to 2005.

Then there’s a page-filling list of my major projects. I would probably not include this amount; one or two notable things you’ve worked on is probably more appropriate. If you’re a contractor like I was, a taster list like this is probably fine:

Before June 2001:

  • Developed a WAP used car search for the SIMI (Society of the Irish Motor Industry).
  • Developed a WAP scratch-card for Rehab lotteries (Irish charity).
  • Performed system administration and software development work for the Irish Independent On-line.

An interested employer will ask you for more detail. This advice is for someone established and looking to switch jobs, if you’re at the start of your career, maybe a little more detail to get your CV noticed would be worth it.

Open Source:

I have contributed patches, code, documentation or resources to some Open Source projects. These include [LIST OF VERY OLD OPEN SOURCE PROJECTS]

I totally think this is worth including in your CV. Now-a-days we have GitHub, so if you’re sufficiently proud, you can include your username and your employer can see for themselves. Maybe call out one or two successful projects that you’re involved in, especially if they’re likely to be well known.


As an active member of the Python Community, I regularly blog about Python and software development issues. This includes the release of several small Open Source utilities, which have been featured on Daily Python URL. I have been a member of the Internet Society since early 2003.

Also still good! ISOC membership is basically free and proves nothing though, but user-group membership and any chances to present should be called out here.

Education: Third Level: Dublin City University,

Stop! If you have a degree include that. If, like me, you didn’t finish university, it might not warrant inclusion. If you’re not fresh from education, no one cares about your A-level or Leaving Certificate results, and they really don’t care what secondary school you went to.

Sites like LinkedIn prompt you for this kind of information, but that’s as much to provide more data to pair you up with people you might now as it is because it’s interesting.

And that’s it! Here’s the link to my newer, shorter, better CV.