Ask HN: How to hire a better software engineer than I am?

12 points by beefield ↗ HN
I am currently working in a young company (not a software company per se, but we need to e.g. do some IoT type things.) and have ended up having quite a lot of responsibility in developing/designing the information infrastructure for our company. Now, I do not see myself as a professional in most of these things, and I think at some point we would need to hire a person to step up our game. At this point I would like to keep this as a general question, so assuming I want to hire a developer that should be better than I am, how should I approach this problem? How do I distinguish candidates that can do the smooth talk from the ones that can walk the talk and understand the balance between that on the one hand you need to keep the technological debt in reins but in the other hand sometimes you just need to get sh*t done, even if that is ugly?

Or is this just an impossible task and best bet is to trust to dumb luck, intuition and fizzbuzz?

7 comments

[ 2.2 ms ] story [ 29.3 ms ] thread
1. be willing to pay more.(people that get sh*t done know what they're worth)

2. what have they accomplished in the past? (as much as I hate to admit it a lot of those stupid HR questions make sense) problems they ran into. how did they get past it.

me personally I would guide people to the best answer they can give because you're not looking for sales people or executives. So, if they use "we" a lot ask them about their specific accomplishments in that project.

3. make sure their is a training budget(and time) to stay on top of best practices. (ie. maybe the best candidate is you...with training...lol)

So the question is - how good are you? It could be an easy task, or, a bit tricky. Get evaluated by a trusted entity so that you can define what "better than me" really means. That's how I would go about it. Example, apply at google, FB, etc. for fun and see if you get an offer. If not, apply to companies like dropbox, stripes, salesforce, etc. If you don't get an offer then apply at a financial institute or small startups. That'll give you a good insight about your level and what you should be aiming for. Going through all these interviews as a candidate will also help you prepare for your future interviews as an interviewer.
> How do I distinguish candidates that can do the smooth talk from the ones that can walk the talk...

Jason Fried of Basecamp has some brilliant advice on this subject --

A résumé "doesn't say anything really about what someone's capable of," Fried told Friedman. "We're always about getting to the realest possible thing, so we can cut through all the fog and find out if this person can do what they say."

One way to do that is to have the candidate complete a sample project. Fried gave Friedman an example: Let's say Basecamp is hiring a designer. They'll give a candidate for that job one week to complete a project — and pay the candidate $1,500 for the work. > http://www.businessinsider.com/basecamp-ceo-jason-fried-does...

That might be good. I had thought a bit less involved process where I just show one of our simpler scripts and ask the candidate to comment to me everything from the workflow/tools he would use to develop/maintain the script to how and why s/he would write the actual code differently.

And this in two cases, first the theoretical case with unlimited time to make things perfectly, and the real world case when there are about a thousand other thing that you should do...

But here come my limitations. I know a good candidate should talk about version control and some testing, but I have never made a git pull request and I don't know if I knew a unit test if it came and bite me. Someone might lecture me about using more object-oriented approach and others keep on talking about how cool functional paradigm is. I just don't know how to evaluate these answers...

It's perfectly acceptable to tell the candidate that you're not a subject matter expert in a given area. Ask them to explain how they go about their work in layman's terms. If they can do that without a bunch of mumbo-jumbo; you'll likely have an acceptable hire. Imagine you were hiring a Chef-- can you tell me how you prepare Boeuf Bourguignon?
I think this is a situation where I'd have to trust my network to:

a.) Critically evaluate my own skills to let me know if this is something I could feasibly do with a bit of mentorship/guidance.

b.) If it is beyond my ability, consult to help me find someone who would be capable of doing the work.

Without this outside help, I fear that I would make a hiring decision without knowing what I don't know. That's a very bad place for me...

> if this is something I could feasibly do with a bit of mentorship/guidance.

There is also the issue of continuously increasing workload, so at some point there is anyway need to hire someone, so why not hire a mentor directly:)