HACKER Q&A
📣 mavsman

How to tell if a JavaScript/front end candidate is mid-level or senior?


I often find that niche topics are used to distinguish between certain levels. What criteria (including specific topics or questions) do you use?


  👤 commonturtle Accepted Answer ✓
Hmm.. for distinguishing senior engineers from juniors I would look beyond just knowledge on technical topics. Two important areas to cover IMO for senior candidates, beyond coding skills:

1. Design / architecture / product skills. Here I mean 'design' in the software sense: can you design a good API, can you structure a large project well? Do you have good enough product intuition to work well with a product manager and a designer?

2. Past experience. What have they shipped in the past? How did they deal with difficulties like conflict between teams, deadline misses, uncooperative team members, etc.


👤 ryanchants
I use this a lot when interviewing at companies, but find it useful when interviewing senior folks:

"What is a technical decision you made on this project that you wish you would have made differently, that you are still living with today?"

This opens up a lot of conversation around how it could have been solved better, what they know now that made it apparent is a sub-optimal decision, what steps were taken to minimize the impact once this fact was discovered, and is there any plan to correct in the future or just live with it.

The big thing is to see that someone has not only built something, but maintained it after the fact, and for long enough to see the impact of trade-offs.


👤 austincheney
Don’t use edge cases or niche anything. Expect a senior to provide original solutions to problems.

If you want to be very specific determine the level of hand holding the developer requires.

* Can they do the job without a giant framework and a billion build tools?

* Can they interpret and refactor other peoples code?

* Can they write documentation?

* Can they objectively consider evidence based approaches to code decisions?

* Can they distinguish product quality from developer convenience?

Consider that a good mid level developer is at the top of the bell curve. They know all the latest trends and fashions. They have probably mastered things important to beginners. A good senior has learned to leave all that nonsense behind to produce simpler code more productively.


👤 thorin
* Assuming a mixed stack, the ability to communicate to with the other devs is important. Often front end devs think they know everything about the product and don't get on with the back end apis and vice versa.

* Understanding of things outside their scope such as databases, server setup and deployment

* Good knowledge of a couple of frameworks, but the flexibility to pick up others quickly too and not constantly complaining if they have to deal with legacy code or frameworks they don't like!

* Communication, humility and the ability to teach or mentor more junior staff

* Knowledge of base JavaScript and programming in general should go without saying. Ability to do reasonable design / css / html even if that's not their area

* Remember one persons expert is is Brendan Eich or Ken Thompson. Another persons might be any career developer with 3-5 years experience!


👤 dglass
Lots of good replies already, but I would also consider a senior engineer someone who puts the team first. They admit mistakes early, look for ways to improve not only the codebase but the software development lifecycle and their teammates as well. Mentor younger engineers, write and maintain thorough documentation. Add processes to reduce risk of shipping faulty code, and preventing production incidents.

👤 siquick
Communication skills - ability to convey tech details to non-technical stakeholders.

Ability to understand the bigger picture in the organisation rather than just focusing on what's happening on the dev team.

Make good decisions on what's important to build for the sake of the organisation versus what devs want to build to entertain themselves.


👤 scott31
Ask them fizzbuzz:

  Solved <  7 mins: Senior
  Solved < 15 mins: Mid level
  Solved < 45 mins: Junior
  Otherwise: No hire

👤 sktguha
How about asking them to design and build a basic version of react/ redux/ react-redux/ react-router etc