Tech CVs: the lies ! the lies ! July 19, 2006

Posted by Imran Ghory in recruitment

There’s nothing more likely to get you thrown out of a job interview than it becoming obvious that you’ve lied on your CV, coming a close second is coming across as completely incompetent in your area of expertise.

So you would hope that it would be common knowledge not to put things down on your CV which you don’t know about. I can’t imagine taxi firms get applicants who think having sat in a car qualifies them at drivers, or people claiming to be French translators due to having slept through 5 years of french lessons at school.

Yet IT seems somehow different…there seems to be an obsession with having magic words on yor CV. As if having “J2EE” or “XML” will turn you from a Clark Kent candidate into a Superman candidate. Sure having those keywords may get you that interview, but once they find out you’ve lied there’s a good chance you’ll get blacklisted from that company forever.

And if you’re applying through a recruiter say good-bye to all those juicy high-paying jobs sitting on her desk. One of the most important part of a recruitment consultant’s job is maintaining a good relationship with her clients (the companies, not you, who do you think pays her?) – and if you’re pissing her clients off she’s not going to risk letting you interview with her best clients.

For some reason the worst offenders seem to be the newly graduated, i’ve had graduates claiming C experience not knowing what “printf” is, I’ve had graduates with 3 years Java experience not knowing what a JVM is. And to take the mick I’ve had a candidate who put Python on their CV who when asked about it answered “Oh I don’t know Python – but I was planning to learn it when I wrote my CV”.

I’ve come to the conclusion that one of the main problems is that candidates especially junior ones might think that they know more than they do, simply because it’s hard to tell how much you don’t know unless you’ve been in an enviroment surrounded with people who know a lot more than you.

So to help solve the problem I’ve come up with a list of common tech skills and languages people put on their CV along with the minimum level of knowledge I’d expect to associate with it:

Programming in general Understand the different types of programming languages and their advantages and disadvantages. Understand variables, function calls and recursion. Understand the difference between assignment by reference and value and passing by reference and value. And how this applies to your favourite language.

Object-Orientation Understand the key concepts of OO – especially encapsulation, inheritence, polymorphism. Know the advantages/disadvantages of inheritence versus composition.

Design Patterns Know the easier design patterns iterators, singletons, etc. Have knowledge of the gang of four book.

C Know standard I/O, know how to read parameters from the command line Understand pointers Understand dynamic memory allocation Understand the scope of variables Understand the difference between preprocessor, compiler and linker

C++ All of the C stuff Understand the virtual keyword Know what parts of a class a compiler will provide by default and what the default ones do. Know what a constructor/destructor are and when they’re called.

Java Know what the JVM is and what it does Understand roughly how garbage collection works

Python Understand the importance of indenting Why some numbers are immutable Tuples, sets, dictionaries,etc.

XML The advantages/disadvantages of using XML (say versus a fixed-length encoding system) The advantages/disadvantages of the SAX and DOM models How to parse XML using your favourite languages/libraries Know what XSLT is

Unix Know how to use the console for day-to-day file handling Understand piping and redirection of inputs/outputs



I think that’s enough brain-dumping for now….but I’m sure I’ll be back to add some more later on.

So if any of those had you thinking “do I really know the stuff on my CV” perhaps it’s time to brush-up your word processing skills….