Hacker News new | ask | show | jobs
by fatnoah 765 days ago
- Whens the last time you used an algorithm (eg b-tree) and for what?

I'd be curious to hear how many people like me would answer "for a coding interview" for this question.

I haven't coded such an "algorithm" since 2002 or so. The closest I've come is calling some framework library's binary sort method.

3 comments

There's a meta-question which is "if you did should you have been doing what you were doing?"

The times in recent years where I have used such things have tended to be technically successful and commercially worthless, while the things that paid off had a tendency to be churning through piles of tedious and stupid.

There's a meta-question which is "if you did should you have been doing what you were doing?"

Also a great question. As a manager, my first question would be to ask why a library wasn't used for algorithm X.

In grad school, I wrote a complete implementation of Rijndael encryption for a crypto class, but I would never expect (or want) anyone to try to build that themselves for production software.

"while the things that paid off had a tendency to be churning through piles of tedious and stupid."

People tend to hire others to do the stupid and tedious stuff. Hence most jobs are stupid or tedious. I know mine is.

I haven’t coded a b-tree since school. However, I do use my knowledge of b-trees on occasion when deciding on an indexing strategy in my database schema, for example. Same is true for a hash map… I basically never implement them but my basic understanding of them lets me write much more efficient code, on occasion.
Same. I’ve been in the industry for over a decade and the only time I had to implement an algorithm/ds like b-trees or quicksort has been at the university.

Usually, what companies want is people that can handle db failovers, deploy k8s services, know how to talk to business, and write good enough code. It’s sad, but it is what it is.

Agree. It's frustrating that my demonstrated experience scaling a system 100x while achieving > 99.995% uptime is somehow less meaningful than my ability to code random problems outside of an IDE for 45 minutes.