This week was going great…until I saw yet another article coaching programmers on how to prepare for a coding interview. Imagine, the secrets to “winning” a coding interview and getting your dream job, all unlocked in one article! 🤔
I suppose I shouldn’t really blame people for writing articles and books claiming to teach you how to beat coding interviews. They’re just trying to help other people and maybe make a quick buck. They aren’t really the source of the problem.
The real problem is that this entire cottage industry is built on the false pretense that coding interviews have any value whatsoever.
So before we go any further, let’s establish one very simple truth: coding interviews are worthless.
It is interesting, though, that nobody really seems to know when, where, or who started them. My guess is because no single person or organization wants to be blamed for so much industry wide suffering. (If you do happen to know the origin story, I’d love to read it).
Regardless of how it all got started, a growing number of tech companies seem to use coding interviews regularly (as evidenced by all those amazing how-to articles and book). And therein lies the danger.
If more and more companies start to believe in coding interviews, the trend will gain frightening momentum. Pretty soon nobody will ask why they’re even doing them. People will start to assume that if a lot of companies are interviewing like this, then they must be valuable, right?
No! We need to kill this virus before it spreads too far. There are much better ways to find a good programmer.
Over the years Basecamp has published a handful of articles about hiring. It’s something we rarely do (the company is 17 years old and has just 49 employees), so we’re very considerate with each hire.
Instead of following a silly interviewing trend that’s flawed to its core, we just follow some common sense practices.
Below are 10 articles we’ve written from the past decade or so with tried and true ideas to help you find a great programmer.
Every one of them holds up today, and we still rely on these ideas ourselves. And no, not a single one involves you watching someone sweat through a pointless whiteboard exercise. 😓
As a business focused on the long-term, these ideas have paid off in spades for us. I hope you’ll consider these ideas, and join me in giving a big 🖕 to the coding interview trend!
There’s so much untapped tech talent that does not live near your office, but would work for you if you allowed them to.
I love betting on people with potential. When they finally get that chance to do their best work, they blossom in such a special way.
The only reliable gauge I’ve found for future programmer success is looking at real code they’ve written, talking through bigger picture issues, and, if all that is swell, trying them out for size.
Before we hire anyone we give them a small project to chew on first. We see how they handle the project, how they communicate, how they work, etc. Working with someone as they design or code a few screens will give you a ton of insight.
Hiring is hard. Likewise, landing a great job is hard. In a sea of resumes, effort rises to the top.
The best are generally the best because they aren’t typical. Because they came at things from a different angle that gave them a unique perspective, which happens to provide more insights than the widely-distributed approaches
If you are trying to decide between a few people to fill a position, always hire the better writer. It doesn’t matter if that person is a designer, programmer, marketer, salesperson, or whatever, the writing skills will pay off.
A manager of one is someone who comes up with their own goals and executes them. They don’t need heavy direction. They don’t need daily check-ins. They do what a manager would do — set the tone, assign items, determine what needs to get done, etc. — but they do it by themselves and for themselves.
Find out how they manage their work. Software often slips — find out how they avoid this. Find out when they shipped something on time and ask why that project was successful.
Programing is all about decisions. Lots and lots of them. Decisions are guided by your cultural vantage point, values, and ideals. Look at the specific decisions made by a candidate in coding, testing, and community arguments to see whether you’ve got a cultural match.