Hacker News new | ask | show | jobs
by CraigJPerry 535 days ago
Writing code is easy when you have a spec to work to. It more or less writes itself - see <30second submissions to Advent of Code last month (likely AI - but it doesn’t matter how it was written for this point; just that it was written and solved the spec).

Getting that spec is damned hard.

What do i mean by spec? Basically are you going to build the right thing. A hard problem - if you think it’s easy, it more than likely means you didn’t understand the problem.

The reason pinning down a spec is so hard is because at the macro level, there are very few actual solutions - mostly only trade-offs are available to work with.

4 comments

>Writing code is easy when you have a spec to work to.

In my forty year career I never saw a spec that was anywhere near accurate or complete.

Sorry, I think that's delusional and if anything maybe only applicable to the very narrow and simple problem space. Nobody writes out the "spec" for the next best inference engine or the next best distributed database.
The senior needs to figure out that the next best inference engine or the next best distributed database are what needs to be built in the first place (or beating about the bush as you said). That’s hard. Lots of conflict to be explored.

Once it’s been captured what needs to be done (spec) enabling the rest of the team (execute) is comparatively easy.

Fail to spec, and the team can’t execute. They don’t know what needs to be built.

> Writing code is easy when you have a spec to work to. It more or less writes itself - see <30second submissions to Advent of Code last month (likely AI - but it doesn’t matter how it was written for this point; just that it was written and solved the spec).

I'm sorry, but it's hard to take your comment seriously when your definition of "spec" is AoC puzzle.

What is it specifically about an AoC puzzle that makes it not a spec?
Mostly the spec is crap and must be rewritten so…
Planning is very useful even though things never go according to plan, honest.
Also who writes the plan is completely disconnected from reality, so the plan is completely useless.
The context of this conversation is the actions of a senior developer. If the senior developer allows someone else to write the plan in isolation (thus allowing a completely useless plan to be devised), then they’re by definition of the senior role, not a senior developer, right?

A senior developer is not a passive position.