Is Programming as an Art Dead?
Fast forward to 2016, and we now live in an age of radical abundance. CPU cycles, RAM and disk space are all cheaper than ice in Antarctica, and no one cares about efficiency or elegance. Software is never finished, because thanks to SaaS it never even has to leave the premises in order to be sold. We all work in two week sprints, so no one really cares about the long term impact of any code that's written, because if it turns out to be a mistake, we can always re-write next sprint.
Development cycles are not driven by curiosity or need, but rather by arbitrary deadlines. Thinking deeply about a problem is out of fashion, we rather just try a bunch of random things and see which one sticks. No idea is too stupid not to try. Angel investors simply start 10 companies to get one exit. It's the age of fast money and fast growth, none of which is sustainable.
Does anybody else feel that way? Did I miss my train somewhere? Or is the Art of Programming dead and buried?
8 comments
[ 3.8 ms ] story [ 24.1 ms ] threadIt's only natural that as the number of programmers grows, the gulf of difference between the "thinking" programmers and the "shipping" programmers grows larger. The former will always be necessary to create new solutions, but the latter will decide of those new solutions actually see widespread use.
That certainly seems true, but does that mean it should be that way? FWIW I see "thinking" programmer as a senior engineer, and "shipping" programmers as juniors. The latter will eventually become the former, but they require training and nurturing to do so.
In my experience, that's very hard to find. I've worked for many companies and in my experience, the ones with a "sane" programmer culture are very, very rare. Most are dominated by the business and sales structures, and see the techs as a necessary evil that they'd rather ship overseas where the wages are lower.
Where are the companies that are committed to technical excellence?
"Senior" software engineers are shippers. They're the ones that have the ability to deliver on time without stepping on their own garbage. Any training that the company can offer will be in gravitating toward being a better "shipping" programmer.
Don't look to companies to provide the kind of environment that the thinking programmer needs. Thinking programmers fit better in non-corporate scenarios. Hobbyists, academics, etc. Without the business imperative breathing down their neck, the programmer can stop and think about what they're doing. When a company does foster the slow-burn software work that the thinking programmer does, then it's because that company has more money than they know what to do with, and the bean counters are busy on other parts of the ledger.