Settings

Theme

Ask HN: Is knowledge of algorithms overrated in software development

3 points by denzell 9 years ago · 2 comments · 1 min read


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.

viraptor 9 years ago

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.)

GFK_of_xmaspast 9 years ago

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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection