
Programming Sucks (2014) - fagnerbrack
https://www.stilldrinking.org/programming-sucks
======
fouc
>Right now someone who works for Facebook is getting tens of thousands of
error messages and frantically trying to find the problem before the whole
charade collapses. There’s a team at a Google office that hasn’t slept in
three days.

Still true right now this very moment I'm sure. Let's light a candle to all
the sleepless sysadmins helping keep up this rickety thing built on top of
hodgepodge code we call the internet.

~~~
nothingisnil
I see this as an opportunity and as a challenge. The one able to detect and
sane the system should be heavily paid. Is an opportunity for the team to
design better software. An opportunity to grow. The only and big problem I see
is how to measure the team performance to avoid giving the credit to the one
that don't deserve it.

------
Joeri
I disagree with the premise that programming is harder than e.g. bridge-
building. I’ve not been involved with a bridge-building project, but I’m
pretty sure they’re just as filled with crazy people doing stupid things. I’m
also pretty sure that when bridge experts look at an average bridge they can
tell you exactly why it was poorly made. That doesn’t mean the bridge isn’t
suitable for transporting things across it, just that it is merely adequate.
Just like most software is merely adequate.

~~~
AllegedAlec
> I disagree with the premise that programming is harder than e.g. bridge-
> building.

I don't think his premise is necessarily that programming is harder, but
rather that it's a hugely dynamic field in which many fundamental design
decisions are taken on a whim or personal preference, rather than actual
evidence that it's the right decision.

------
FreezerburnV
I usually read this at least once a year. It makes me laugh, and then bitterly
weep as I realize how accurate it is. It’s well-written enough that I read it
to my (relatively non-technically) wife and she understood the vast majority
of it.

------
nothingisnil
I think that to be a good developer you have to learn to work with limited
resources (time, bad software, unclear specifications). The challenge is to
design something not bad with scarce resourses, and that is an art. Moreover,
I think that good developers learn to get satisfaction when they succeed to
designed something valuable with very limited resources. Curiously, I wasn't
able to use firefox reading mode in this page, don't know if it an on purpose
decision to limit users choice, but to overcome this I copied the content and
opened with notepad, ajusted the font size and enabled line wrap. So finally I
read it my way.

Edited because I find it hard to express myself in English.

~~~
treerock
Just had a look at the source and found this.

/*

Yeah, there's some shitty code here. There are some things that shouldn't be
done. I did them. Sometimes, I had my reasons. Sometimes, I was just being
lazy. But guess what? You're sitting there reading the source on some guy's
blog. So fuck you.

*/

~~~
laszlokorte
I just took a look as well and found this [0]:

<!-- So this guy we just interviewed at my current job wrote this little
script to see if a product update for some company had come out. Every 10
seconds the script urllib'ed the page, checked the length of the html -
literally len(html) - against the length it was last time it checked. He wrote
a blog post about this script. A freaking blog post. He also described himself
as "something of a child prodigy" despite, in another post, saying he couldn't
calculate the area of a slice of pizza because "area of a triangle with a
curved edge is beyond my Google-less math skills." Seriously dude? I haven't
taken geometry in 20 years, and pi*r^2/8 seems pretty freaking obvious.

The script also called a ruby script to send him a tweet which another script
was probably monitoring to text his phone so he could screenshot the text and
post to facebook via instagram.

I think the "millenials" get undeserved flak, as all generations do, for being
younger and prettier and living in a different world.

But this kid calling himself a prodigy is a clear indication of way too many
gold stars handed out for adequacy, so to ensure that no such abominable
script ever does anything besides bomb somebody's twitter account, this
comment shows up exactly 50% of the time, and I encourage others to do the
same. \-->

[0] view-source:[https://www.stilldrinking.org/programming-
sucks](https://www.stilldrinking.org/programming-sucks)

~~~
scott-smith_us
> this kid calling himself a prodigy is a clear indication of way too many
> gold stars handed out for adequacy

Maybe, but people like this have been around since long before they started
handing out participation awards.

I think it has more to do with
[https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect](https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect)

------
jopsen
While analogies to bridge building is tempting.. classical engineering is a
lot saner than programming because the cost of bad code is low.

In theory you can always fix it.

And in practice it's cheaper to duct tape everything together and spend
resources keeping it alive. Than writing everything right the first time.

------
stunt
Perhaps discipline is one of the main issues but apart from that, One of the
biggest problems with programming is that unlike other engineering majors
there is no good qualification system.

Truth is MOST of the programmers are doing a really poor job and writing a
really bad code and there is no good qualification to make sure you have right
people in right place. While in other engineering majors there are clear ways
for qualification.

For instance taking programming language as qualification is horrible but we
do it. I know Scala developer who have no idea what the F.. they are doing,
yet they get paid well just because they are writing Scala. I know Java
developers who have very poor OOP knowledge, yet being recognized as OOP
programmers in the market only because they are writing Java.

Yes that is not always the case, but the fact that we have this system is
questionable.

------
skate22
This is amazing and aweful at the same time

I cant speak for other devs, but when i have faith in managment & the product
i'm working on it's butterflies and sunshine (same IT annoyances, but
leadership that understands it to some degree)

When your manager clearly does not care about your growth & happiness, and
your opinion on a product is not considered it's sooo easy to start feeling
this way

I'm sure weve all worked on a dumpster fire before, many of us will today,
life is meaningless, eat Arbys

[https://mobile.twitter.com/nihilist_arbys?lang=en](https://mobile.twitter.com/nihilist_arbys?lang=en)

------
scott-smith_us
I know this was meant to be kind of tongue-in-cheek, but it's really a
distillation of all the worst-case, deathmarch, and doomed projects rather
than the average experience.

Yes, I can relate to everything the author talks about, because I've been in
software for 35+ years and experienced bad times like this. But there are also
times when everyone _isn 't_ an idiot, management doesn't have their heads up
their collective asses, and you actually get to work with good people and
create great software.

------
rpod
Coincidentally, today at work I wrote a piece of code that reminded me of this
article (specifically the part about Good Code). It's not revolutionary in its
function or even critical to the application. It just does one thing well and
I'm fairly certain I'll never have to touch it again. It's these little
moments of joy that, for me, make up for a lot of the tediousness of day-to-
day programming.

------
noelwelsh
This doesn't match my experience at all. I've seen bad code and bad projects
but it's been a result of poor management or programmers who just don't know
better. I've also seen far more projects staffed with intelligent,
conscientious, and fun people, and some very nice code bases.

If this essay reflects your experiences in the IT industry something is wrong.

------
soufron
I used to program quite a lot, but I ended up becoming a Lawyer... and I
prefer that to programming... which should say a lot :D

~~~
miguelrochefort
How hard is law compared to software engineering?

------
TimGremalm
I like this narrated version
[https://www.youtube.com/watch?v=MticYPfFRp8](https://www.youtube.com/watch?v=MticYPfFRp8)

------
dvfjsdhgfv
> It reads like poetry written by someone over thirty.

Seems like a good point, but in fact many great poets started their careers
well before 30.

------
zaarn
I read this long ago and keep coming back to it.

It's the most beautiful rant about programming.

------
voiper1
Posted in 2014.

~~~
gekkonier
Valid since ever.

------
partycoder
A lot of this nonsense comes from implementing and maintaining features nobody
uses.

Some programmers are equivalent to pathological trash hoarders and see
repositories as an append-only trash dumpster.

------
LaGrange
> What walkways? Well Fred made a good case for walkways and they’re going to
> add to the bridge’s appeal.

That "walkways on a bridge" are an outlandish idea tells you all you really
need to know about the article and the author.

I actually have a fairly low opinion about the state of the IT industry. But
neither accessibility features you personally won't use, nor programming art
projects, nor occasionally whimsical industry jargon are the reason why. Also,
if you think there's an electrical engineer out there who never built
something nonsensical for the sake of it...

In fact I propose two big reasons why the IT industry is like it is:

1\. many IT projects serve questionable means. If I work on a bridge, there's
a good chance I think there's a use for it beyond making money to someone.
Many programmers don't have that "luxury", and it's hard to care about the end
user experience if the programs ultimate goal is to screw the user over.

2\. IT industry is full of toxic people like the author of this article.
Perhaps because of 1.

~~~
FreezerburnV
That is an... odd location to try and latch on to in order to say that the
writer is toxic in the industry for multiple reasons:

1) While the author didn’t claim walkways are bad, there are many bridges
designed for American rush hour traffic that do not include them because
nothing surrounding the bridge would allow for someone to walk on them. Aka:
there are only non-walkable highways entering or exiting the bridge.

2) Non-wood brushes don’t have wooden walkways added to them. They use
concrete and steel like the rest of the bridge.

3) A walkway would be absurd without railings, which are dictated as not being
something available to add. Literally a lawsuit waiting to happen.

So yes, in the case being outline as an allegory for this profession, a
walkway added to the bridge because someone made a case for it would be bad.
And has nothing to do with adding accessibility to it, which would be a good
thing to do if the bridge were somewhere that said feature made sense.

(I’m probably going way too serious mode for this reply, but it was sticking
in my craw, so I felt a need to get these thoughts out there)

