Hire The Right People

Calling out my fellow hiring managers: I know you want to think you're doing highly academic research work, but the truth is most of the "problems" you're dealing with on a day to day basis have been solved. The bulk of day to day coding work is no longer algorithmically complex.

You need implementers, integrators (and there's nothing bad about that.)

You don't need to be DaVinci to appreciate the Mona Lisa. Similarly, you don't need to produce complex algorithms to appreciate them and use them effectively. Stop stressing out Jrs and turning good people away by having them write out algorithms they'll never be doing from scratch. This does not inform you of their skillset.

Ask questions around the problems space they'll be working in over the course of their time there:

1) You have a collection of objects and you need to filter based on a property, how would you do this?

2) You need to find the total count of objects that match a certain criteria, how would you do this?

3) You have a multi-dimensional object (Persons[] with many Addresses[]) and you want to return all the people whose address is in a specific city. How would you do this?

These are real world algorithms that they'll have experience solving, and are more relevant to your problem space than flattening a binary tree using a non-recursive method, or detecting loops in a linked-list.

If you need Juniors to prove they have Academic skills hire researchers, if you need Senior skills, then hire Seniors.

DaVinci had apprentices and helpers. That's who you need.


Let's Clear Up The Ambiguity!

FAQs for a Software Engineering Hiring Manager

7 Steps to Writing an Amazing Resume

Work Experience vs Professional Experience

7 Steps to Building your Portfolio MVP