hiring dark pattern
We're hiring, so I've had recent occasion to see a hiring "dark pattern". I don't know how widespread this is outside of the tech industry, but I see it a lot in tech and it needs to stop.
The pattern: asking for "number of years of experience in (insert tool, language, or skill here)".
Jobs are multi-faceted. I'm seeing people who don't know how to choose a number, and just as I see the ones that overshot, I know there must be ones who undershot and were filtered out. I saw a resume recently from someone with a broad role, who listed "N years experience" in something where N was the length of the job, even though the job involved many other things and wasn't primarily about that skill. That's "N years of experience" in the same way that I have "20 years of Java experience". Spoiler alert: I don't.
Recruiters and hiring managers put people in this position: we have this checklist, tell us how many years of each, and we need a number not an explanation. Maybe we're making you fill out a web form and you can't even add a comment or ask questions. In the absence of guidance about primary and secondary skills, people will apply different weighting factors. It's a mess.
I often don't know how to answer either. In the last four years I've gained four years of tech-writing experience, the focus of my job, and four years of git experience, meaning I have all the basics and can untangle a merge conflict (but I've never rebased successfully). Those "four"s don't mean the same thing; I don't spend all day using git. Tech writing is fundamental to my role and I'd have no qualms about fully claiming those four years, but for git I would want to say that I've used it as part of my job for four years. That's different. I don't have the same knowledge that an infrastructure person whose job revolves around maintaining git servers and stuff for the same amount of time has. "How many years of experience?" questions don't allow for that nuance.
People who are trying to be thoughtful and honest run the risk of getting filtered out, and people who count "everything" get filtered in. I wonder how the success rate (meaning "acceptable hire", since you'll never know if you got the "best hire") of this exercise compares to recruiters just not filtering on skill-specific numbers at all (just general experience) and having the hiring team evaluate more people. I'm fortunate enough to be sufficiently "long in the tooth" that I don't need to worry about this gatekeeping -- either you're looking for a top-notch tech writer with all that implies, or you aren't -- but this hurts early-career people where the difference between "2" and "4" can make or break a deal.
As for the Java: I spent years documenting and helping to design Java APIs, wrote some examples, but haven't written anything deep and complicated. Someone with a year or two of full-time actual Java development experience beats me. Would the recruiter be able to tell?
no subject
Might as well ask for a self-assessment:
Required:
- Mastery of Java and JVM
- Proficiency in x86-64 assembly
- Familiarity with FPGA design
Preferred:
- Exposure to EDA tools, especially Verilog
Good thoughts.
no subject
That's a much better way to frame it, yes!
no subject
1. Women have a statistical tendency to look at requirements and treat them as absolute requirements, whereas men have a statistical tendency to look at them as aspirational.
2. The vast majority of recruiters cannot tell you the difference between Java and JavaScript, even if they are ostensibly hiring for one or the other. Don't allow yourself to be interviewed or blocked by someone who can't answer that question satisfactorily.
no subject
Apropos of #2, I once stunned a recruiter by asking to see writing samples from the company, and I've asked deeper design questions about their products in interviews. Evaluation isn't one-way, but a lot of recruiters don't act as if they understand that.
no subject
The fantasy of the "perfect hire" seems like some weird subset of Peter Principle thinking. In knowledge work, the illusion that workers are interchangeable cogs who are slotted into a particular role is even MORE ridiculous than in many other positions.
On my resume I chunked skills into "proficient", "rusty", and "getting there", which seemed to go over well with recruiters, although I'm not sure it was as useful for actual hiring managers / interview teams. The problem is that once you get to "proficient", the playing field changes dramatically, becoming huge and wide, and each skill has its own landscape. ("Knows what's available in the Java API" is one expert skill; "understands how and when the garbage collector fails" is an entirely different one. But that breakdown wouldn't make sense in, say, C++, or UX, or...)
Trying to be generous about it, I guess the thing is, writing job reqs is hard, and when you're hiring a lot, you start taking short cuts. (Or so I imagine. We're hiring a lot, but we hire based on velocity, not position, so the skills you *have* are less important. And tech moves fast enough that adaptability and learning speed trump lots of other stuff.)
I do wonder if the sudden increase in labor competition that we're seeing now will lead to better hiring practices, but somehow doubt it.
no subject
Indeed. Everybody on my team who I've been involved in hiring, including interns, was an individual blend of skills that we adapted to -- "oh, you're good at X, so we're going to give you...". That doesn't mean we don't expect everybody to expand horizons and take on new things, but we'd be dumb to not take advantage of individuals' mixes of strengths and growth areas, too.
I like your resume chunking idea. I don't have a separate skills section on my resume, dodging the question of when something I'm not actively using any more slips into "rusty". I list relevant skills and tools in the descriptions of positions, with more of that for recent positions.
Yes! When I look at candidates I'm looking for "core" traits like flexibility and adapting to new things. Specific technologies come and go. I can teach specific tools, practices, etc to the right person. Yes there's a baseline; we can't teach a profession from scratch. But it's not as elevated as some recruiters or hiring managers think it should be. Someone with the necessary foundation and the right attitude is far preferable to someone with all the right specific skills (today) but a poorer attitude. (Of course, in reality it's never that binary.)
no subject
no subject
no subject
Absolutely -- technologies, languages, even domains (like genomics) aren't isolated. Experience with C++ affects your learning speed with Java, etc. Heck, once you're experienced in a few languages, new ones come more easily -- learn the idioms, learn what makes each one its special thing, but a lot of skills transfer. Plus you learn how to learn and that helps in unfamiliar situations.
no subject
Yes -- but with a big caveat that learning new idioms is much harder than learning new syntax. Folks jumping over a paradigm shift (from imperative to OO, or OO to FP) often say, "Oh, I can pick up new languages easily", but frequently find that learning the new idiom is much harder than they expect. I've seen folks wash out of the industry entirely when hitting one of these walls.
I'm very sensitive to this: we mostly hire Java engineers, and I spend a lot of my time getting them up to speed on Scala. Learning the new syntax is easy -- learning how to program immutably is usually an order of magnitude harder, and grokking modern functional programming is a whole 'nother ballgame.
It is sometimes harder for experienced programmers to make these leaps than for someone who is coming in as a relatively new programmer, if they have difficulty unlearning their old habits. Varies wildly from person to person...
no subject
That's a very good point. Within "type", having some background helps you learn the new context. That's mostly what I've seen (for example, people moving between C++ and Java, which are both object-oriented), but for a jump to something with a very different model, that wouldn't help much -- and if you expect it to, I can see how that would make things worse.
no subject
One job opening (a long time ago) required a number of years of experience with Java that was possible only if the candidate had access to pre-release versions.
A contract position which I wanted required a certain amount of experience with "Java Beans." Java Beans are nothing but objects that follow certain simple constraints for access and assignment. Take fifteen minutes to read the requirements, and you know how to do them. But a recruiter refused to recommend me for a position because I hadn't been doing it for a year.
no subject
Oh yeah, the technically-impossible ones are always cringe-worthy. "You don't have five years of X." "X was released four years ago."
I've sometimes had success bringing adjacent experience to bear -- "no, I don't have X, but I scanned the spec and I'm confident my expertise in very-similar-thing Y applies". Sometimes it turns out to be even closer than I thought, too -- our use of Doxygen seems identical to my previous employer's use of Javadoc, down to tag names being the same, for instance.
no subject
Or SQL. I work *with* SQL all the time; I feel confident doing queries, but if I need a complicated result in my code, my inclination is to do a (relatively) simple query and then do the complex stuff in my Java code. (And I'm not using "Oracle SQL" now, but I don't see how that would be any problem for me if I were to go someplace that uses Oracle - I make an effort to write agnostic SQL...)