If I ever come to need an extra hand or two for PyraMetrik, I would reject the idea of using a standard coding interview to select the best hire.
The standard coding interview (SCI) gauges coding prowess the same way an IQ test gauges intelligence.
Barely at all.
If anything, it’s a good filter for those who absolutely cannot code. But this is way too low of a bar.
And, those who ace algorithmic puzzles are not necessarily the same people who take your product to the next level with little oversight.
Solving puzzles is not a skill. Even coding is not a skill. The skill is building a world-class product. This requires not just code, but a 360-degree understanding of product and UX.
The mega-successful companies of the next decade will have little tolerance for one-dimensional skill sets.
No tech company wants to hire a different person for a product, UI/UX, code, etc. They only do it for two reasons:
People separate code and product and UX — as if they were so different. They are all part of the same beast. Is a ‘proficient coder’ who doesn’t understand the product, ‘proficient’ after all?
A distributed team of coders who need management is a nightmare.
A distributed team of autonomous coders is a dream.
You want coders who don’t need managing, understand nuance, and yes, can code.
There is a way to assess one’s practical coding ability in ~ 1 hour, as it relates to building your truly unique product.
Here’s my approach. I’m not asking you to copy, as your best results come from understanding first, and apply to your unique situation second.
There are three parts to how I tackle this:
Keep in mind, this approach wouldn’t “scale” if I have to sift through 10,000 candidates, but honestly, I don’t plan to be in such a mass-hiring position anyway. That’s what I call the “growth disease” — but that’s for another time.
First thing’s first. You hand-craft a question that can quickly determine whether the person has a basic level of understanding of data structures like arrays, maps, and sets.
If your product employs trees, throw in trees. You get the point.
https://gist.github.com/Nikhil22/d42cc6ce736daa25fc9b6cf7daac876d
Note, this question has some key qualities:
If you “pass” this, it simply means you’re not incompetent. Good sign.
I would carve out a section of my app, simplify it a bit, and have you implement it, either from scratch or with some starter code, depending on the time and context.
https://www.loom.com/share/8d650b0200d14ac48ae69c93b004f133
This is a simple auto-complete search feature in PyraMetrik. Can you write a basic React component that successfully behaves this way? It’s a front-end skill assessment, specific to my product.
Understand — doing this forces your code to be modular. You should be able to swiftly carve out a piece of your product, throw it in a playground, and have a prospective partner work on it.
Terms like Product Manager and UX Designer are fabricated, but the skills are true.
Here, I’d have a direct, honest exploration with the prospective partner to understand their outlook on building products and the domain of my product.
Our conversation reveals infinitely more about their “product” and “UX” “abilities”, than anything another so-called formal or standard measure.
There is no specific set of questions. No framework. No agenda. Whatever happens, happens.
I understand that established companies that wish to run on auto-pilot prefer to mass-hire via a standardized process like SCIs. This post is not for them.
This is for the lean, uncompromising business that wishes to attract those that are absolutely necessary and effective.