Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Programming Sucks (2014) (stilldrinking.org)
91 points by fagnerbrack on July 19, 2018 | hide | past | favorite | 29 comments


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


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.


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.


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


Worked in both fields. Not comparable. Bridges cost a lot and people will die if you manage and design the same way as for a typical useless SW project as described.

But I also did important SW projects where people would die, and there management and design didn't suck. Go wonder.


My condo association recently hired a structural engineer to find out about some of the half-assed shortcuts the builder took and now I almost wish I didn't know.


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.


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.


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.

*/


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


> 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


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.


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.


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


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.


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.


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.


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


How hard is law compared to software engineering?


It's your personal taste. I prefer programming to doing something else. I certainly wouldn't want to be a lawyer. B)


I like this narrated version https://www.youtube.com/watch?v=MticYPfFRp8


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


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

It's the most beautiful rant about programming.


Posted in 2014.


Valid since ever.


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.


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


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)


I think you need to re-read the article, try to get past the allegorical beginning. The author is a software developer like you and me.

If you've worked with a team to build software, you know that everyone's got their own ideas or someone wants to use the hottest new tool or programming language of the day. If nobody is careful, then after awhile the team might have a really confusing tech stack with major parts in totally different implementations, even if that didn't happen, everyone's got their own preferred approaches for organizing code, etc. It's always turning into a hodgepodge if there's no discipline.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: