
Programming is the new High School Diploma - DanielBMarkham
http://www.whattofix.com/blog/archives/2012/01/programming-is-1.php
======
DanielStraight
Suggesting that everyone needs to know how to program is indicative of tunnel
vision. What do _any_ of these educated and skilled people need with
programming? (By no means a complete list)

    
    
      Artists
      Bakers
      Brewers
      Chefs
      Electricians
      Fashion designers
      Firefighters
      Fishermen (commercial boat captains in general as well)
      Mechanics
      Musicians
      Pilots (including maritime pilots)
      Plumbers
      Psychiatrists
      Stylists
      Winemakers
      Zookeepers
    

Even if we were to somehow automate all these jobs (which frankly I'm not sure
is actually possible), someone will need to maintain the equipment. It can't
be automation all the way down.

I think this attitude is dangerous, and considering these jobs "dehumanizing"
is, frankly, disrespectful and betrays a lack of understanding of what non-
office-workers do.

I highly recommend watching Mike Rowe's TED talk for a counterpoint:
[http://www.ted.com/talks/mike_rowe_celebrates_dirty_jobs.htm...](http://www.ted.com/talks/mike_rowe_celebrates_dirty_jobs.html)

~~~
Swizec
Well, let's see.

Artists - new forms of art, html5, cool particle effects, webgl, 3D model
scripts (for videos and such) and so on. A lot of use.

Bakers - baking is a science, machine learning to figure out just the perfect
ingredients for the best bread? Pastry? Etc? I'm fairly certain there's a
reason why Oreos taste just the way they do.

Brewers - same as the above. Why does Guinness taste just so? There's a lot of
science behind that, science and stats.

Chefs - the same argument applies. I also suggest you watch The Best Hamburger
Ever ->
[http://www.youtube.com/watch?feature=player_embedded&v=U...](http://www.youtube.com/watch?feature=player_embedded&v=UB_TVznOwK8)

Electricians - this one is a bit tougher, but some lighting systems in some
houses are pretty damn complex - to the point I'm almost certain there are
some microcontrollers involved. Or what about stage lighting? Sure it's
physical, but it's still programming.

Fashion designers - a tough one, but someone has to program all those looms
(although that's fabrics). They could also decide to turn it into a science,
or what about those Samsung (or was it Philips?) LED fabrics that can be
programmed to make lightshows. That could make it into fashion too.

Firefighters - ok you got me here, this is a very physical job that probably
wouldn't benefit from programming .... oooh, how about fire prediction?
Calculating how it will spread in a building? That sort of stuff?

Fishermen - have you _seen_ the amount of high tech on a modern fishing boat
(on telly for instance)? Puts the average reddit battle station to shame.
Those things are complex and look very programmable.

Mechanics - don't modern cars depend a lot on their electronics? Aren't there
people who almost do nothing other than tune engines? Isn't that quite a bit
like programming?

Musicians - a guy at my faculty made a software that does some intricate
things with music, I forget what it was, but basically machine learning on
sounds and stuff like that. All very interesting and programming-heavy. Also
the effects some peopel use these days are pretty damn awesome ...
programmable?

Pilots - don't they already pretty much program the auto pilot? What I've seen
on television (discovery channel for instance) that thing is very complex and
it doesn't look too far from programming when they input their commands.

Plumbers - microcontrollers that control the amount of water flow based on
time of day and season for the best water economy. That is all.

Psychiatrists - they already program people's minds. They don't need anything
more than that or they'd be too scary.

Stylists - depends on the kind of stylist. Machine learning from tweets about
a celebrity to figure out their best look? To figure out trends in style in
advance so the celebrity client always looks like they're ahead of the curve?
Hell, apply this to fashion designers as well.

Winemakers - it's a science. A lot more goes into a bottle of wine than most
of us think (I've seen how advanced the field of tea tasting is). I'm sure
there's a lot of chances for programming therein.

Zookeepers - when do you put a mommy bear and a daddy bear together in the pen
so they don't eat each other and produce baby bears instead? ok that's
statistics, but a little R programming wouldn't hurt.

Guess what I'm saying is, almost all of these professions could benefit from
_at least_ programming in R.

edit: The point is that, if all those people at least _knew about_
programming, who knows what they'd be able to create or at least think of (and
then get someone to do it)?

~~~
DanielStraight
I appreciate what you're doing here. As a programmer, I can also see areas
that programming (or at least skilled computer usage, as some of these things
can probably be done in Excel or existing tools) could add to most
professions.

But even in your replies, you're often dealing with only small subsets. I
don't want to live in a society which feels painters and sculptors are
obsolete because we have webgl. I certainly don't want to live in a society in
which the Oreo is an example of good baking. And the existence of webgl and
Oreos doesn't indicate to me that painters, sculptors, and traditional bakers
need to know about the programmatic options.

When not subsets, it's not clear to me why the professional ought to know
programming rather than enlisting the help of a programmer. Programming tools
for fire prediction would probably be quite involved. I've been programming
professionally for 3 years, and I'm not sure I'd be up to the challenge. I'm
not sure someone could be a skilled firefighter, learn programming well enough
to write fire prediction tools, and still have a social life. And even if
someone can, there's no reason _every_ firefighter needs to. Once it's
written, it's written, and others just need to learn to use it.

(As for the burger, I wouldn't eat it. I like my food traditional, minimally
processed, and made of things I would recognize on a shelf [a category into
which his emulsifiers do not fall].)

~~~
DanielBMarkham
That's certainly your prerogative, and good for you.

In the year 2040 you need to go to the dentist. The dentist you visit has a
big shop, with lots of employees. There's Linda, who works the telephone and
knows you and your family. There's the hygienist. There's the nurse's aide.
The dentist even makes his own amalgams for fillings. It's a very personal and
homey atmosphere. People like it.

The other place has robots. There is no dentist. You click on your iPad (or
whatever you have then) that you want to see a dentist, and within ten minutes
you're in the office. A robot does the exam, consults with you, and completes
the work.

The first dentist costs four times as much as the second one. It also takes
twice the time, and you have to wait two weeks for an appointment. (If you're
lucky)

Now that's not some strange imaginings -- that's going to happen, whether we
like it or not. The main question becomes: do we evolve a mixed-mode shop full
of artisans working (programming) computers and technology? Or do we just
commoditize the lot of it, take the humanity and ingenuity completely out of
the picture? If you set aside programming, make the programming shop some
special place where people go to commoditize business practices, you end up
with no people around. After all, you've replaced them. If, however, each
person knows their job and also programming, you create something new that
wasn't there before. This is the startup question, "should all the founders
know how to program?" applied to the world at large.

The essay makes the case not for programmers to rule the world, but for people
of all jobs to learn to manipulate complex programmable technology in the same
way they might today use Microsoft Publisher to make a banner. It's actually
arguing your case for you: for our own benefit, the creative and unique aspect
of people must be preserved.

~~~
mbeswetherick
It is my hope that humanity finds a healthy balance between technology and
tasks that humans do. Yes, it would be great if Apple didn't have to exploit
Chinese workers to make their products. But no, it would not be great if my
Doctor was put out of work by a robot. I honestly feel that the government
will have to issue some sort of standard that limits technology to some sense.

Yes, I would save money by going to the robot dentist, but my dentist would be
out of work in no time. It partially rests on humans to keep the exploits of
technology at bay. We can't turn personable human tasks into machine work.

Our world can be set up to be completely self-sufficient. Yes, a few people
would make a lot of money, but I personally believe the impacts would be
horrendous.

~~~
onemoreact
What separates the Dentist from the bank teller? Clearly ATM's have
drastically reduced the need for Bank tellers, yet nobody seems that concerned
about it. More generally, I suspect there is always going to be gap’s when as
a field gets automated. As the more complex the task the harder it is to
automate and less cost effective it is to do. So, it feels like the steady
erosion of low end jobs everywhere vs. a sudden loss of a single profession.

We can see this as an increased demand for education / training. But, not
everyone is able to keep up and over time ever fewer people are going to be
capable of the remaining niches. It's possible that the service industry's are
going to continue to absorb the less capable, but that does not help the
economy in the long term.

~~~
spacemanaki
"What separates the Dentist from the bank teller?"

One of them has his or her hand in your mouth and might need to drill, remove,
fill or otherwise mess around with your teeth. I think a lot of people would
be more comfortable with a human element in all medical interactions, even if
robots are eventually as effective.

~~~
TheEzEzz
> even if robots are eventually as effective.

What about when robots become more effective? Drastically more effective?

I would not let a modern day robot work on my teeth, they are too stupid, but
I can imagine a day (fairly soon) when this will not be the case, and my gut
reaction will start to be the exact opposite: I would not let a human being
work on my teeth.

~~~
spacemanaki
I wouldn't bet against that, but what I was saying was that right now there is
a big difference between a human bank teller and a human dentist, and an even
bigger difference between an ATM and some future dentist robot. It's just a
bad analogy because they are not similar interactions at all.

~~~
onemoreact
We already have robotic dentists doing dental work better than a human can.
Back in the dark ages of say 1995 if you wanted to get your teeth into better
alignment you went to this guy who attached this complex apparatus that would
forcefully move the teeth in your mouth and every so often you would go back
to this same person to do adjustments and such. Sure, it often hurt, look a
long time, looked bad, interfered with proper dental care, and only allowed
for fairly simple work, but at least it was expensive.

Now, with automation and 3D imaging technology we can have a specialist
specify what to change and let a computer design a series of discrete non-
invasive attachments that allow a home users to quickly attach and remove
their implant. It's far less painful, takes less time,can far more precisely
preform complex work like rotating a tooth, and the only downside is it costs
about the same amount as braces. Note: This is an actual company not just BS
(<http://www.invisalign.com/Pages/default.aspx>).

PS: I still occasionally see a teller for complex interactions, but I trust an
ATM to be far more accurate for my day to day needs. And there is still plenty
of work for orthodontists, but a lot of the simple stuff is simply better
handled by a machine.

~~~
spacemanaki
That's fascinating, thanks. But has this technology reduced the need for
orthodontists? Does it mean that orthodontists now need to learn how to
program? I think this is just another example of humans using more software.

~~~
onemoreact
It's reduced the time an orthodontist spends per patent and allowed non
orthodontists to do simple things that used to involve an orthodontist. But,
it has also convinced a lot of adults to get dental work. So, in the short
term it's fairly neutral, but in the long term we are going to need fewer
orthodontists.

As to programming; I don't know a lot about how the software works, but
advanced users in front of really complex software like Excel and Photoshop
tend to blur the line between a Specialist and Programmer.

------
steele
As a mechanic, I am a trained and licensed auto mechanic. Many, many people
drive cars. Therefore, auto repair is the new High School Diploma. etc etc

~~~
kls
I tend to agree, it's the reason "auto shop" is an elective. I think that a
general computing course in high school is desperately needed but to go as
deep as programming I just don't know that it would produce the results we
need.

------
angdis
I advise all who pontificate about what _SHOULD_ be taught in schools to take
a look at what _IS_ actually taught in schools (high-school/college-prep)
today.

That last thing students is need is yet another hot topic on top of all the
other crap they're supposed to be learning.

There is far too much specialization going on. What the students need more
than ever right now is increased focus on the basics of reading, writing and
mathematics. Everything else, including future vocational training, follows
from the basic skills of the "three r's".

~~~
chadgeidel
I wish I could upvote this more. "Programming" is just a subset of logic,
which is a subset of mathematics. I'm not happy that more folks can't program,
but I'm MORE unhappy that more people can't comprehend that - for example -
the world is more than 6000 years old.

------
agscala
I don't think that programming is going to be a required skill like a lot of
people here say it is. As much as I love programming and machines and
computers, I don't think I want to be serviced in every area of my life by a
machine. I don't think I'm alone in this sentiment. In the foreseeable future,
there will be jobs for the non-tech-savvy folks.

When I read articles like this, I get the feeling that some people love
programming and computers so much they get all giddy thinking that everybody
will need to be programmers at some point. Don't get me wrong though, I do
think that people who have the capacity to wield computers have a lot of power
on their hands, but I think it's a bit of a stretch to think that everyone
will need to be programmers eventually.

------
cletus
I disagree with this analogy. Latin is (IMHO) a better comparison. Previously
discussed:

<https://news.ycombinator.com/item?id=3285212>

I don't see the need for everyone to be a programmer. Nor do I see programming
to be as fundamental as literacy or numeracy.

------
Jach
Linux supports the notion of a command line or a shell for the same reason
that only children read books with only pictures in them. Language, be it
English or something else, is the only tool flexible enough to accomplish a
sufficiently broad range of tasks.

\-- Bill Garrett

If programming really is the new high school diploma, I expect to see a big
failure in the "there's an app for that" meme. If it's the case, at some point
people will need to compose apps in new, creative ways that suit their
particular individual goal, which no one else has currently thought of to
implement in a single one-click app (if it's even possible) and/or which an
app that's almost there can't go the rest of the way because the request is
too specific to that one user.

Of course, I'm more in favor of using the same simple argument made when
students ask why they must learn algebra. It shapes their thinking in a
positive manner regardless of whether they advance further in the field.

------
tpatke
I think it is possible that one day robots will do all the work and it seems
logical that as we progress toward that point programming will be a pretty
safe and in demand job.

However - I think it is important to consider the political implications of
such a future. It is unlikely that 50% unemployment is politically acceptable.
If we were to move to a more communist / socialist society would robots still
be doing the work?

It is unlikely that we all end up programming.

~~~
maxxxxx
It's an illusion that programming will be a safe job. Robots will do most of
that too.

~~~
tfb
I truly think that at some point (far) in the future, robots will put everyone
out of "real" work. They'll do everything for us. Money and economics will
become irrelevant. Humans will be left to do what we enjoy at will, whether
it's spending time with friends and family, exercising, playing music,
painting, building things, or all of the above, of course. Some might even
take it upon themselves to improve whatever systems are in place, if that's
what they enjoy doing. The main obstacle we face, however, is getting everyone
on the same page and making the transition from an economy dependent on cash
flow to one that is automated where no one has any real responsibilities. I
know it's hard to imagine right now, and we can presently think of a million
ways why it will never happen; but it's just my opinion: where there's a will
there's a way, and for something like this we have to really think outside the
box.

~~~
ilaksh
I agree with most of what you are saying, I have similar beliefs.

I think that we need to redesign society from a technological and
_primatological_ standpoint because I think a lot of the extreme hierarchy and
brutality we see in our world is a result of the way that our cultural
frameworks handle our primitive needs such as various ways that men compete
for sexual success (such as resource acquisition).

The thing that I think people are missing as a realistic concern or change is
that by the time these robots are able to replace most human jobs, which
doesn't seem like it will be too many decades from now, shortly after that, we
have to expect that the robots will become even more capable than humans.

The robots will be smarter than people. Normal, unaltered humans will probably
eventually be treated like animals. I think that people don't take this
possibility seriously (to me it is a likelihood, and probably within my
lifetime).

I don't think that means we should prevent the next 'species' from taking
over, but I do think it means we need to plan for ways that we can integrate
with super-intelligent technology in order to stay relevant. And I think that
is going to be a very practical issue within a small number of decades.

~~~
cgarvey
In order for "robots" to completely "take over" the transition will have to be
MUCH longer than just one lifetime. Otherwise we'll end up with 40%
unemployment and mass rioting.

It'll probably take us 50 years to have emission-free vehicles dominating the
auto market, let alone robot overlords.

Maybe I'm just pessimistic (or optimistic), but I think Humans are too dumb
and/or too smart to create an AI that will overthrow us. More likely, we'll
ruin our society by overpopulating and draining our natural resources before
we can prepare a suitable "Earth 2".

Or Zombies...never discount Zombies.

------
saltcod
Your points are valid, if a little protracted.

The issue for the next 20-50 years isn't that everyone needs to become a
programmer, its that currently no one is becoming a programmer. Until we start
to graduate people from high school with some ability and interest in
programming, we're in tough shape. At the present time, its near impossible to
find a school system anywhere with a good programming/CS program.

And the changes will take a long time to implement: government will need to
invest heavily in teaching teachers to program (and teach programming), and
invest in ever-changing computer lab infrastructure.

The future looks as ripe for companies like CodeAcademy as it is bleak for
government-run education systems.

~~~
randomdata
There is nobody becoming programmers because it is a poor profession to get
into.

Locally (outside the US), I see job postings that require "programming gods"
for the job, that top the pay scale out at $70K. The US is reported to fair
better, where programming deities can earn over $100K, but mediocre
programmers still do not earn that much from what I gather.

It takes _a lot_ of work to become even a mediocre programmer, and when you
get there, there is no room for advancement. The programmers job is to
automate itself away, yet, unlike the commissioner, the average will never see
residuals on the gains from that automation. They say most programmers leave
programming by the age of 35 because it is a dead end.

Don't get me wrong, I love the field and have no regrets about entering it. I
started programming in high school because I was fascinated by it, and the
fact I can make a decent living doing what I love is amazing. I do, however,
recognize that I could be much further along professionally if I would have
poured all those hours into other pursuits.

And that's the kicker. Most people are not going to naturally love programming
like me and, I'm going to assume, you. Why would they want to spend their
formative years on interests they do not particularly love, to find themselves
in a job that pays decently, but has no real room for advancement beyond
leaving the act of programming entirely?

~~~
didgeoridoo
I'd agree that programming in isolation is not a tremendously well-remunerated
skill. However, it does act as a force multiplier for your other abilities.

A non-technical parallel is public speaking. With extraordinary skill (in
isolation), you could end up as a PR flack making 100K or so. If you combine
great speaking ability with strong organizational and interpersonal skills,
you could end up making orders of magnitude more as a CEO or politician.

Programming, like public speaking, can be thought of as a delivery mechanism.
As more of our world becomes "programmable", the increased reach and leverage
of coding ability will make it far more valuable.

~~~
randomdata
I think that is a fair observation, but if people don't already have a keen
interest for programming, why wouldn't they just pursue the non-programming
multiplier that best fits their personality?

It's not the people who already enamoured by programming, it's the people who
dislike or even hate it (i.e. most people). What about programming makes it
worth their time to do, when they do not naturally love it?

------
firemanx
I sure hope not. The most dangerous guys at work are the product managers who
had a few programming classes in college and think software engineering is
"easy". Programming is, like many disciplines, easy to pick up but hard work
to truly understand and master.

~~~
mjwalshe
Programminsg is easy its working out what you need to program to solve the is
the hard bit.

------
itmag
I agree, if "programming" is taken to mean a broad understanding of eg
processes, iteration, encapsulation, abstract categories, causality,
concurrency, constraints, data formats, networks, stuff like that.

In other words, to have something resembling the mental model of a programmer,
without writing code. In that sense, I can see "programming" being the new
highschool diploma.

But if he means it literally, then I don't agree.

------
Pent
I think that the author of this post might be missing that he could be a bit
biased because generally people surround themselves with others that share the
same hobbies and opinions. I still find many of the people I meet daily are
completely computer illiterate. /speculation

------
TDL
An entire category of work has been left out of this discussion, Sales &
Marketing. I would argue that sales people & marketers do not need to learn
how to program in order to ply their trades. In fact, adding a technological
layer between a sales person & the client/prospect would be detrimental. This
doesn't mean there won't be sales people & marketers who will learn to program
or experiment with new methods of interacting with client/prospects, but it is
not necessary for these professionals to learn how to program.

There are other service professions that do not need to know how to program as
well(all sorts of entertainers, personal services [trainers, masseuses,
barbers/hair stylists, etc.])

------
ZanderEarth32
If by "programming" you mean, operate a computer or automated device (machine,
tablet, "smartphone", etc.) with some minimum understanding of how it works,
then yes I agree. But for everyone to be able to code an app or program from
scratch, then no, I don't agree.

------
cicero
Most people don't need to be able to program at a professional level, but they
do need to be able to intelligently use computer technology. I think learning
a little programming can be helpful for gaining a better understanding how
computers work.

------
Shorel
Just as everyone is already a mathematician, a historian, and a biologist in
high school.

Learning programming doesn't mean to be any good at it, or choose it as a
career.

------
phren0logy
This only makes sense if you look at a process that involves a computer (which
is nearly everything these days) and stop looking once you reach the computer.

There are many more steps to nearly every process that involves a computer.
The parts that are best performed by a computer most likely already are (at
least here in the US). As computers improve, their role will continue to be
expanded, but this curve will flatten out. Granted, the curve is in the early
part of flattening and has decimated jobs, but I don't think that it will
continue forever.

------
bstewartnyc
I dont know if most people will need to program computers (write code) but I
do think the formalism of "imperative knowledge" is actually in its infancy
now. And by that I mean the study of processes, the formalizing of "how to do
things", and that can include many forms: management, manufacturing,
economics, etc. A basic understanding of algorithms and data structures may be
a requirement in liberal arts educations because in theory it can apply to so
many areas.

------
bhousel
Computer Literacy is the new Programming

------
batista
TL;DR: I am a programmer, thus everybody should be one. I have only
programmer's friends and am immersed in programming culture where I work,
therefore I don't understand the importance of other professions.

~~~
warmfuzzykitten
I would add that today many of us carry computers around in our pockets that
can do all sorts of marvelous things and don't require any programming. The
fact that an ever-increasing number of previously dumb devices contain
computers doesn't imply the need for an ever-increasing number of programmers.

I have even less confidence in the job security of existing programmers who do
scripting and/or programming that amounts to little more than patching
existing modules together to get relatively simple effects. These jobs are
just as susceptible to automation as those of assembly line workers. In
software we're where the telephone industry was in the 1940's: there are
350,000 operators in the U.S. alone and the sky's the limit for good-paying
jobs as telephone operators. We worry when a small percentage of these good
operator jobs are outsourced to foreign workers. We should be worried about
virtually all of them being eliminated by automated switches.

------
paulhauggis
Open source has contributed to this. As a business owner, why would I pay for
someone to engineer an app when there are so many apps already engineered. I
really only need a code mechanic (someone that will get paid less, makes
changes to an existing design), a freelancer, or a temporary worker.

Lawyers and doctors don't do this. They might give some freebies, but not to
the extent of the open source community.

------
Tichy
Programming seems so easy compared to some other jobs. You can pick it up in a
couple of weeks by reading a book. If you want to program something more
complex, give it another two weeks and another book or online tutorial.

I can't help thinking about medicine instead. Admittedly I haven't tried, but
it seems unlikely that the same thing would work for medicine (studying books
for a couple of weeks). Even learning medicine in isolation (as is common for
programmers) seems like madness.

I will now go looking for tutorials on removing an appendix on YouTube, but I
kind of hope that I won't find much...

~~~
vbtemp
Right, it's so easy (too easy, even). That's why Internet Protocol suite was
programmed in two weeks in the 1970s after Vint Cerf and his team thumbed
through a graph theory textbook on the shelf. And on that note, it's also why
the MRI reconstruction algorithms were developed by a couple college dropouts
who got their certification in Java from the local community college. So, I
need to run now and read my new book "Learning Programming Human Models of
Cognition in 24 Hours", then I'm going to produce some cutting-edge research
after I hack up some DNA analysis code in Ruby or something (all i need to do
is read a few blogz on this, right?). Pfft. lol @ the losers who get computer
science degrees.

~~~
Tichy
Not everybody who does programming does it on the level of creating the next
Internet Protocol Suite.

Most applications that are being developed are 100% standard fare (CRUD).

Also a lot of programmers seem to get by just fine without a CS degree. (I've
got a maths degree and minored in CS, but still, sometimes I feel I wasted my
time). In fact I don't think I have ever been asked by an employer to code
something complicated. If I were doing a startup it might be a different
matter.

Are you saying that you shouldn't bother to read the PickAxe book or the
PragProg Rails guide unless you have a CS degree?

Also, most code is probably crap but works anyway. I suspect the same can't be
said for appendix removals.

~~~
vbtemp
I was pointing out that your statement "programming seems so easy compared to
some other jobs" is incorrect. Programming (really, the whole pipeline of
formal modeling, followed by algorithm and system devlepment) can get
immensely difficult, and attracts some of the brightest minds on some of the
most difficult problems that can be conceived. I couldn't let that statement
go unchallenged.

If you have said something like "developing CRUD web apps is so easy compared
to some other jobs", I would have had nothing to say to you, because you're
probably right.

Maybe if you had gone to work at IBM on Watson, or for a NASA research center
on spaceflight communication networks, or work for something like Certicom
producing the next public key cryptosystem over elliptic curves, you'd really
be flexing your math muscle _and_ programming. I can imaging there are a small
subset of startups as well that would extremely value your math capabilities.
So you feel your degree was wasted modulo the way your career panned out.

And a final note about code being crap: Many dental and medical tourists come
back to the US with extremely poor workmanship on their knee replacements,
fillings, or root canals, and have to have much of it re-done here. Also, due
to the nature of medicine and software development, the comparison isn't
really apples-to-apples. An oral surgeon might do 10 wisdom-tooth removals a
week, granted everyone's mouth is different and there are a huge number of
complications, but many software developers are working on something entirely
novel on each project. In my experience, crap code is a function of changing
requirements + iterated attempts at refactoring.

~~~
Tichy
True, I guess I am just floored by the fact that if I would fancy to start
working on the next IBM Watson, I would actually now where to start. Whereas
if I fancied trying to develop a new vaccine or other medical cure, I would
probably have to study for several years first.

------
tfb
Awesome post. It definitely addresses the core issues of the "problems" with
the downward trend of current job availability and the economy. I think you
hit it spot on.

I'd like to mention that I've kind of been on the receiving end of some angst
towards generally tech-savvy people, and I have a feeling I'm not the only
one. I'm a computer engineer, and I've noticed that when the topic of what I
do for a living comes up and the person I'm talking to isn't good with
computers or isn't an expert in another field, their general attitude towards
me changes for the worse. I feel like those outside of the tech industry
really resent us programmers, as they likely (and rightly) see us as one of
the main causes of present job loss in some industries; but I wish there was a
good way to help them see the bigger picture, where technology has always been
shifting job availability from industry to industry, and that it really only
improves overall quality of life in the long term.

For instance, just last Thanksgiving my aunt and I were talking about how much
things have changed in the past few decades, and she said something along the
lines of "people used to work with their hands, not program computers all
day." She said it very negatively; and in the context of the conversation, it
was very clear she's actually against the trend of ever-increasing use of
computers. There wasn't much I could think of to say at the time that didn't
seem rude or disrespectful. But now when I'm on the receiving end of angst
towards programmers, I point out that the shifting of jobs throughout
industries has always occurred as technology progresses and try to provide
examples throughout history. Although it can sometimes be difficult to do this
without seeming pompous.

