I was freelancing during the first years of my developer career. Usually a person, a small organisation or company would contact to me and ask if I would be able to build this or that. Nothing more.
One day someone contacted me for a permanent position in a startup. The job seemed interesting and I felt tired about the taxes and other administrative side hustling that freelancing involves.
So I accepted to meet the CTO and and have a talk.
During that talk he admitted that the company had no clues about front-end and and I would be the first to focus my work on that.
After a few minutes of very friendly talk I was asked if I would be OK making “something”, “anything” (I’m not sure anymore but I think I was asked to use the API of the company’s product).
And it was fine by me.
I started a browser, opened its developer tools and started coding something.
A little after I joined the team, the CTO told me that I convinced him at the moment I started coding directly in the developer tools instead of using an IDE or some code editor.
And he liked what I crafted during the next half hour spent together.
I proved him that I know my shit.
The hiring process for developers, almost always, involves a coding challenge. This is fine as long as the challenge is relevant.
Unfortunately, nowadays a lot of HR people will send you some coding challenges that they prepare themselves using online tools for coding assesments.
Usually it would be some kind of “problem” that are unlikely to happen in your day to day work, for which you can find the answer with a simple search (because obviously they didn’t even take the time to edit the description) and will take a lot of your time if you play by the rules.
If you already have a job that fries your head, taking one of those challenges on top of your your workday is probably going to feel frustrating.
And it seems legitimate to ask yourself why you should make an effort invest some of your resting time when they don’t.
Even worse, when they contacted you in the first place because they were “amazed” by the sheer amount of quality code you published on GitHub.
My advice to developers, you don’t want to work for a company that treat hiring process like that.
My advice to HR people, rather than “selling the company” like the marketing department would do and wasting everybody’s time (including yours), if you approach a developer because you found its code on GitHub interesting. Ask the the developer to take some time (with another engineer of the company you are hiring for if needed) to comment or describe the code available on GitHub.
My advice to developers in charge of interviewing their future colleagues, don’t ask a front-end developer about algorithms or function complexity. That’s maybe relevant for a data analyist or university but in nearly 20 years I’ve never needed knowledge about that in my field of work.
To everyone involved in hiring a developer, what you really are looking for is pragmatism.
On a side note, you may want to have a look at my “Wack-A-Mole” experiment.