Coding is when we're least productive

codemanship.wordpress.com

88 points by vinhnx 4 days ago


shalmanese - 3 days ago

At the end of the week, if you suffered a hard drive crash and all of your recent code got erased, how quickly could you recreate it? That's how much of your week was spent coding. The rest of the week was spent transforming you into the person who could code the thing you coded.

Contrast this with a chair maker. If at the end of the week, their chair got thrown in a woodchipper, some significant fraction of the next week would be in unavoidable labor making the exact same chair.

This is the fundamental difference between these two activities that gets abstracted away when we both think of them as "labor".

Nevermark - 4 days ago

Coding is when we carefully write down our solution to a problem.

(Manager pushes paper, pen and a list of problems in front of you and demands, “Now write, just write! And fast!”)

assaddayinh - 3 days ago

The problem is not with code, its with management having no real perception of the problemspace they inhabitate and how they damage and polute said space.

The myriad of "nocode" aka i dont want to deal with the whole complexity solutions tells you what its really all about.

How do you get a caste todo its job when all they do is refuse the call to adventure, smear responsibility over hierarchy and then demand tools to shirk the job they refused todo in the first place?

cjfd - 4 days ago

E.W. Dijkstra: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight".

Personally, I think, much of the art of programming is to do as much as possible with as few lines of code as possible.

polyamid23 - 3 days ago

„Managers aim to maximise the amount of code their dev teams produce, and so they maximise the time devs spend writing code.„

Never seen that happen. Do not know anyone who experienced this. Where and who are those managers?

gethly - 4 days ago

Coding is the 5 minute result for an hour of thinking.

nixpulvis - 3 days ago

First of all I just want to say, I completely agree with the main point of this post, and argue for more full-lifecycle discussions on a regular basis at every job I've had.

With that said, I partially disagree this block:

> When I’m heads-down-coding, I’m not seeing, I’m not asking, and I’m not learning about the problem. To do that, I have to get up from my desk, go to where the problem is and/or the people I need to ask are, and have a conversation.

There are two types of problems when developing software. The problem of figuring out what you want to do, and the problem of figuring out how to do it.

These often impact each other, either because a limitation on what you can do changes what you end up trying to do, or because you learn something new about the use case, like this post describes. But keeping these two problems separated in your mind, at least for a time, is what lets us focus and find solutions.

firemelt - 4 hours ago

this is resonate with me

hnthrow0287345 - 3 days ago

>I’ve seen so many times how 10 lines of code can end up being worth £millions, and 10,000 ends up being worthless.

I don't care how easy it is, I'm not fixing something worth millions when I won't see a penny of that. It's on the business to double check their shit.

soanvig - 4 days ago

Oh, that must be fun to be hired by the client directly... I wish each my programming job was not an ivory tower :(

BrenBarn - 4 days ago

This is one reason I always roll my eyes when people talk about how vim keyboard bindings are so great because you don't have to move your fingers from the home row. The actual action of typing text is a small part of the process of coding.

softwaredoug - 3 days ago

One way hand coding is productive is it gives you detailed intimate knowledge of the code. We’ve all seen someone that really knows a system hear about a bug and say “Aha!” and take 5 minutes to pump out a fix.

A well setup Claude Code, with good guardrails and feedback, could possibly do this (we’ve seen examples of it for sure). But it also might loop idiotically not finding the issue.

testing12_12 - 4 days ago

Coding is the result of intense productivity... or was. Hm.

torginus - 3 days ago

I feel one upshot of AI coding is that people finally recognize 5 layer enterprise architectures for what they are - useless slop whose purpose is to make solutions more 'professional' and complicated to make the people who write them feel smart, inflate costs and personnel needs and sell consulting on how to solve problems with 5x more code than necessary.

The extra code doesn't encode any requirement.

On the other hand, these couple-hundred line, crappy spitballed together solutions that actually still do what is needed (and are usually are hand-written, LLMs aren't known for brevity) are vindicated.

wiseowise - 4 days ago

So the only anecdote you could find from your long career is one example at the start of your contracting? What the hell with all those low quality shite talking about code this, code that?

> Founder of Codemanship Ltd and code craft coach and trainer

Ooh, it’s all coming together.