After programming for ages, attending every known coding conference on the planet, and wrangling your way through software engineering practices and building large scale systems, what becomes your biggest obstacle to effectiveness? Idiotic companies and their hiring practices.
We need a junior Golang developer for an amazing large-scale platform (translation: CRUD on more than 10 records). You should be able to write expert level go, even though you’re being hired at a junior position, which is just our way of saying we’re not going to pay you much. If you’ve created your own world-famous programming language, then that’s a plus, and we might just give you your own computer to use.
Expert Ruby on Rails programmers needed! Join us as unpaid interns. You should know how to create large scale applications like the Google search engine (seriously? using RoR?). We need people who understand the fundamentals of algorithms well so that they don’t make any mistakes while running the Rails scaffold or while adding a new route to our already CRUDed (read crowded) app.
Don’t have unreasonable expectations
If your company doesn’t use this crazy new algorithm that you just studied about last night, don’t ask about it. Assess candidates’ fitness to the role by simulating real-world situations, especially things that happen every day. This is a good way of being transparent.
If you find someone who is able to answer your crazy question, then he is smart enough to understand that your company is really not using any of it.
Be respectful to people you’re interviewing
I’ve taken countless interviews, and the lessons that I’ve learnt are:
- Always be nice, kind, and dignified. Be petty in your own time.
- Understand that people come from different companies that have different priorities. What’s a best practice in yours might not be a best practice in theirs.
- Ask questions out of curiosity and with an intent to learn, not to show people how much they don’t know.
There are good tests like fizz-buzz that can be administered early on, so that you don’t waste anyone’s time. But it’s important to not take it to the extreme and start asking questions that no one even in your own company can answer.