Hacker News new | ask | show | jobs
by blantonl 3538 days ago
I view technical interviews that require algorithm solving and coding on a whiteboard as ridiculous. Primarily, because I am deathly afraid of them.

And here is why. I own and operate two online businesses in the Radio Communications space that are the de-facto standards for our industry. I've coded both of them from the ground up in PHP/MySQL and manage all the day to day administration of these sites. Our infrastructure is deployed on 20+ servers on AWS, Google Cloud, and some bare metal deployments, for which I manage solely by myself. We have 100's of TB of audio archive storage that is all developed and managed by myself. I've personally tackled the entire stack from the ground up, end to end. I've hired an outside consultant, once, to do graphic design work. I've taught myself titanium accelerator and released a highly successful mobile app for my business for Android and iOS. I've even deployed much of our API using NodeJS! Gasp! I do all security, SEO, sysadmin, scheduling, upgrades, marketing etc.

But I'm not a computer scientist. If you asked me to outline a best-case sorting algorithm for x use case my response would be "uhhh... " If you asked me to write out a for loop in PHP on a whiteboard I'd say to myself "uh... where do the semicolons go again?" But I can piece together building blocks from AWS, Stack Overflow, open source projects, multiple SAAS providers. I can also write contracts, executive license agreements with third-parties, develop highly successful and consumable APIs, and manage the financials for a multi-million dollar business. I've also deployed multiple APIs in SOAP, XML, and JSON which form the most successful parts of my business

But get me up in front of a technical interview team where the startup is looking for a computer scientist and I'll have a ton of "yea, but..." and probably wouldn't last too long.

So when I see these examples of technical interviews in organizations where I know I could add value, but realize their process for evaluating that value could certainly eliminate me very early, that scares the crap out of me. Fortunately, my business has been successful enough that this will never be a scenario I have to face. It still bothers me though.

3 comments

You're argument is exactly what I call the difference between a "trade programmer" and a "computer scientist". You are describing the former, while all the Google-copycat interviews with algorithms and data structures are designed to hire the latter.

As you said, trade programmers typically glue together existing components and frameworks. Sometimes, this is really all that's necessary, as you have proven with your businesses. Computer scientists are qualified to create those underlying systems in the first place, properly weighing and selecting the algorithms and data structures to meet constraints.

I don't mean any of this to cast a negative light on trade programmers. They are 80-90% what a business needs, and I think there should be better opportunities for people to become such without the 4-year degree. [0] However, the limitations also need to be understood, and in my opinion a business is best served with a smaller set of computer scientists to provide technical guidance. Otherwise, you will see a lot of history-repeating-itself type of bad decisions.

[0] This is basically the hole that bootcamps have attempted to fill. They could also be filled with associates degrees or apprenticeships.

Part of the issue we have in software is that many companies interview for computer scientists (which they sometimes/often think they need) when they actually are looking for trade/craft software developers (but don't realize/admit it.) So many discussions around this topic reveal this fundamental mismatch in expectations/perceived needs/skillsets.
Absolutely. This is a shift that would need to made in hiring just as much as education. I consider the split pretty analogous to drafters vs architects. Both jobs have roughly the same output -- drafted plans. But the architect is properly trained and licensed to determine things like feasibility, safety, regulatory compliance, etc.
I think your percentages are too low. IMO it's more like 95-97% of businesses are 99-100% served by what you describe as a trade programmer.

The problem is that it seems that 90+% of shops think they're 0% served by trade programmers.

Sure; 87.3% of all statistics are made up on the spot anyway. [0] It will also vary greatly depending on your business scale. Google needs computer scientists; at their scale any efficiency slip is very costly. For the local small business looking to turn their Excel spreadsheet sitting on a shared network drive into a CRUD app, a trade programmer or two is probably entirely sufficient.

[0] Yes, you heard me right! 91.4% of all statistics are made up at the very moment!

Unless you're actually building a database or something like Kafka it's way more useful to have someone that knows how to use a debugger and a profiler
> You're argument

* your

"you're" expands to "you are" - substitute "you are" in the sentence above and you can see that it's incorrect.

I'm quite aware. Typo caused by my brain thinking about where it was going and not where it was.
It sounds to me like you're more of a technically inclined software executive/business person than a coder. Would you agree or disagree with that statement? Your run-of-the-mill programmer isn't going to be writing any contracts or license agreements and they're certainly not going to be managing any financials.

If the interviews consist entirely of whiteboard problems, then they're probably just planning on sticking you onto an agile team where you'll grab tickets off a queue every morning and churn through them at your own pace. It sounds to me like this is quite a bit different from what you've actually been doing. So I guess the point I'm trying to drive at here is that maybe your mistake is identifying yourself as just a software developer when you're actually an executive?

If you're trying to say that he should be seeking a CTO position instead of a developer/engineer position, then I agree.
Yes, or some sort of VP position.
Almost no one advertises for an executive that has a handle on software development, contract management, financial oversight and more.
This is pretty much almost exactly the same boat that I am in.