logoalt Hacker News

mrkeentoday at 5:52 PM4 repliesview on HN

The answer to all these "if coding is easy" questions is that coding isn't programming (to put it in Lamport's terms).

Encoding your ideas into a programming language is easy. Understanding that your ideas are bad is hard.

You have clients with multiple devices connecting to your backend simultaneously, while you mediate their interactions with your partner systems. Their versions might not be up to date. It's a distributed system. When was the last time you cracked open a distributed systems textbook?

When was the last time you built a system and stared reality right in face, that is: - can't trust your clocks - pick 2/3 of CAP - exactly-once delivery impossible - the code will need to be altered and released without downtime - hackers will try to exploit you for fun and profit - your manager doesn't want you wasting time getting the above right

Coding is the easy bit.


Replies

varjagtoday at 6:42 PM

Nope, coding was still the hard bit. Every failing programmer would jump into architects or prod management but not the opposite way.

show 3 replies
ozgrakkurttoday at 9:34 PM

> Encoding your ideas into a programming language is easy.

This is still difficult. Sometimes the programming language or the programming methods you want to use effect how you desing the system on an abstract level.

d0minetoday at 8:58 PM

LLMs can write TLA+ models just fine. It can help even with small mobile apps. Surprisingly, simple TLA models were able to find design/workflow issues almost in every of a few vibe-coded apps I've tried on vacation.

skydhashtoday at 6:42 PM

Those computing ideas (like distributed systems, concurrency and task scheduling) can even be found in even a single program/system. They are often entangled with even broader concepts, like visual layouts, security (authentication, authorization), communication and encryption, control systems, signal processing,… And those are often accidental complexity.

The essential complexity can be easily resolved by talking to domain experts. You will get a nice requirements document afterwards. That’s when the engineering and management concerns appear.