How to apply for a programming job
Note that the opinions here are my own: they draw upon real world experience at my current employer, but they are not their views, I do not speak for them and I’m far from the only person there who reads CV’s, so my suggestions should not be assumed to offer a quick route to an interview.
I’ve been interviewing for over three years, and in the past year I’ve spent a lot of my working time looking for fresh Graduates to hire. I’ve now read many hundreds of CV’s and carried out telephone, video and face to face interviews, and I can confirm first hand what you’ve probably already realised, and that is simply having a degree related to Computing in any way at all is no guarantee of a job. It’s not even a certain that you’ll get an interview, and it’s down to the skill sets of the applicant not being focussed in the correct way for the needs of the employer.
Admittedly the company I work for is looking for an odd bunch of skills (if we followed the mainstream view, we wouldn’t have been in business for over 20 years), and is very picky about who they make on offer to, but it’s no less specialist than the oft-mentioned Games industry.
So what can be done ? Right now that is – not waiting for the years it will take to shake up ideas from Primary tuition to Degree level and then have the students follow that path. Well it depends how far through the educational pipeline you are: if you’re about to start applying for jobs there’s less you can do than if you are at least a year away from graduating.
For me, the first task is for the candidate to properly read the job advert: I know and decry the fact that failed applications aren’t given any feedback, and am fully aware that I am part of that self-perpetuating problem. At the height of the application process I am reading over 30 CV’s a day whilst still being expected to turn in my normal workload on time, and despite my best efforts at maintaining an impartial attitude, too many ‘junk mail’ style applications remove a lot of goodwill.
This means that if you fail to write a targeted cover letter, or simply have a stock one with a company name search-and-replace, then you won’t be doing your best to grab my attention. I do still read them all, but do not assume that letter+CV is some magical formula for an interview: your CV is a reference for me, enabling me to ask questions that probe the level of your knowledge, and to ensure that you have spent your time learning skills that are relevant. The covering letter is yours and your chance to shine: this is where you refer to aspects of your life, non-degree skills and knowledge as well as the job advert, to prove that not only have you paid attention to the job, but that you a more interesting and well qualified than the other applicants.
Refer to things you have done outside of your education: don’t simply give me a job title from part-time work, or rehash what’s in your CV, but explain why your time spent polishing widgets after school gives you more skills for the job than simply having a degree in widget analysis. Don’t automatically assume that I know the details of the schemes you’ve been involved in either: stating that you “learnt loads” or “grew as a person” due to your participation in a recognised scheme a) tells me nothing of the skills you learnt, and b) assumes that I somehow magically know the details of all youth programmes all across the country, despite having been out of education for over half my life. Yes, this means you need to spend time on your application, but trust me: the effort will be noticed, and your application will get more attention as a result.
It’s also worth taking time to explain (in a very small number of words) what your course modules have taught you: you may well know what “CS306 UI Basics” means, but you can be sure I’m not going to try and find a prospectus for your University from the year you joined the course in order to find out what you were supposed to have been taught. Sell yourself to me, and give a list of techniques or skills that the module gave you, or a sentence describing what you gained if that is more helpful to an outsider.
Longer term solutions
If you have a year or more before you’re going to start applying for jobs, then you have a wonderful opportunity: show me how much better you are than your course mates: having 20 applications from a single course does show itself in the fact that the CV’s will be almost identical, and you need to show that you are better than the other 19 who are also “Proficient in C, C++ and Java”.
How ? Simple: if you want a programming job, show me your programming. That isn’t an invitation to bring in a printout of your coursework or to send me tarballs of your latest masterpiece – give me URL’s to code that you’ve written or contributed to. Do you have your own website ? Great: give me a link. Got a blog ? Are you sure that it’s work-safe ? Really ? Then refer to that too.
Ok, but maybe you haven’t programmed at all before starting your degree, and you don’t feel confident enough or have any examples worth publishing. No problem. Find an Open Source project or any online community that you have an active presence in and tell me about it. Perhaps you have spent time coaching others in the basics of some skill or task and simply helping out newbies in forums. That’s great: I actively seek those who will ensure that learning is a constant activity and not something that is only done when a lecturer is in the room.
My one caveat for online references is that you can be 100% certain I will not be signing up with my email address or joining any website in order to view your work. Do not assume I have, or will create a Facebook account just to see your work, and I will not be clicking through any legal agreements (no matter how trivial) in order to read source.
Sounds harsh and restrictive ? Hardly: there are a myriad ways to shine, through well thought out discussions (or arguments) on a mailing list, to patches or diff’s submitted to a project (even if rejected), to well reasoned articles or example help on your own website or in an online community. Talking about the latest CSS developments, or musing about how to take better photographs – it all helps and is part of something larger that previous generations of applicants never had: an online legacy.
Your online legacy
It’s brilliant. It’s scary. It’s here, and you have one: make the best use of it that you can. Googling (or Facebooking) the name of a prospective date has been a staple of comedy for a few years now, and you can be certain that any future employer will do the same. No, I won’t be looking at every applicant in this way, but if you have a well-written covering letter and interesting CV then I will want to know more about you.
Google has had an age based aspect to its weighting algorithm for long time: the longer a domain has been registered, the more likely it is that the content is useful and not part of some link farm. The same goes for you: yes, we all say things online that we later regret (no I’m not linking to them). I’m not looking for some artificial PR-generated online persona to be fed to me as part of the job application, but I would be expecting well thought out (even if incorrect) technical work. I’m not going to be a prudish censor or feel the need to report suspected illegalities, but bear in mind that the photos of you getting falling down drunk with your mates don’t need to be put on the top of the page with your latest code.
Equally, any future employer is not trying to be your friend: I want and demand your best work and attention in return for pay and a challenging and rewarding set of tasks. Don’t attempt to befriend me on a social network, or put your Twitter stream in your application (unless it’s a purely technical one) – keep your social and private life to yourself, and only show me the skills you have for the job. This doesn’t mean you have to live a Jekyll and Hyde online life, but simply keep one area of your online activities ready to be viewed by any employer at any time and do as you will elsewhere – remember that the length of time you stick at something is also relevant: showing that you have posted 50 helpful responses on a mailing list 3 weeks before a job application is not the same as having those 50 responses spread out over 12 months or more – the older the evidence of your involvement, the more compelling it is when supporting your application. It’s never too early to start.