Vast majority of developers would benefit from at least passing knowledge of algorithms and data structures.<p>For past few years I work (not full-time) on what is essentially a prototype of trivial line of business application: stock-keeping system. It is 3 layer and blahblah, with me implementing most of the server side. Amount of various hacks in the server to accommodate requirements of the &quot;It is impossible to linearize a tree in C# without having local SQL database&quot; kind is truly ridiculous (most of these involve few lines of generator-and-list-comprehensions-heavy python code on server).<p>Somehow there is whole large class of so called &quot;developers&quot;, that can only directly transform input to output and anything that requires building some kind of data structure is impossible&#x2F;unfeasible&#x2F;whatever for them.