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.
THE COVER LETTER
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 Monster.com 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.