4 ms·
The problem is that for the vast majority of business applications there is no algorithmic innovation required. I mean, to build a basic CRUD app, you need no a
by quanticle 13y ago
The problem is that for the vast majority of business applications there is no algorithmic innovation required. I mean, to build a basic CRUD app, you need no algorithms knowledge at all -- rough and ready experience will serve. Even for data processing, unless you're processing truly vast (e.g. terabytes to petabytes) amounts of data, the algorithms you learn in an undergraduate introduction to algorithms class will work just fine.
At this point, employers quite rationally want someone who can put together a combination of basic algorithms in 5 minutes over someone who takes a week to come up with an a elegant jewel of an algorithm that no one else at the company can understand. To put it another way, just like the slow food movement hasn't really made a dent in fast food culture, I don't expect a slow code movement to make much of a dent in the "ship yesterday" culture of modern software development.
- PaulHoule 13y agoPeople underestimate the difficulty of writing "boring" CRUD apps. I remember the bad old days, before Ruby on Rails, when we were writing Perl cgi-scripts to connect to the database, or when 100% of the time I'd inherit a PHP application the people either: (I) had magic_quotes_on which caused everything to be FUBARed or (II) didn't consistently quote HTML in forms or in SQL, so you could easily bust forms by typing in a " or '. Today the ideas in rails have spread to every other language, and it's better, but people still screw up database schemas every day. Steve McConnell's book "Rapid Development" is really about efficient development, which, in the grand scheme of things, takes about 10-20% more time than truly "rapid" development where you consciously spend more to compress the schedule over efficient development. Efficient development is a matter of getting things mostly right the first time rather than expensive "iterations" on a series of bad database schema designs when a system has customer data in it. Frankly, I've never seen a software project fail because the developers were too careful. I see them fail all the time when people set an unrealistic schedule and run around like chickens with their heads cut off and wind up taking much longer than they would have taken if they'd really practiced project management and design and all the other things that the usual (failing) company fails to practice.