Paul Hammant's Blog: Three Tier Resumes
It’s time for every software developer looking for a job, to rework their resumes to clearly call out their In-browser, middle tier, and persistence skills and experience. Well, at least developers aiming at web-programming roles (which I’ll assume for the rest of the post). What I’m seeing while reviewing resumes for clients, is candidates with a jumble of keywords, that don’t make it easy for me to assess them.
For example “JavaScript and JQuery” is often the single nod towards in-browser programming, and I can’t really tell how much the candidate knows from the resume. What would be good is maybe some statement about the developers level of comfort with the them. Perhaps too, the developers level of comfort with arbitrary technologies at each tier. This is particularly relevant for the browser technologies as there are too many for an individual to know all of them, yet there is some ability to reuse knowledge of one, to quickly learn another.
Storm Coming
Developers should have to have a clear explanation of what they know or implicitly don’t know in the browser.
It is not enough to just know SpringMVC or ASP.Net-* any more. All web developers whether loving Java, .Net, Python, Ruby, PHP or anything else are going to have a second claimed language in JavaScript. Some could specialize on CoffeeScript (or similar), instead of JavaScript, but they’ll be rare. Also needed, for employment suitability going forward, is a reasonable understanding of the DOM, as well as how to work with CSS to some degree.
I say this because there’s a huge race on to augment a browser experience cheaply via frameworks, and more and more of an app is coded there rather than a lower tier. It’s not a flash in the pan; It is a real migration of coding effort, and will be long lasting. It’s a storm coming, and devs without working knowledge of JavaScript and the ability to choose/implement suitable frameworks (with applied best practice), are going to get left behind.
Of course, this really suggests that today’s candidates have to actively go back into learning mode for JavaScript technologies generally, and the more notable frameworks specifically. Be warned, the field is huge and there’s no sign of a shakedown any time soon. Becoming adept with Js is no small undertaking, and it’s best to start as soon as you can. If you’re lucky your employer will drag you there with suitable training, and group-learning activities (like Agile’s pair-programming).
Persistence too
If we’re stepping back from the jumble of keywords for JavaScript/CSS, then we should do so too for the lower tiers. Persistence skills (or lack thereof) should be grouped similarly. Each language technology has had a succession of persistence technologies. There was a time before ORM, then a series of competing and improving ORM frameworks. Call ‘em out if you know them well. More recently there’s the trend to store data in NoSQL back-ends, when it’s appropriate. This stuff is clearly worth of a separate section at the top of your resume to call it out.
Dead Technologies
Feel free to drop references to dead technologies. I myself was fairly good with ColdFusion in 1997, but have long since excised it from my CV. If you’re particularly fond of some old COBOL-era technology call it out in the incredibly brief section you devote to that 1994-95 employer, but not at the top in summary.
Resume Size
I’m personally sick of seeing resumes that cut off at a certain year, and leave me with no knowledge of what a candidate worked, or where they worked on prior to that year. The US has a ton of folklore about short resumes being best, which I personally don’t care for. I always want to see a more European-style curriculum vitæ, and seven or more pages are not going to shock me. So if it’s me getting the resume for a client, then I want the full version. If you get in front of me, be aware that the agent may have cut down your resume for you. Have a fuller one that you printed yourself for me (just in case), I’ll be very pleased.
Expertise level
As a great differentiator, candidates should find a way of explaining how experienced they are with a technology. Some suggest a number of years with each technology, but that feels artificial as it would normally be an elapsed time, rather than an indication of total immersion with it. I sometimes ask a candidate to say where they are scale or 0 to 10 where 10 would be one of Anders_Hejlsberg or James_Gosling etc. The answers are telling and not always correct. Interviewers will make sometimes embarrassing attempts to verify candidate’s technology knowledge, and will sometimes come to the conclusion that a candidate’s self-professed “9” is actually a “3”. Similarly, or a self-professed “5” is actually a “7” for the humble candidate. I’m not sure anything like that should go on resumes, as Recruitment Agents will fill databases with it, and employers will ask for a “minimum level” thereby destroying the usefulness of the interview to verify it. Somehow though, candidates should find a way to succinctly describe their expertise in plain English.
Also, don’t pout that you’re being tested on some whiteboard/paper/computer medium - it’s what we have to do to compare you to other candidates in a stream. If you feel it’s beneath you, try to bite you’re tongue or hold back your contempt. If you can’t then that’s fine too, it allows us to eliminate you much more quickly.
To .Net developers and their recruitment agents specifically
Microsoft didn’t invent “MVC” a few years ago. It’s a design pattern from 1978. Microsoft found a way, belatedly, to scotch-tape it on to the ASP.NET platform and it’s full name is ASP.NET MVC Please stop writing MVC on resumes when you mean ASP.NET MVC. Recruiters too please. I know it’s a mouthful. Complain to Microsoft if you want something shorter or more categorical.
Update: Aug 4th, 2012
A former colleague reminds me that some older developers have been advised to trim work experience older than a certain period, as it will allow employers to discriminate based on age. Whilst I agree that could be true at the reading of resumes stage before inviting people in for formal interviews, it’s not really going work in a face to face setting. At least you should have sipped from the fountain of youth to be able to pull it off. It feels like bad advice, that potentially recruitment agents are perpetuating. Of course I’ve not been looking for a job for many years, so I don’t really know. One day I’ll find out first hand perhaps!