
Ask HN: (again): how would you interview senior developer candidates? - laurentl
(this is a repost as my first post went unanswered)<p>Hello HN,<p>I&#x27;m the CTO of a just-launched start-up and looking to hire a senior&#x2F;lead developer. Although I used to write code for a living, I haven&#x27;t done so, or hired developers, in a while. So I&#x27;m looking for advice on which questions &#x2F; interview practices are relevant from the candidate&#x27;s perspective -e.g. not off-putting or off-topic- and from my perspective -i.e. that will give me useful insights on a candidate&#x27;s skills. Specifically, I want to evaluate coding skills (both actual code practice and the ability to reason about complexity, algorithms, etc.); development practices (architecture design, unit testing, deployment automation, etc.); devops or sysadmin experience; and last but not least, the ability to get things done and deliver projects in an uncertain or shifting context.<p>Things that I&#x27;m considering asking, besides the usual discussion on the candidate&#x27;s previous experience:<p>- discussing 2 or 3 &quot;real-world&quot; programming problems to see how the candidate would tackle them<p>- contribution to open-source projects<p>- code example (e.g. GitHub profile, or StackOverflow contributions)<p>Things that are out of the question:<p>- whiteboard programming and&#x2F;or academic questions on BST or Dijkstra&#x27;s algorithm<p>- pair programming (it will most probably be too early in the development phase to have any meaningful code to work on)<p>- paid work on an actual project (ditto + complex to organize given France&#x27;s legislation)<p>What else should I be asking? What should I avoid? In your experience, what works and what doesn&#x27;t?<p>Thanks for your insights.<p>Note: the job is in Paris, France in case anyone&#x27;s interested :D
======
brudgers
Random advice from the internet.

To me, the things that have been ruled out are probably more informative than
the one's under consideration for any candidate that really requires
interviewing. I mean that if a person puts a opensource project or
StackOverflow profile on their resume, those things will mostly speak for
themselves and the conversation will mostly be pleasantries. Chatting about
real world problems might also be an interesting passtime, but it will not
measure how a person generates a cohesive bag of lines ending with semicolons
into a problem solution.

The last of the ruled out options looks like a tell to me. Interviewing is
hard work and what is easy and comfortable is in and what is difficult and
uncomfortable is out. Evaluating programming skills is difficult. Evaluating
programming skills is uncomfortable because a nice likable candidate might
have to hear bad news from a interviewer who themselves wants to be liked.

Circling back, the best way for a small company to hire senior people is to
hire people that don't need to be interviewed because current staff have
worked with them for years.

Good luck.

------
Davidbrcz
A senior developer is here to write good code but also to help younger
developer. Thus attitude is key aspect of the candidate to consider and would
ask :

\- How do you handle a young developer who is making mistakes ? Do you take
time to help him ? A concrete example would to give him/her a bad piece of
code and ask him/her to peer-review it.

\- Are you ready to give some talks about whatever your are good/expert at ?

\- What is your attitude toward optimization (I would expect something like :
don't optimize until it is correct and needed, but don't write the original
code without performances in mind).

\- Check if the candidate is stubborn. A senior grumpy stubborn developer can
be a pain to work with.

Bonus: what is the job ?

~~~
laurentl
Thanks for the advice, I hadn't thought about the mentoring aspect.

Regarding the job: we're a small team and I'm the only tech on board so far,
so the job is kind of a one-man orchestra: some front-end development
(building the website with a basic sales funnel), some back-end (integration
with external modules, exposing our own APIs, some business logic), some
automation/tooling (setting up CI/CD). The exact perimeter will depend on the
complementarity with my own skill set. In terms of attitude: team player,
problem-solving and getting things done.

