The other day I received an email from a recruiter asking me if I was interested in a job. This is not out of the ordinary, I get a lot of these emails. It got me thinking about how many companies approach hiring developers and the stark contrast to our methods at DevMynd. Not that we have it all figured out, but in our short lifespan we’ve been quite successful in building a talented team.
As I read through the job description in the recruiter's email, I was struck by how incredibly fake it sounded. Phrases like “you’ll get to work with some of the best and brightest”, “solve challenging problems in a fun environment”, and “deliver web-scale solutions to users” made me roll my eyes so hard I got a headache. This kind of sensationalism doesn’t appeal to me at all, and I don’t know anyone in my circle of friends who would be ensnared by it either. I’d bet real money that this description bears little resemblance to reality and that there are hundreds more just like it out there on the internet.
So why do companies allow this drivel to represent them in a such highly competitive marketplace? In doing so they abdicate responsibility for arguably the most critical part of their business: the hiring of great people.
The alternative to terrible job postings and obnoxious recruiters is both simple and incredibly difficult - the alternative is relationships. Every person that we’ve hired on to the DevMynd team has been someone we cultivated a relationship with prior to making an offer. This takes time, a lot of time. Our hiring cycle for one person can last anywhere from 6 weeks to 3 months or even more. In that time however, we’re able to really assess whether this is an individual that will fit with our values and our culture.
We can do this because we don’t hire for a specific need or to fulfill a client request. We hire good people when they’re available and ready to make a move. As a small consultancy we have the luxury of this kind of slow-play but I think every organization can find ways to decouple hiring from the urgency of daily operations.
What does this look like in practice? It starts when we meet a potential candidate at one of our events, a user group, or a conference. Of course, at this point, they’re not a candidate they’re just a person - we don’t like to think of people as “candidates”. From here things flow organically, we hang out, we invite them to come by the office and see what we do. We have an open-door policy at our office, host occasional coworkers, and host user groups, so this is a very easy thing. We will likely see them at subsequent events (maybe 5 to 10 times) and eventually if we feel they might be a good fit we start discussing whether they’re interested in working with us.
If there is interest in a possible job then we begin our interview process, which also isn't like at most firms. We ask people to come in to the office for a half-day and pair program with a couple team members. If we get thumbs up from those folks, then we bring the individual back in for a full day of pairing, followed by dinner or drinks with some of the team. At this point, nobody has even “interviewed” the “candidate”, we’ve exposed our real work environment to them and observed how they fit into it. If things look good, we have a short conversation over coffee and make an offer.
This process isn’t for everyone, it requires a lot of time and care and it may not address the anonymity and fairness concerns of large firms. The outcome, however, is a team full of people that mesh well, carry our values to our clients, and remain engaged in the team’s success. This cannot be encapsulated in a job post, and it certainly becomes risky when outsourced to a recruiter.