Thursday, August 9, 2012

Attracting Talent

Factors that make a job posting unattractive are:

•“Required Skills Include…”
◦“technology vomit”, aka “alphabet soup”. ASP, PHP, ODBC, VSTO, ADO, VB, TLC, NGO, BMX, OMG, WTF, BBQ…
◦overemphasis on specific existing knowledge vs. ability to learn new skills
◦too many specifics: so many “required” skills that no mortal could actually fit the bill
◦too few specifics: “Fortune 500 company seeks detail oriented, self motivated programmer to work on exciting new projects” says nothing
◦nonsensical requirements: a posting requiring “five years experience with C# 4” makes no sense
◦things that ought to be assumed (can type, knows how to use a word processor)
◦too much emphasis on certifications / degrees / class standing
◦requiring familiarity with older technologies (VB6, for example)
•Format and style
◦too long; didn’t read
◦too short; not enough information
◦sounds like it was written by someone who has no idea what they’re actually talking about
◦arrogant or aggressive style
◦full of internal jargon, or exposing clunky mechanisms - "Position: SDEII(707719-External)"
•Personality and culture
◦no evidence of awesome coding methodologies, such as “Agile Programming”
◦evidence of dogmatic devotion to trendy coding methodologies, such as “Agile Programming”
◦flat, boring list of requirements with no evidence of “personality”
◦silly attempts to inject “personality”. (Be a ninja rockstar coder!)
◦no indication of working environment – is it a noisy cube farm, private offices, on-site at the client’s space, what?
•The job itself
◦vague, unfocussed, directionless, no clear indication of responsibilities, posting seems to be about hiring a warm body
◦job description does not distinguish it from a thousand other postings (“Web developer wanted for… web development”)
◦no telecommuting
◦relocation required
◦no indication of salary range
◦salary is indicated but too low
◦job requires crazy hours away from family and other pursuits
◦no indication of what tools/languages will be used
Factors that make a job posting attractive are:

•Required skills
◦relevant, focused, sensible
◦emphasis on ability to learn
•Format and style
◦well-written, self-aware, humble, enthusiastic
•Personality and culture
◦good work-life balance
◦corporate culture and values clearly expressed
◦evidence of programming methodologies, such as “Agile Programming”
◦opportunity to work with famous industry leaders or on famous products
•The job itself
◦described in detail: specific team, specific product, specific job
◦telecommuting possible
◦work is beneficial to industry and society
◦work has large scope -- “change the world”
◦work is challenging
◦product is innovative
◦tools/languages to be used are described and are current and familiar
◦good pay
◦autonomy to choose own tools, architectures, methodologies
◦details of the team stated – team size, for example
◦more than just typing in code – opportunities for UI design, DB design, troubleshooting user problems, and so on
Factors that make working on developer tools unattractive are:

•not used by ordinary people; less impact than working on a browser or a word processor, which ship to hundreds of millions of people
•problems are too academic, too abstract, too difficult
•the job requires a CS background; the interview process is going to be scary, difficult, and I don’t want to set myself up for failure.