

Programming: Love It or Leave It - bdfh42
http://www.codinghorror.com/blog/archives/001202.html

======
biohacker42
Atwood gets a lot of mileage from summarizing Steve Yegge's and Joel Spolsky's
blog posts.

And having sad that I feel a bit silly commenting here. But there are a few
things worth repeating.

As a commenter on Joel's blog mentioned, Sturgeon's law applies: 90% of
everything is crap.

And everything includes programming jobs AND the jobs in any other industry
you might be considering.

If your crappy programming job has you down, change jobs before you change
industries.

Start your own company or even try working for someone else, use your crappy
source of steady income to look for a better job.

Another thing worth mentioning is that if you truly deeply _love_ programming
then perhaps commercial programming of any kind is worse then not programming.

If you truly look at code as art, then digging ditches by day and writing
beautiful open source code by night, might be preferable to churning out crap
code for pay.

Lastly ageism doesn't apply if you work for yourself and it also does not
apply with legacy code.

Quite the opposite in fact, anyone who has a lot of legacy code (And boy are
there A LOT of legacy computer systems out there!) is active looking for older
programmers.

But then you wouldn't be working in the sexy exciting web 2.0 circus.

~~~
azanar
> As a commenter on Joel's blog mentioned, Sturgeon's law applies: 90% of
> everything is crap.

As I asked in the other thread too, are we prepared just to accept this as a
truism. There is a fine line between fundamental law of the universe and self-
fulfilling belief. Because the result is the same, you won't know whether to
look to see if the latter cause is culpable. Is it possible that 90% of
everything is crap because 90% of what we believe to be true, and thus act on,
is crap.

>Start your own company or even try working for someone else, use your crappy
source of steady income to look for a better job.

I might be getting the implication wrong, but I wouldn't advocate starting
your own company just because all the other options suck worse. Do it because
you are driven to, not because _just_ want to avoid the other options, but are
apathetic otherwise.

> If you truly look at code as art, then digging ditches by day and writing
> beautiful open source code by night, might be preferable to churning out
> crap code for pay.

What stops you from churning out code during the day, and then churning out
other code later on in the evening? And why the assumption that the
alternative to crap code for pay is ditch-digging? Perhaps the alternative is
advocating for good code? Robert Martin has a whole section in _Clean Code_
where he argues, and well so in my mind, that crap code is our fault as
developers. To bail to ditch-digging is a tacit admission that it isn't, and
that we were made to write crap by force. Which brings on a more general
thought.

Through all of this, I have yet to find anyone advocating for the other option
besides either putting up with crap or getting up and walking out of your
current employer and perhaps the industry as a whole. It seems that the
unspoken assumption is that speaking up and being assertive where you are now
is an unavailable option. This leads to several questions regarding the
validity and basis of that assumption. I understand it is common wisdom to
shut up and get back to work, but I've not always found common wisdom to be
that wise.

~~~
biohacker42
Good point about putting up with crap. I've definitely made that mistake.

And it is worth confirming that you shouldn't start your own company just
because the coffee at your current jobs is crap.

But I have to disagree on clean code. I've seen Uncle Bob speak, he is very
convincing but 90% of the time he's preaching to the choir.

As hard as it is to believe there are plenty of places that will actively
prevent you from turning out anything other then crap. It's hard to image if
you have not worked in it yourself, but it definitely exists.

And obviously ditch digging isn't the only option, you could teach programming
at a local community college or whatever.

But coding 8+ hrs at work and then coding some more at home is something I've
never been able to do.

~~~
azanar
Sometimes the choir needs to be preached to, though. It helps to hear someone
else put into words what one might be thinking intuitively. It also helps to
know that more people are thinking the same thing than any individual might
give credit for.

The flip-side of this is that people like Robert are not just preaching a
dreamland ideal that people should aspire toward but accept up front they'll
never be able to reach. The expectation is that people take what is being
preached and put it into practice; but that's not what I usually see. I
normally see people who will arm-chair philosophize about, but will either
succumb to peer pressure or fear before actually pushing for what they believe
is a good thing. At that point, the believe is completely useless.

The upshot of this is that places that actively prevent people from turning
out anything but crap need to be actively prevented from turning out
_anything_ , if we expect conditions to change at all. But it's a risky
position to take, and most people seem under the impression that the thing it
puts most at risk is the livelihood of their families. While I think that risk
assessment is melodramatic, I will admit it does put one's social class at
risk, which ties directly into the relative creature comforts of their family.
Knowing why people prioritize this latter matter so high is something I've
been struggling with for a little while, but maybe it's just because I lack
the context of a family to support.

------
andreyf
Quite the opposite - anyone that plans to do one thin their entire life
probably isn't very interesting. I love programming and am fascinated by the
field, but I certainly don't intend to do it all my life. There's simply more
to life than making computers do cool things.

