Well, I started work with him today as I mentioned earlier, and now James is giving tips on surviving his interviews. Wonder if I would qualify?

The trouble is, most programmers have nothing to differentiate themselves.

Check. Am writer \ publisher in programmer’s clothing.

I also don’t get much of a feeling of enthusiasm for technology from these people. I guess if you’ve spent ten years fighting with Visual SourceSafe and COM, you lose your joy at discovering a funky new development toy in the end. I want people who have a demonstrable history of hacking about with technology. I like to see people who have PHP and Perl on their CV alongside C#. I love to see people who have Java experience (proper Java experience, not ‘once built an applet’ Java experience). Evidence that they once programmed a text adventure in DOS BASIC or on a Commodore 64 is solid gold. A current, active personal web site would help.

Check. But Commodore 64’s. Ick. Writing assemblers for the Amstrad 464 was easier. My experience of PHP and Perl is that aside from Rasmus Lerdorf who is a really nice guy(tm), anyone else who wants to write a book at them simply doesn’t know how and no I won’t write the book for them. I have also forgotten exact the same amount of Java as I ever knew.
And don’t get me started on language skills. I’m a firm believer that computer programming is a communication skill. To do this job well, you need solid English comprehension - people will explain what they want you to do in plain English - and the ability to sort ideas and concepts into logical, coherent structures, so you can formulate computer programs which are comprehensible both to the computer itself, and to maintenance programmers. I therefore am also firmly of the belief that if you can’t spell or formulate a coherent sentence or paragraph, you have no place in a development team. The number of CVs I see which disqualify the applicant on this basis alone is disheartening in the extreme.

Errk. But I introduced the word blogosphere on this .Text site. Must I now be taken out and flogged for using cliches?

Main lessons? If you’re a .NET programmer, take some time to learn how the platform you're using really works. Learn some proper OO techniques - read about design patterns. When an interviewer gives you an opportunity to show how bright and interesting you are, take it. And spell check your CV. No, scratch that - learn to spell, then spell check your CV. If it finds more than three typos per page, your spelling’s still not good enough.

Oh man. But no-one else spells my surname right? Even the HR person spelt it Manany for some reason. You mean I had to get it right as well?