4 ms·
I've recently given up on the idea of hiring genius level engineers for jobs that require building CRUD applications 80% of their time. It's a waste of money, a
by hliyan 3y ago
I've recently given up on the idea of hiring genius level engineers for jobs that require building CRUD applications 80% of their time. It's a waste of money, a waste of the talent pool, a disservice to the candidate and a future risk to the company as such individuals will inevitably get bored and start over-engineering things to keep their minds occupied. For most engineers (but not all), being able to correctly write create, update, delete and query operations at the database level and API level, and being able to call APIs from the front-end level, with proper error handling, with a decent approach to debugging, is enough.
- tiberriver256 3y agoYou're describing a genius level engineer. At least in today's world of SPAs and microservices.
- hliyan 3y agoAnd therein lies part of the problem. Just as you don't need genius level engineers to do applications that are 80% CRUD, you don't need genius level technologies either. Hiring the former can lead to the development of the latter. Sometimes, the LAMP stack will do.
- nine_k 3y agoSometimes it takes an above-average engineer to go against the fashion and say that a LAMP monolith should suffice. In particular, it requires an ability to realistically estimate the load and the complexity.
- ido 3y agoI’ve been a hiring manager on multiple teams and it’s not that straight forward…Yes, I don’t need John Carmack for my non-Carmack-level technical challenges. But I’ve seen “ok” programmers perform “adequately” (the project got made to acceptable level) but also seen better programmers work 5x faster (without working 5x the hours, or even more hours at all), be able to mostly self-manage, not need constant qa support to make sure the tickets they set to “done” are actually done and able to solve problems creatively (and not need me to untangle the git repository for them if something goes wrong). They don’t need brains the size of a mountain but a good/great programmer makes a huge difference (even if enough management can make mediocre programmers work out) even on projects that to me seem technically pedestrian.
- higeorge13 3y agoCurious but how do you identify these 5x engineers from a couple interview rounds?
- ido 3y agoNot that easy! A valid technical test needs to be custom made for the position and project (or type of project) you hire for and takes a while to both prepare and “grade”. It also then helps in giving you something very specific to talk about at the interview (I always find something to talk about when reviewing the code they submit for the test). It still won’t have a 100% success rate, the best you can do is hire people you/someone you trust in the team have worked with before and know is good.
- cybrox 3y agoIn our process, we use almost the simplest possible tasks like making an HTTP request to our API and displaying the data im some form and ask people to solve them 'just as they would as part of a project they are working on'. They get a timeframe and have to quickly elaborate on their process, what they got done and what they didn't get done. There are drastic differences between candidates. Some barely manage the task or are satisfied as soon as it works. Some over engineer to no end and reason about all the bells and whistles and others write abstracted code without overdoing it, add some tests and rudimentary docs. The way people approach this simple task and what their threshold for 'solving' it is has told me more about people than any difficult interview question.
- ido 3y agoThis is similar to what I do (details depend on the specific position).
- ponector 3y agoReally smart programmer will work x5 faster but report as if he did x1.3 faster than peers, using rest of the time for personal development or other activities.