Monday, 19 September 2011

How to find a job for Hackers

The advice I'm about to impart won't work for everyone but if you are an above average developer (or at least think you are) then the following advice will work. There are a few fundamental facts that we need to address first:
  • When you first start looking for work do not upload your CV/resume to jobsites unless you want to be harrassed by average recruiters promising you the world and rarely delivering.
  • Put some effort in. You are looking for someone to pay you tens of thousands of pounds/dollars a year, don't go about it half-arsed. Put effort into your CV, put effort into researching the company prior to interview and put effort into your appearance.
  • Research. No-ones knows better than you about what job would suit you best. Despite the recent recession there are a massive amount of opportunities out there if you are willing to invest time and effort into looking for them.

There are a huge number of myths surrounding the 'Golden Rules' of CV/resume writing, most of which are perpetrated by corporate HR professionals who are too self-absorbed and process driven to care about creativity and personality.
If you are a hacker or simply one who loves to build stuff, chances are you won't be interested in working for a huge conglomerate where a perpetual battle with HR drains your soul before you even reach the interview stages, if you are looking for work with a major corporate then this blog isn't for you.

Do not limit your CV to one page. If your experience spans more than 3 years or more than 3 jobs then you need details and it's madness to limit yourself to one page in this situation. The reason for the '1 page rule' is down to HR laziness. They generally can't be bothered to read the detail on your CV and mostly just want a snapshot of your experience as well as a few keywords that match the job spec sitting in front of them. Most start-ups or relatively new businesses don't have a HR department and appreciate relevant and interesting detail which leads me to my next point.

If you see a job that sounds perfect for you, do your research. Look up the company on their website, LinkedIn, Twitter, etc and find out the relevant hiring managers name. In most cases you are looking for a CTO, Technical Director or Lead Developer. Once you think you have the appropriate person, send them your CV directly quoting the job title in the subject.

Put some time and effort into writing a brief but relevant cover letter. Don't include it as an email attachment; write it in the body of the email. Tell them who you are, tell them briefly why you want to apply for the role advertised and give them some bullet points on the key areas of your experience, a snapshot of your resume if you will. Don't forget to attach your resume. You would be amazed how many people forget. Never, ever include a stock cover letter. Make it relevant to the role and the company you are applying to.

Back to your CV. If you are a developer and you don't have a GitHub repo, get working on one. Even if it only contains basic examples of your coding ability, it all counts. The best hiring managers are the ones who know what GitHub is for a start and more often than not they will shortlist those candidates whose code they can see before inviting them for interview as it gives them an instant impression of your ability.
There is a large trend towards LaTeX CV's lately and that's great, I can't encourage them enough. The advice I would give you however is to send your CV as a Word or PDF document and include a link to your LaTeX version. LaTex may be cool on Hacker News and stack overflow but not everyone knows what it is.
If you don't have a personal website and you are in the business of building websites, make one. Don't think about it, just do it. Even if the only content is your name & contact details along with links to your CV, GitHub, LinkedIn, etc, it's simply worth it to have your own personal domain for email purposes. I've seen hiring managers delete applications off hand simply because the candidate had an AOL email address. Seriously. I'm not excusing it, I'm simply telling you it happens.

Reading your CV from the point of the hiring manager should be easy and interesting. The text should be black & white and the formatting should be a uniform font. If you must mix up the fonts, keep it sans-serif and use sparingly. Your name & contact details including email, mobile, website & GitHub should be at the top followed by a very brief statement about you and the type of work you are looking for. This should be immediately followed by your work experience in descending order starting with the most recent. After your work details include your educational background and any relevant qualifications and certifications. At this point I always recommend including a list of the technology you have experience with including the number of years/months of experience. Never put reference details at the end of your resume. Recruiters WILL use this info to take references on your behalf without your permission with the intention of gaining an 'in' with a new company. Your old boss will hate you. Instead a simple line stating 'References available upon request' is more than appropriate.

Now you have perfected your CV, where do you find these elusive jobs? Ignoring job boards completely (I assume you already know how to use these), GitHub & Hacker News have a fantastic monthly announcement listing current vacancies directly from the employer. If the company are clued in enough to advertise their roles through these mediums then chances are they are a decent company who understand their target market as far as potential employees are concerned. Think about it, would you rather work alongside a team of developers recruited through or a team recruited through the monthly 'Who's Hiring?' posts on Hacker News? I know which one I'd prefer. Stack Overflow is also a useful resource. Get involved with the community, answer questions and frequent the job board. Build a reputation for yourself and eventually you will get noticed.

Despite the abundance of Beliebers, Twitter is becoming an increasingly useful tool. Connect it to your GitHub and follow everyone you find interesting through the mediums mentioned in the previous paragraph. Tweet regularly but instead of telling us what you had for breakfast, tell us about the latest development on your cool new web app. Hashtags are useful and if you are writing something in Ruby tell the world but ensure to add the #ruby hashtag so people can find your tweet. When you have a decent following, announce the fact that you are looking for work and ask your followers to retweet you.

Everyone is talking about LinkedIn and most of it is hype. For every Rubyist I come across on LinkedIn there are at least a few dozen recruiters. Recruiters know and abuse every trick in the book to connect with you on LinkedIn and at this point it has become more of a meat-market than a viable resource for finding work. That being said, it doesn't hurt to build a profile however I can't emphasise enough how stringent you need to be with your LinkedIn security settings. Hide your contacts and if you don't want to be inundated with Recruiters offering you opportunities at 'The next Google' then say so in your LinkedIn summary. Better yet, change your settings so the only people who can send you a LinkedIn connection request are those who know your email address.

If you've ticked all the boxes mentioned above then you are doing everything right. If you are still struggling to find work and you don't understand why, start making phone calls. Contact the organisations you applied to that have rejected you and ask them for frank and honest feedback. Explain that you simply wish to get clarity on what you could be doing better to improve your chances of finding work down the line and you will be surprised how many people will be truthful & helpful. The adage about never receiving constructive feedback applies mainly to big corporates and shoddy recruiters and I have always found that smaller, decent organisations are more than happy to give clear feedback. If you don't agree with the feedback, instead of arguing the point work out why they were left with that impression or what you could do different the next time to prevent leaving the same impression. Honest criticism can be difficult to stomach, more so when you are looking for work as you already feel vulnerable but decent criticism is priceless and every bit of feedback will help you to adapt so that the next time you apply for a job you will know what pitfalls to avoid.

Final bit of advice: Keep knocking on doors. Make every application personal and don’t lose faith.


  1. "There is a large trend towards LaTeX CV's lately and that's great, I can't encourage them enough. The advice I would give you however is to send your CV as a Word or PDF document and include a link to your LaTeX version."

    Heh. As if anyone would send the LaTeX source.

  2. @Kurt I assumed those reading this would understand that i was refering to something along the lines of a dropbox style link where you click to download.

  3. This is a great article! Thanks for sharing.
    Although I think it could help much more people than just hackers in search for a job. It's painful to see so many good CG artists who don't ever know how to sell themselves, at least thinking about the people I've met.

  4. I got on the end of this new website which I thought did a better job that

    Buh-bye meat-market!

  5. The recommendation of writing a CV longer than 1 page is... optimistic. You really believe that a manager in a startup who is probably overworked as it is, has 20, 50, 100 CV's to get through, and who has NO HR department to back him up is going to spend the time reading a 3 page CV? Not a chance. I can also be pretty sure that if you cant fit the most pertinent information onto one side of paper then your communication skills arent going to be great.

    Bottom line, the CV is to get you in the door, the interview is to show off. Only put a page worth of your most relevant info in the CV, personalize the cover letter for the job, and then show off and go into depth in the interview.

  6. @middric As someone who deals with job applicants on a daily basis, I couldn't disagree more. If I sent a busy start-up a 1 page CV for someone with 5+ years experience it will almost definitely be rejected off hand. The initial few hires for start-ups are crucial so they will invest time into reading CV's, if they don't they will make some poor decisions very quickly.

  7. The most impressive CV I ever read was a single page letter style CV in 12pt Courier split into four sections describing himself, his work and his goals. We hired him 60min into the first interview.

  8. Why is everyone missing the point here .... It's about getting rid of the CV-to-inbox application and getting hackers to connect with the company. All the info on a CV can be found on their LinkedIn profile - so efficient!

    Whether it's randomly emailing one of their engineers to ask an interesting question, working with the companies API, or finding out a tech event their participating in, anything is better than a CV in the inbox.

    It's then up to the company what information, sample work, and testing they want/need to make a smart choice. And like it was said above - don't be shy to prove your worth in code - it can only make the company value you more.

    Erika @kik