Lately I’ve been talking with a lot of startups: some with good ideas, some with bad ones, pretty much all of them with issues in their hiring process, which is very unfortunate. I never was under the impression that someone was trying to screw me up or doing something shady, I can generally say that it was (almost always) good people trying to make a good job for their companies.
This post is meant to help more than to criticize, different professions obviously carry a different sensitivity about some topics, and my guess is that most of the times these differences go unnoticed on the employer side but are like a punch in the face to the potential employee.
- Be friendly and informal.
If I take a job, especially a long term one, I'm not only choosing which project I'm going to develop for the next months, but also what kind of team I'm going to be part of. Being friendly and informal is a great start in every relationship, and work is no exception. I have communication skills as per your request, what about you?
- Be honest.
Being nice is great, but please, be honest too. You're not only evaluating me, I'm doing the same with you. Ask me the questions you want to ask, speak your mind and do not act, never.
The situation is generally very good in this respect, the only time I had a very bad impression was with an in-house "technical recruiter" that just couldn't stop telling me how wonderful I was while in the meantime proving that she didn't even take the time to read my resume. Very unpleasant.
- Down to earth.
I've been very pleased to see that entrepreneurs started being much more realistic than when I started dealing with startups (2005/2006), especially on the italian scene.
No more "you're a developer, you must sleep under your desk", but finally a helthier "don't work harder, work smarter". No more "they got funding so let's clone them", all the people I met is trying to build meaningful services that are worthy for consumers.
This was very refreshing and convinced me to concentrate on Italy much more than on the other countries, there is hope.
- Drinking the kool aid.
This will always be a big problem in this industry, companies not having the slightest clue how to make money out of their projects. Maybe I'm unlucky, but I've never seen in my life a project like this not fading away in a way or another.
We all know that some projects have worked out very nicely for their founders without having a business model for years (Twitter and Instagram, I'm looking at you), but at least show me it's a matter of concern and not something more or less normal because "that's how startups work".
Again, maybe it's just me, but I don't know many ways that are more effective at killing my motivation than not getting any revenue from my work…
- Asking for commitment.
If I work for you, I'm committed. I'm committed to the company, to the founders, to the idea. I chose you over the others.
Still, I'm not a believer. I think about what I do and I carefully choose between my options. Explicitly asking for commitment is a cheap shot. As a professional and as a person, it appears like you're asking for uncritical support, something you will never have from a decent professional and a decent person who is honestly committed to a project and want to see it work properly.
- Careless over the tools.
I'm a crafter, I know and care about my tools. You want me in your technical team to help you choose the best tools, I've invested countless hours to be very good at it, and I take great pride out of my skills.
If you don't care about your tools, environment and development process, you don't need me, because that is exactly what I'm supposed to do.
On a side note, the next time I hear a comparison between programming languages and girls I will just step out of the office and go away. It's not blondes vs. brunettes, I can explain my technical choices without making stupid metaphors, you can't and that's why you need me. Being stupid and gross is a deal breaker.
- Too much care over the tools.
You're very excited about RubyOnRails, Node.js, Erlang, Clojure, Bootstrap or whatever cool technology Techcrunch is mentioning right now. You also love using Basecamp, Asana, Optimizely or whatever cool tool the market has to offer and people is babbling about (on Techcrunch).
You already took every decision, apparently without knowing much about what you were doing or you wouldn't be trying to hire me.
Unfortunately, it doesn't seem there's much left to do here for me. Enjoy your buzzwords.
- Remember my name.
Do I have to say anything else? Seriously, constantly calling me with another name is pretty bad, and not exactly for me but for you.
- Respect my time as much as I respect yours.
This is both bad and ugly.
I had a company ask me for some sample code, literally disappear for two or three weeks, reappear just to schedule a call three times because it doesn't seem like they are able to manage their own time, give me a “been there done that” interview that could be done very easily by email, and then disappear.
I had another company asking me to refactor some very pointless code (mostly one-liners) and write specs for it, and then disappear.
This means first of all that if an interview doesn't go right I can't act on it: simply put, I have no idea what went wrong.
It also means that you don't value my time, which apparently is up for your indiscriminate use until you notice that for some reasons I'm not useful to you or your company anymore.
Other than saying again that I don't want to have anything to do with such companies, I must say that I'm deeply sorry for their employees. I hope you all find a better company very soon.
Developers and product managers are fundamental in the economy of a startup, when you hire, you want to do it right. These very simple points might be just a matter of common sense for a developer, but as I said, different professions carry different sensibilities.
Keeping these few points in mind would be a wonderful improvement already, at least when dealing with this developer.