logoalt Hacker News

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

636 pointsby senkoyesterday at 2:32 PM399 commentsview on HN

Comments

ChicagoDaveyesterday at 8:06 PM

There is a half truth to code being the easier part.

In order to reduce the complexity of eventually coding something, you use modeling and code probes to validate the business model and then write the code.

This has been around since the days of batch programming and evolved through domain driven design principles.

The reality is the business can’t see that so they don’t invest in it and have no patience for it.

Agile wasn’t embraced because it was better. It was embraced because it was cheaper and faster.

Planning and modeling are the levers of complexity.

voidfuncyesterday at 10:07 PM

Ive been doing this for enough time. Code is rarely the hard part. Code rarely matters at all in my career experience.

Shipping a working service or product matters and theres a lot of ways you can get there. The upside of good code is usually in maintenance and extensibility but theres a limit to how much those matter in the grand scheme.

a3wyesterday at 10:18 PM

Coding something for the second time is much easier. Therefore, coding is easier than some other tasks in software engineering. Getting the spec is usually the harder part, except if following the spec is for really complicated products, like "one does not simply rewrite VIM" shows.

kevwilyesterday at 10:21 PM

To be fair, the use of absolutes like "never" is a red flag. If the statement were "code is often not the hardest part", that's certainly plausible and debatable depending on context. The implication that coding is easy is what's offensive.

desdenovayesterday at 6:45 PM

Coding is not programming.

Typing code is indeed not the hard part, programming is.

hintymadyesterday at 7:53 PM

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

galaxyLogicyesterday at 10:20 PM

Well it's easy to come up with code, not hard at all. But what kind of code? Does it work? And more importantly, can it be maintained and adjusted to evolving requirements?

Coding is easy just like writing is easy. What makes the difference is what you write.

sitzkriegyesterday at 10:25 PM

i’d bet half of my normie programming career was spent capturing requirements, understanding the target domain problems etc for easy normal web development. once that is done code is a grocery list for 90% of it

kstenerudyesterday at 8:33 PM

I've always taken it to mean "coding is the easiest part of a developer's job"

That doesn't make it inherently easy, but it is the easiest part to automate.

A modern LLM is perfectly capable of maintaining decent code quality and architecture (provided you ask for it) up to a few thousand lines of code, but after that it very quickly loses the plot if you're not designing your documentation right and keeping a hand on the architectural tiller.

Architecture is about staving off chaos for as long as possible given the maximum functionality you expect it to achieve. That's hard enough for a human, with a deep understanding of your business, to do. Architectures that endure is a hard problem, dwarfing the difficulty of writing the actual code. Choosing what product to build is also a hard problem if you expect to meet any success. What it does, what it specifically doesn't do. Sounds easy on paper, and if all you're doing is Sunday prototypes it feels almost trivial. But once you're doing a real product with real consumers, it's a very different thing.

fireflash38yesterday at 10:05 PM

I think it can be pretty hard. It can be hard to find the right fit/abstractions.

LLMs don't fix that though. I see some truly awful code come out of them. And no, it's not just better context or use more skillz.md.

bvcpyesterday at 9:28 PM

depends on the industry. but in consulting the hard part is dealing with customers who dont understand their own business and analysts who think writing software is rote factory work but somehow struggle to write a handful of coherent user stories not littered with subjective and ambiguous language

these two groups are telling me my time is numbered because of llm and ai when in-fact im struggling to see how ai doesnt replace them both

really good software engineers are expected to be experts in their job and that of the rest of the project team, these individuals are primed to be empowered by ai in a really disruptive way.

JKCalhounyesterday at 10:14 PM

Code was never the hard part… once you made it to some level of advanced programmer. Then clarity, maintainability, etc. became the next tier of Maslow's Hierarchy of Coding.

etothepiiyesterday at 10:34 PM

Nothing is ever hard that you've done 100 times before and know how to do. Creating documented step by step instructions that cover all or most eventualities is.

BiraIgnacioyesterday at 6:57 PM

I'm not insulted. I actually agree with that even when I was doing some more "hardcore" low level system programming.

Figuring out what code to write and what not to write was always hard.

The code would come out easier the more time I spent thinking and designing and talking about it with others.

of course, YMMV

laughing_manyesterday at 7:08 PM

Writing code to do a thing is easy.

Writing code that's logical and easy to follow, that can be extended in several likely dimensions without major plumbing work, and that doesn't contain "gotchas" for the maintainer, is not at all easy.

imoverclockedyesterday at 8:22 PM

Code still is the hard part. Or at least one of them.

Code, is written in a language. Language is opinionated. Things written in that language are also opinionated. LLMs often have horrible opinions.

scoofyyesterday at 7:18 PM

"The labor is valuable" is basically the refrain of every single laborer in every industrial revolution.

The point isn't that labor isn't "valuable" it's that "value" here is a moral position. This same thesis could have been said about basically any mechanized industry.

There is no putting the genie back in the bottle. You can't un-invent the nuclear bomb, or the printing press, or the steam engine. We need to find a politically stabilizing way forward, and that means we need political coalitions that don't consume themselves with infighting.

Right now we can't even work together to build housing for young people... how the hell are we going to get through this mess without actually trying to build something bigger by making sacrifices.

gagan2020yesterday at 7:42 PM

He is right though Coding was hard for many.

Farming was also hard, manual work wise and now machines overtook. It's still hard because of marginalization.

It will happen to Coding, Consulting, Creating work, etc as well.

sunaurusyesterday at 6:37 PM

Is it just me, or is this article arguing against a straw-man?

Isn't the real argument that "writing code is not the hard part"? As in, reading and understanding is the hard part. Figuring out what and how to change is the hard part.

Writing is the last 1% that happens after you have already finished the 99% of talking to people, figuring out what needs to be built, building up context about the codebase and surrounding infrastructure in your heard, planning the actual changes.

show 1 reply
Frost1xyesterday at 7:03 PM

To some degree the defense just popped up because it’s part of the AI effect, at least in my opinion: https://en.wikipedia.org/wiki/AI_effect

As computing systems become increasingly capable and encroach in our territory that distinguishes us and lead to our success as a species, intelligence (whatever that is or isn’t), we redefine the problem and handwave away the new capabilities.

It’s getting increasingly more difficult to do that in knowledge domains with current frontier agentic systems. They’re not AGI, but they start to make it increasingly difficult to move the goal posts for many people’s comfort.

We really need a lot more philosophers, sociologists, and frankly economists working on this problem: in an era where physical needs were mechanized away and increasingly aspects of the knowledge economy are shifting away, what does it look like in modernity? How do we sustain or adapt our current economic models? What new models may be needed? Do we need to continue to enforce this whole work to survive in an environment where much work is disappearing or at the very least shifting around.

No, we’re not there yet. You still need experts to guide things around, but it’s becoming increasingly easier to do more in this space with less humans. That’s not a trivial change in the US where we put most our eggs in this whole knowledge economy basket.

idanyesterday at 10:23 PM

This post misses the point about what has changed. It's not that coding is or was easy, it's that coding is _more than typing code_.

Typing is easy. Coding is hard. LLMs eliminate the typing and aid with all the other parts of writing code (where is the system that I want to mutate, how does it work today, debate the tradeoffs inherent in the potential plans of action).

What remains after factoring out the typing and the time spent assembling an understanding of code is opportunity cost. That's not an insult any more than memory managers are an insult to languages like C.

ilovecake1984yesterday at 10:33 PM

Typing up English language logic into code hasn’t been a job for 40 years.

That’s what people mean by this.

theflyingelvistoday at 12:44 AM

The real insult… “That’s a five minute change”

thisisauseridyesterday at 7:21 PM

Almost all of us would agree if this was just better articulated:

"Code was never the hardest part."

There you go. Doesn't imply that coding is easy.

willjpyesterday at 9:57 PM

Agreed.

"Code was never the hard part" is the dumbest thing I've ever heard.

Making something work, has always been easier than making something someone can read. AIs also, seem to benefit from clean abstractions, appropriate code reuse, etc. (coincidentally, the thing they suck most at).

It's the same thing with english, except that english doesn't have a compiler. Comprehension is the only measure of communication if you're talking about a human language. Programming shares the same goal. Both, often also need to do something else useful. Programming, and lawyering, have a lot more in common than people think.

We're creating a culture of sh*tting on codebases so the highest paid execs can cash out when things get tough. It isn't a new phenomenon, but it's one we'll need to endure until enough people lose enough money that the accountants start taking notice and start saying "you should be more careful, or you'll lose your shirt". In the interim, the people that care are working insane hours to try to protect the things they believe in from inevitable doom, and risking being fired to do it. There is a balance to both sides, and the jury is out on whether or not anthropic/openai/alibaba can save us from the future we are creating now with short-term goals.

happytoexplainyesterday at 6:19 PM

This is dishonest. Nobody said "coding is easy" in a void. They said "code isn't the hard part" - in the context of LLMs. The obvious implication being that the actual speed of writing code wasn't the bottleneck. The implication is not that it's easy to think of what to write, or that any of the other parts of coding are easy.

efficaxtoday at 12:26 AM

writing code is hard. building a successful product is harder, and is only sometimes a consequence of the code.

wesselbindtyesterday at 7:27 PM

> If coding is easy, how come programmers were in high demand, and have demanded large salaries for years (even before ZIRP)?

There's probably a lot wrong with the "coding was never the hard part" take, but this quote right here shows that the author is not willing to engage with the actual idea that folks who say this are espousing. Because if the author was discussing these ideas on good faith, he'd know that the answer is obvious: there's much, much more to a software engineer's job than just coding, and that other stuff is very hard to do well, and people pay for that.

Again, I'm not saying the "coding was never the hard part" folks are right, but I really, really hate straw men.

toyesterday at 7:32 PM

do you know how many eBay clones were out there after Ricardo? how many people built twitter clones? building the website was never the hard part, making people get to it and use it was always the costly and hard part. nobody talks about embedded device programming when they say code was never the hard part.

jdw64yesterday at 6:27 PM

No, code was always difficult.

To be precise, it depends on the domain. The people who could actually write algorithms or core implementations were always a minority. Programmers like me mostly did copy-paste from Stack Overflow or assembled libraries.

It's not that code wasn't difficult—it really was.

In CRUD apps, about 70~80%of the work was building the same thing over and over, so once you got familiar with it, most of it was repetitive practice. But the number of people who could actually create something new was always small.

Most business programs had issues that arose in the application stage, the application layer. In this application layer, only a very small portion involved difficult logic. Most of it was just applied.

The problem is that people often romanticize the lower layers beyond their own, compilers and low level systems, calling that 'real programming,' and in doing so, they make programming seem harder than it is. In reality, the coding that most people make money from is mostly at the abstracted layers. The infrastructure beneath those layers is owned by giant corporations. If you work at one of those giants, that's fine. But beneath them are countless consumers paying those giants, and the coding that targets those consumers isn't that difficult.

In the end, whether coding was difficult or easy depends entirely on which layer you're working in.

What's certain is that coding was difficult, and it still is.

show 1 reply
dave_sidyesterday at 7:26 PM

Coding is just a small part of a modern software engineers job. And some may think it isn’t the hardest part.

threethirtytwoyesterday at 5:54 PM

That quotation is coming from programmers themselves.

Managers and execs aren’t saying this it’s the programmers and coders themselves making the claim that coding was never the hard part.

It is still an insult though. It’s an insult to themselves. It’s the lie all programmers including me tell themselves as reality itself insults us. Coding WAS the hard part.

That’s exactly what we were good at. Now our skills are getting owned by automation. How do we face reality shitting in our faces? We lie. We fabricate a reality that’s more acceptable. We frame our environment in a way that still validates our existence. If AI has invalidated all of my programming skill then I need to find something else to support my identity.

al_borlandyesterday at 10:35 PM

It’s not that coding is easy, it’s more that coding was not the bottleneck in the process at large organizations. It was (and still is) getting agreement on what to build, meeting with stakeholders, and dealing with the ever-changing priorities.

A lot of people enjoy coding, it’s the rest of the job they don’t like. That’s why it feels hard.

If a tool was going to come along and automate away a huge part of a programmer’s job, I think most would want that tool to eliminate the meetings, ambiguity, scope creep, and administrative work… not the coding itself.

My best days at work were days with nothing on my calendar, when I could just put on some headphones and make something. At the end of the day I felt like I accomplished something and had something I could see and use to show for it; I finished the day happy and energized. Contrast that with a day full of meetings, fire drills, and busy work, where at the end of the day I’m mentally and emotionally drained, wondering if I should quit to stock shelves at the local grocery store. Which day sounds “harder”?

I don’t know about where everyone else works, but defining the details of what to build seems so hard that no one actually does it, so it falls on us as we build things. During one project I got a directive from the CIO (which has only happened 1 time in 20 years) to get what I was working on done in 4 weeks. I made all the decisions myself when it came to the details and had something mostly working in 2 weeks (I skipped all meetings and any other distractions during this time). Several months later, the bureaucracy came into play. The principal architect on the project, who I never talked to before the CIO told me to get it done, finished his design and some details needed to be worked out. One such detail was a port list. It took 4+ months of meetings to get that done, and it still required constant tweaking after that for another year. There was a half dozen other things like that in the same project. So yeah, the initial code was pretty quick and fun to write, and then it was followed by 2-3 years of hell, that probably should have been worked out before we started coding. I ended up having to go back and re-write a bunch of stuff to align with the design that was decided on over a year after the deadline the CIO gave me. In most cases, I think the updated code is worse, as the bureaucratic design creates a lot of operational work that my original design avoided entirely, but I digress.

YuukiJyoudaiyesterday at 11:40 PM

Well written. I completely agree with you.

bvcpyesterday at 9:32 PM

interestingly ai has reignited the craft of performance and efficiency in programming. overall in the macro timeline i think the profession is going to be in a better place

petefordeyesterday at 6:33 PM

I feel like you're getting hung up in semantics such that your essay doesn't say the obvious: coding is "easy" relative to confidently knowing how and what to do next at every stage.

The comparison does not imply that coding is an easy thing to do, just that it's easier than being really, really good at the bigger picture.

What Carmack did wasn't hard because writing C is hard.

jeffafyesterday at 10:49 PM

Chainsaw isn't better than the lumberjack.

doubleorsevenyesterday at 6:57 PM

I always said programming is 80% thinking and only 20% coding.

nothing has changed since then.

PeterStueryesterday at 7:01 PM

Business has detested IT forever. It is basically considered blue collar work they felt held hostage to as it was 'brain' based instead of 'muscle' based, and it threathened to expose the grift of clueless "management" (not all is). They yried to placate with CTO, and l created tech diluted CIO and CISO titles for themselves, but the fear and loathing is as strong as ever.

firebotyesterday at 5:40 PM

> If coding is easy, why is software so damn buggy?

Debugging is hard.

show 1 reply
dismalaftoday at 2:06 AM

2010 - "Everyone can learn to code, come work at my startup."

2026 - "Coding was always hard, please don't lay me off."

gopher_spaceyesterday at 6:00 PM

> I don't mean to imply there are no developers that simultaneously care deeply about the craft of software development and really empathize with the customer. I do believe they might want to see a professional about a split personality disorder, tho.

This is a specific attitude I try to beat out of juniors. You will not be dismissive of the point of this exercise.

fantasizryesterday at 7:19 PM

whenever someone says this I assume they mean a crud react app which is a small part of what 'coding' encompasses

kristopolousyesterday at 7:33 PM

long said that success is 1% idea, 9% implementation and 90% other stuff like marketing that I don't care about.

woodruffwyesterday at 6:46 PM

It seems to me like two things can be (and are) true: programming can be hard in absolute terms, and is also the easy part of the thing that we call “software engineering.”

austin-cheneyyesterday at 8:12 PM

Code was never the hard part

I roll my eyes at this when thinking about the poor JavaScript developer that cannot write code without things like jquery or React.

If code were so easy there wouldn’t be so much bloat and slow garbage in the world.

bloppeyesterday at 7:09 PM

This is the kind of thing where everyone just talks past each other because "coding" can refer to a ton of different things. I think we've all had the experience of having to write large mechanical boilerplate or refractors which was definitely highly automatable coding. I think we've also all has the experience of being utterly dismayed at how hard it is to write certain logic, especially with LLM "assistance". I've spent the last couple days marveling at how consistently fable introduces race conditions into a complex state machine I'm maintaining. Coding can be hard, or easy sometimes

plasticchristoday at 12:26 AM

Shots fired

holyknighttoday at 12:18 AM

In which world are you living? For most programming jobs, the code is absolutely the easiest part of the whole thing, which is just gatekept into absurd bureaucracy and ceremony. Even if coding became 100x faster with 0 errors tomorrow, the software in most companies would still move at a snail's pace.

thomasjeff1yesterday at 3:03 PM

Exactly! Try reading a large C code base.

🔗 View 38 more comments