
Is Programming as an Art Dead? - PandaWhisperer
When I first got into programming as a high school student about 20 years ago, I was fascinated by the intricacy and cleverness of it. I was reading stories of big inventions and clever hacks, such as making games fit into tiny amounts of RAM, or cutting the runtime of an algorithm in half by using a clever optimization. When software was shipped, it had to be finished, as it was damn near impossible (and very costly) to fix bugs later on. Programming was the domain of a small group of ultra smart artists who deeply cared about their craft.<p>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&#x27;s written, because if it turns out to be a mistake, we can always re-write next sprint.<p>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&#x27;s the age of fast money and fast growth, none of which is sustainable.<p>Does anybody else feel that way? Did I miss my train somewhere? Or is the Art of Programming dead and buried?
======
the_hoser
With the proliferation of computing as a solution to more and more problems,
the need for the 9-5 programmers becomes greater and greater. Most businesses
don't need programmers that come up with new and clever solutions. They really
just need someone that can apply established solutions to their own problem
domain. There exists a class of software consumer that has a hard time making
good use of a boxed solution, so they hire programmers to stitch together a
more ideal solution for their own needs. It's expensive as hell, but it can be
the difference between software being an enabler or software being a
hinderance.

It'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.

~~~
PandaWhisperer
> the [..] difference between the "thinking" programmers and the "shipping"
> programmers grows larger

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?

~~~
the_hoser
I don't think that it matters how it should be. The question of how things
_should_ be is... pointless. We can speculate about that all day and it won't
make a difference.

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

------
peerfunk
Its a thing I have been seeing over the years in pretty much all professions.
People here in europe want to work less and less and get payed more. I dont
get it either. They dont care about what they do, they just do it for the
money not because they can be proud of what they created/done. Sad, but true
the few who still have a good work ethic can just try to fight against it.

------
edimaudo
I think it is a mindset shift to be honest.

------
mailslot
Well said.

------
flamingspew
with data science, statistics and machine learning, the debugging cycles are
much longer and interpreting data and picking estimator functions, etc. is an
artform that requires attention to detail and "deep thought". Running a
solution/query could take thousands of dollars in cloud compute cycles, so
you'd better be right.

