The basic claim here seems to be that there is little use for deep, rigorous algorithmic thinking in the monotonous day to day work of business applications that constitutes the majority of paid programming work.
Why does this lessen the value of books like Knuth and CLRS? And what does it say about the boring projects the author works on?
The truth is, in a business app, wiring up the interface to a database is usually not the hard part. The hard part is dealing with political bullshit, dealing with people, making sure the interface is right, gathering domain knowledge and understanding users' needs, deciding what features matter and which don't given your budget and time constraints, and other things that have little to do with J2EE, .Net, and other ephemeral daycoder staples: these are high-level issues anti-intellectual philistines like the author of this post flatly refuse to acknowledge the significance of.
It is possible to artificially fabricate situations in a business where invoking deep, powerful ideas from computer science is necessary. But often there is a much simpler solution that necessitates much simpler techniques: this is the right thing to go for, even though solving the wrong problem may have an appealing, elegant solution that proves that you're a really smart person. Knowing when to be a fancypants computer science whiz and when to make a 5 line call to an existing library is really where maturity and mastery come in to software development, IMO.
Why does this lessen the value of books like Knuth and CLRS? And what does it say about the boring projects the author works on?
The truth is, in a business app, wiring up the interface to a database is usually not the hard part. The hard part is dealing with political bullshit, dealing with people, making sure the interface is right, gathering domain knowledge and understanding users' needs, deciding what features matter and which don't given your budget and time constraints, and other things that have little to do with J2EE, .Net, and other ephemeral daycoder staples: these are high-level issues anti-intellectual philistines like the author of this post flatly refuse to acknowledge the significance of.
It is possible to artificially fabricate situations in a business where invoking deep, powerful ideas from computer science is necessary. But often there is a much simpler solution that necessitates much simpler techniques: this is the right thing to go for, even though solving the wrong problem may have an appealing, elegant solution that proves that you're a really smart person. Knowing when to be a fancypants computer science whiz and when to make a 5 line call to an existing library is really where maturity and mastery come in to software development, IMO.