The Qualified Manifesto on Hiring Software Developers
qualified.io
qualified.io
Most interviews with tech screens that I've done have been fine, though. A couple of them have been bad where I've recognized the engineer testing me has been wrong but that never fares well for the person being interviewed.
Most calls I take are often an introduction before we even go to a tech screen, though, and I appreciate that chance usually. It's saved interviewers and myself a lot of time in the past.
I understand what you're trying to ask, but no—it doesn't apply in this case.
I don’t understand why so many seemingly otherwise scientifically minded people swear by anecdotes when it comes to hiring.
The only other thing I can compare to the anti-intellectualism around hiring is a similar phenomenon around nutrition and dieting.
Say a man marries a high caliber lady. Beautiful, smart, great personality. If he says, 'I did great here'. Does anyone say to him, 'Well what was your false negative rate?'. I guess you might
There are a lot of excellent developers who do not code well in an interview context. Nerves, artificial restraints... coding is something that happens once you're in the flow. That's a state few can achieve in an interview.
Yes, nerves play a part. That's why it's good to start easy and ramp up difficulty gradually, giving the interviewee a few easy wins to build up their confidence before getting them in to the harder stuff.
Frankly I find the most unnerving interviews (coding and questions) to be the ones where you have to second guess what the interviewer wants to hear. Where the question/task is difficult, but the desired outcome straightforward it's much less stressful.
That's kind of like how I code when sitting down for an interview, whereas I have no problem otherwise. My coding looks like an awkwardly told joke (oftentimes).
If all I had to do was pick some code I had memorized and practiced and "perform it", i.e. type it out, then yeah, sure, no problem. But I get asked to come up with the answer to something on the spot, something I usually take a little time to settle into, maybe do some Googling, etc, and always seems to be something I missed when spending several days to a week refreshing my memory on what I think I'm going to be asked ahead of the interview.
I should add that I strongly favor candidate with open source experience, so most of the time I'll have also looked at their code myself and may have some questions about it.
The number one thing I look for is: can this person ship software? I'll ask a lot about the project lifecycle, what they did to get it across the finish line, how they supported and enhanced it... I try to do this in a non-leading way.
So, that's the most important part missing from your original comment. From that, I would assume that you never hired a developer without looking at their code before/after an interview. Is that right to assume?
Basically open sourced code (and not the interview) act as a substitute for coding tests in your process
How that variable affects the outcome? Is your hiring process any better/worse comparing when you can read their code and when you cannot read their code?
Don't send technical pre-screens to candidates before you talk to them. You're not Google. I'm not going to waste my time on something before I know anything about the company, the team, or the job itself.
I haven't really seen this interviewing for jobs on the west coast, but there's a lot of shops in Chicago (fintech) that seem to be under the impression that anyone applying for an engineering job is desperate.
Large number of recent grads are flooding the application channels. Half of them have skill level that probably shouldn’t be accepted anywhere.
At the same time established veterans are highly sought after and never really needed to ‘apply’.
As a result a massive proportion of application pipeline is filled with noise. And most of them are somewhat desperate for a job. Giving the illusion that qualified people are also desperate.
Both groups barely understand the other. One is like "Lol I can write my email address on toilet paper and have a 500k/year job by Monday!", the other is "Ive applied at 150 companies and 149 of them didn't even reply back, the last 1 did to tell me there was a typo in my resume!".
But both groups have the same title (plus or minus seniority levels), work on the same projects in the same teams and follow the same career track.
I wonder how long until software engineering becomes more like other fields. The nurse, the general practitioner and the brain surgeon are not applying at the same job or even have the same backgrounds. The hvac technician and the engineer aren't either. Maybe the person who builds forms and the person who engineers a distributed system being on the same career track is the wrong model. It sets the wrong expectations. It can stunt career growth.
This sound like poor design at work. Nobody should be writing CRUD all day, it should be as easy as a new entry in a yaml/json file.
It is all software engineering but the difference in output can be enormous.
Not to different from factory automation. A lot of stuff done by hand COULD be done by robots. Its just cheaper to do it by hand.
Sometimes it feels like everyone wants to engineer a distributed system. And in the process people are losing the ability to recognize what parts of a system actually need to be engineered as a distributed system.
You can build 1 million forms within a team of 5, or you can run a distributed system of 10 machines that runs as fast as 1.
The only difference is between bad engineering and good engineering. Good engineering gets rid of repetitive work, bad engineering breeds them.
If your team needs a lot of junior engineers to do trivial stuff, that's probably bad architectural design.
It's a regular occurrence that non-software domain experts conflate all kinds of software development. Need a scalable CRUD app? Grab any ol' IT person. Need some safety critical code modified? Get that instrumentation engineer to cobble something up. After all, it's just software /s
This happened to me last week, and it wasn't a blind application. It was a recruiter who came to me about a job. I told them I wasn't interested in doing a technical screen for a job and company I knew nothing about, and in the past few months I've been soliciting interviews, not a single company I talked to tried that without a quick 15 minute phone call to see if everyone agreed that would be a good next step. It saves time and money for everyone.
That's what I mean by talking to a candidate before the screen. Going through a recruiter isn't sufficient for most of the information I would like before deciding to apply for the job.
Companies that can identify talent without wasting the talent's time will be at a huge advantage
We're doing a hackathon-style interview session this Friday, and I've already had to remind the team that one of our coding challenges is "easy" because we know the answer. You need to think back to the first time you saw it. Also, we're not actually interested in the solution, but how you arrived at it. Once you grok the problem, most software people hit on the solution pretty soon, and can begin coding - we want to see how you come to the realization, and then how you work to create the solution.
> Create a project based coding assessment that directly reflects the work the developer would be expected to deliver if hired, making sure to provide some open-ended flexibility that allows candidates to showcase their strengths. This might require the developer to digest an existing code base, gather requirements, communicate to your team a push request they’d like to make, or provide a detailed description of code that they’ve submitted before merging into production. These activities move your assessment process beyond the code, revealing insights into what a candidate would actually be like to work with.
That sounds like it'd take more than 3 hours, unless it's based on a very small project.
You can't really, and that's the main reason most of the teams I know avoid them, or supplement them with onsite whiteboarding.