Live data from Hacker News

“Code was never the hard part” is an insult to all programmers

blog.senko.net

161–170 of 575 posts

Re: “Code was never the hard part” is an insult to all programmers

#161
post #72

I believe there are some programming jobs in which the code is absolutely the easier part. Not all of us work in signal processing, integrated systems or have to push upstream to Linux kernel because the company we work for really needs a memory allocation optimization for its data centers. Navigating customer requirements and building something that satisfies both market's needs and company strategy can be an incred…

> There is a reason that books like "the staff engineer's path" cover topics such as local maximums, communication, [...] Why would they cover programming? That's what all the books on programming are for. Also I see no need for signal processing to make programming a hard problem. Writing correct code is hard. Writing code that makes incorrect code easy to spot and hard to write is hard. You can be great at local ma…

A buggy big ball of mud that does mostly the right thing is still going to beat a high-quality, carefully architected solution that reliably does the wrong thing, though.

And for a huge amount of code, it's not very hard to make it good enough, because the requirements, once understood, are pretty straightforward and perfect correctness often matters much less than you would think.

Re: “Code was never the hard part” is an insult to all programmers

#162
These comments reveal a stark reality: most HN commenters have never worked on a really hard problem. They think hard problems are leetcode hards that have a prescribed list of known techniques to apply.

They think communication, alignment, gathering requirements, and other political bullshit is the hard part because they have never actually solved or had to grapple with a truly hard problem.

That’s fine, but it shows the corporate programmer who is probably in meetings all day has a vastly different reality than those of us who have had to solve open problems with no solution written somewhere because there is none.

Re: “Code was never the hard part” is an insult to all programmers

#163
post #72

I believe there are some programming jobs in which the code is absolutely the easier part. Not all of us work in signal processing, integrated systems or have to push upstream to Linux kernel because the company we work for really needs a memory allocation optimization for its data centers. Navigating customer requirements and building something that satisfies both market's needs and company strategy can be an incred…

Yes, I resonate with this and the article above.

I think 80% of a SWE's job is to communicate with the XFN partners (either gathering requirements, pushing back, managing up, collaborations, etc) and then plan out the actual coding (gather code pointers, look at past code, plan architecture, talk to the team). The last 10% is the coding. And then the other 10% is the maintenance of that and past code (which honestly should be a lot more but incentives are not aligned well).

It's hard for people to understand jobs they don't do. They imagine we spend 8 hours a day clacking at the keyboard.

Re: “Code was never the hard part” is an insult to all programmers

#164
post #47
post #9

> If coding is easy, how come programmers were in high demand, and have demanded large salaries for years (even before ZIRP)? Because programmers have generally been forced to wear additional, invisible hats that are essential to making the code happen in the first place. Writing code is not hard. Writing correct code is. Knowing what is correct in a setting with paying customers generally involves interacting with t…

> Writing code is not hard. Writing correct code is. Knowing what is correct in a setting with paying customers generally involves interacting with those customers. That's like saying "building a car is not hard, building a real car that you can use and that passes regulation is". IOW, writing code is hard in every reasonable context.

I mean, I think the point is, every discipline isn't ever that discipline in a vacuum, it touches the real world, and we build meta-structures around said things that may not look like programming, but certainly require deep programming SME.

Even in academia, you have meta structures that you constantly need to think about.

Of course, you can keep trying to isolate the "pure" thing from the "accidentals", but it's not going to work when the work gets sufficiently complex

Re: “Code was never the hard part” is an insult to all programmers

#165
post #9

> If coding is easy, how come programmers were in high demand, and have demanded large salaries for years (even before ZIRP)? Because programmers have generally been forced to wear additional, invisible hats that are essential to making the code happen in the first place. Writing code is not hard. Writing correct code is. Knowing what is correct in a setting with paying customers generally involves interacting with t…

Knowing what to write in the first place is the hard for me, and always has been.

Re: “Code was never the hard part” is an insult to all programmers

#166
post #72

I believe there are some programming jobs in which the code is absolutely the easier part. Not all of us work in signal processing, integrated systems or have to push upstream to Linux kernel because the company we work for really needs a memory allocation optimization for its data centers. Navigating customer requirements and building something that satisfies both market's needs and company strategy can be an incred…

Yes, I resonate with this and the article above. I think 80% of a SWE's job is to communicate with the XFN partners (either gathering requirements, pushing back, managing up, collaborations, etc) and then plan out the actual coding (gather code pointers, look at past code, plan architecture, talk to the team). The last 10% is the coding. And then the other 10% is the maintenance of that and past code (which honestly…

> They imagine we spend 8 hours a day clacking at the keyboard.

I do, but the order of the keys makes a difference somewhat.

Re: “Code was never the hard part” is an insult to all programmers

#167
post #53

Earlier quoted context omitted.

> Writing code is not hard. Writing correct code is. Now add the time dimension - keeping code correct as the business and the people in it change. That's how I explain to people that LLMs will not replace us developers.

https://media.ccc.de/v/36c3-11241-from_managerial_feudalism_... Timestamp is: 36:42-39:55 I believe Graeber perfectly predicts the problems, in 2019, with vibe coding creating immediate "value" from production, but failing to produce true value through maintaining the system (like one continually washes a cup to give it value over time).

> (like one continually washes a cup to give it value over time).

But it doesn't give value, it prevents value loss.

I don't know why people are telling themselves maintenance work is virtuous. It's waste. It's necessary waste, and doing the work may be virtuous, but the work itself is pure waste. Fighting entropy.

EDIT:

I wish we talked more about the need for low-maintenance patterns and products. In this industry, many of us already recognize this instinctively, but we often misattribute the problem to "complexity". Think of e.g. rather substantial niches and common practices among developers, like static site generators, no-build-step development, or on the backend side, the popularity of header-only libraries in C and C++. All these tend to be labeled as reducing dependencies, but that's just the means - what they do is they minimize independently rotting parts. The build system isn't bad because it's complex - it's bad because you have to constantly babysit it. Conversely, a static site once rendered will open ~forevermore, and so will a piece of C/C++ code that relies on single-header libraries.

Similarly, the popularity of containers is in large part this. All the mess isolated in a self-contained bundle that is preserved against rot, at least for a while. Inside, there's nothing to maintain - it works until it's not needed, or until the "outside world" changed too much, at which point you throw the thing away and get a new one. Etc.

Re: “Code was never the hard part” is an insult to all programmers

#168
I agree with the author that coding is objectively "difficult" but this is something I am good at, while dealing with people, changing requirements, bureaucracy, and maintaining work relationships I find challenging. I always say coding is the easy part of the job (for me).

The author's main thesis, that coding is hard, conflates what an individual finds easy or hard, with what is easy or hard for an average person.

Re: “Code was never the hard part” is an insult to all programmers

#169
post #9

> If coding is easy, how come programmers were in high demand, and have demanded large salaries for years (even before ZIRP)? Because programmers have generally been forced to wear additional, invisible hats that are essential to making the code happen in the first place. Writing code is not hard. Writing correct code is. Knowing what is correct in a setting with paying customers generally involves interacting with t…

nope, I've definitely worked on a lot of projects where knowing how to satisfy the requirements was not the challenge, writing the code was genuinely hard. complex data structures that had to have invariants maintained, distributed access to shared memory, dealing with various forms of fault tolerance, and above all getting some complex algorithms to run at an acceptable speed - all that really does get bottlenecked on the difficulty of the specific low level code you have to write. and then there are the architectural issues that make all the difference not when the code is first written but months later when you want to add another big feature and find out that fitting it into the existing code base is hampered by the early decisions you made. I'm honestly glad to have LLMs to help with a lot of that, though I'm also glad that I built up the skills to do them myself over the last few decades and am a little sad that programmers today will not build a lot of those skills up.

Re: “Code was never the hard part” is an insult to all programmers

#170
> Is The Art of Computer Programming a light summer read? Is SICP a coffee-table book?

I still read TAOCP occasionally as a hobby. The combinatorial algorithms and data structures are just fascinating. That said, this argument seems irrelevant to majority of the programming jobs. I doubt most engineers will ever need to implement anything mentioned in TAOCP, thanks for all kinds of powerful abstractions.

Post reply on HN