Hacker News new | ask | show | jobs
Ask HN: Is knowledge of algorithms overrated in software development
3 points by denzell 3547 days ago
Is there a necessity to have a good understanding of algorithms to be a good software developer?

I know some fantastic developers, who are great problem solvers, and they couldn't tell an algorithm from an apple.

It seems all interviews and discussions revert to a grading based on algorithm understanding, and it feels like too much emphasis is placed on one marker of competency.

2 comments

Knowing as in being able to recall the specifics of implementation? No. For two reasons: 1. Unless your job involves custom data structures, you simply won't remember them after a few years. 2. If you do want to use a specific algorithm, in most cases you want a cache-friendly version of it. The naive implementations rarely have the characteristics you want in practice.

Knowing as in knowing rough categories and being able discuss big O characteristics when needed? Super useful. I could maybe implement one or two dictionaries. Badly. But I know what alternatives there are, what names to google for if I ever do need a custom dictionary, and how to define what I'm looking for (for example lockfree inserts, or ordered keys, or max 2 memory lookups per key, etc.)

What kinds of problems are they solving that don't involve algorithms somehow.