Hacker News new | ask | show | jobs
by thachmai 2810 days ago
In my experience, not a lot of developers manage to organize their thoughts well enough to write them down.

Maybe you manage to work with only people who can write down their thoughts coherently. But that's the rare exception and not the norm.

2 comments

Consider what programming is, then consider the implications of the suggestion that few developers manage to organize their thoughts well enough to write them down.
That's exactly why there's so much bad code out there. I don't agree with GP that this applies to most developers, but certainly to a depressingly-high number.
"Maybe you manage to work with only people who can write down their thoughts coherently."

This is exactly what I mean with something becoming a dogma when you call it 'xyz driven' programming. You are painting a picture where taking notes while programming is a requirement of being a good programming. I am saying that it doesn't have to be.

Peter Buwalda is a Dutch writer who takes multiple showers a day. He says it helps him overcome his writers block. There is also some science behind this; it turns out your senses will be so busy with the steady flow of sound, the feeling of the water and the fact that there is no visual distraction that you can focus on your thoughts better. He isn't the first to realise this, hence the term 'shower-thoughts'.

So, one could argue, 'shower driven programming' is something we should all do. Installing showers in offices for this purpose or expecting people who work at home to take multiple showers a day in order to focus would be nonsense, but then I could also counter by saying "Well maybe you manage to work with people who can focus without taking constant showers, but that is not the norm."

Ridiculous right? So why isn't it ridiculous to demand that people take notes when programming?

Some of the replies on my comment have been along the lines of 'will someone please think of the children!' with reference to junior programmers. What junior programmers don't need is yet another dogma by which they should 'drive' their development.

It would have been completely different if the 'post' would have been 'Taking notes while programming can be helpful'. That strikes a completely different chord, namely, a helpful one. The word 'driven' does what you demonstrate: it makes people feel inferior when they don't do whatever the given driver is.

demand

Who, exactly, is demanding anything? You're way overblowing what is just a useful suggestion from someone who probably realized that would have been useful earlier in their career, and hence is trying to help others.

It's "log driven" because the logs, when read back, direct what you work on. Making that title to be some sort of mandate is inferring something that, frankly, simply isn't there.

It's surprising how much objectionable you find in what to me is simply an experienced programmer sharing a detail of his personal workflow. Naming doesn't turn something into a "dogmatic principle".
Before I begin again, I grant you that the length of my replies seem to imply that I care a lot. I don't, I just like to talk about semantics and when people raise new arguments, I like to explore the subject some more with a reply. For all I care you will write an article on 'boxer short driven programming' on how you sit around in your underwear programming and think everyone should do it.

"It's surprising how much objectionable you find in..."

It isn't much, it is just the one word that I find wrong. The comment you are responding to is an analysis of the effect of the chosen wording as demonstrated by @thachmai.

The semantics of the word 'driven' here ARE turning the given workflow into something that should be adhered to. If this weren't the case the word 'driven' would have no meaning and could thus be left out. Which would have been the better choice.

Furthermore, if you look at the article itself you can see that the whole tone is in line with my feeling about the title:

"The worst thing you can do is to interrupt what you are currently doing in order to fix the new problem. Instead just write freeMyObject() and don't care, but at the same time, open a different editor, and write:"

This doesn't come across as "Do you ever get distracted while programming by small pieces of irrelevant code? Try keeping a todo list to keep track of little cleanup so that you can come back to them later."

The author seems to think that you are a bad programmer if you don't take notes while programming and cleanup things you find along the way. @thachmai picked up on this and repeated this frame in his reply to my first comment. I got excited by this as it is exactly what I meant.

Words matter.

Workflows being a dime a dozen in both the software industry and all industries more generally, saying that any word makes a workflow “something that should be adhered to” seems like an overstatement. It's absolutely clear that the author thinks it is worth adhering to, however.

“-driven” doesn't imply demand, it implies the center of a given workflow. antirez is stating that this approach (which is more than just taking notes, since taking notes just means “writing stuff down” and says nothing about interruption) boosts productivity, and that it is centered around the process of stashing thoughts and observations without interrupting the present task. He also outlines why he thinks this is the case.

You are mischaracterizing the blog post by underspecifying what it says, then attacking the mischaracterization… I'm not sure that approach tracks with your claim to care about semantics. It's not just words that matter, it's also how they're collected into titles, sentences, paragraphs, documents, and how they exist in their broader context (software industry parlance, in this case).

You are, in turn, oversimplifying what I am saying. 'Language matters' might be closer to what I should have said and in that sense I oversimplified my own words.

This 'article' explains the trivial task of keeping track of todos and separating main and sub tasks. Something that I most people know how to do. 'Centralising' what we do around the written word is what separates us from animals and you find it everywhere.

I find coming up with a name with the word 'driven' in it for such a common thing somewhat grandiose. That is my critique.

Language matters indeed. I guess that if you'd said "I find coming up with a name with the word 'driven' in it for such a common thing somewhat grandiose." you'd not have provoked such a strong reaction, but you didn't. You said note-taking is "frivolous" (which to me suggested you think it's a bad idea!). You don't acknowledge the difference to "just taking notes", which might make it a not-so-common thing.
I for one find myself very curious about this shower-driven programming.

It sounds similar to Rich Hickey's famous concept of hammock-driven development.

Hammock-driven development requires less water, which is good.