Here are my top tips for getting a job (or a contract).
Your CV needs to be excellent, not a pile of crap that looks like a 12 year old wrote it. If you can't figure it out, stop now and give up because you don't deserve to be a professional software developer.
Try to target companies you actually want to work for. Google them, do your homework, read some blog entries, check google maps, basically stalk them on the internet for a bit. This knowledge will help at interview and you can use bits to help you write a good covering letter.
Use agencies as a last resort (you probably will use them but try direct approaches too). Try the direct approach, rigning companies up, asking friends, using LinkedIn, etc, first.
Think of every nasty question a potential employer asked you and make sure you have a damn good answer.
Act like you actually want the job. You'd be suprised at the number of people I haven't hired, simply because they didn't seem to care.
Don't claim you have knowledge of something you don't but on the other hand you can (and sometimes should) 'talk up' your skills a bit but don't flat out lie. Sadly, a lot of employers are too stupid to realise that people can pick things up on the job quickly and are too quick to dismiss someone because 'they don't have the right skills'. How many jobs have you honestly started with all the skills you needed to do it? If you answered more than zero, your last job was proably as a cleaner.
If you genuinely don't have any skills in certain areas that the job requires, don't let that put you off, be honest in your application. Honesty counts for a lot and you might be suprised. I got a job once with a smaller company on the strength of my experience, dispite not knowing their primary programing language.
If you do use agencies (and in IT, you almost certainly will) then you need to be carefull. Tell them only what they need to know, which is:
- You skills and levels of competancy.
- Where you've worked and when (if asked).
- Your temporary contact details (disposable mobile phone number, temporary email address - see below).
Never give the following to anyone other than an employer:
- Your address and house/mobile phone number.
- Your personal documents like passports, etc (or even coppies).
- Coppies of your qualifications.
- A list of places you've applied to (will just be used for them to send more CVs to).
- Names of people (i.e. individuals) you've worked with (or even worse, for) - if you do, expect them to be called and harassed.
- Your time, in any great quantity (agents sometimes like to treat you like an office temp and ask for a face to face - just tell them you're bussy).
- References! See above - will just be used for marketing/sales.
I usually buy a cheap 'pay as you go' mobile and open a temporary gmail account which I use solely for job hunting because some agencies, are SO FUCKING STUPID that they will keep ringing you YEARS after you've stopped looking for work, solely based on a misguided search hit on their crappy software. When this happens, you can dump the phone. The agencies that I actually find useful (of which there are few) get my real contact details when (and only when) they get me a job.
Never sign anything an agent gives you until you have a job and even then - read through carefully. Try not to sign anything which would put you at a dissadvantage, like exclusivity clauses.
Finally, try to get references in writing, get a personal email address (because people change companies) and get an agreement with the referee that you can reuse them for job interviews. That way, you can just photocopy the reference and turn up on the day with it to hand over to the employer (not the agent). This goes down very well because companies are often way too busy to chase references. I once had a truly awesome reference but didn't take a copy of it, fell out with the HR woman who had the only remaining copy and she destroyed it out of spite (shortly before she was sacked), which was rather inconvenient at the time - but hey, lesson learnt!