OK. Here goes nothing.

I had a conversation with someone I know about what I wrote, and why I wrote it. Their comment was that without giving any explanation as to why I wrote what I did, the whole thing just comes across as arrogant and mean spirited. I think it's worse than that: the cumulative effect of a number of different remarks, that I had thought of as distinct, is one of a sustained, vindictive attack on the whole Martin clan and the horse they rode in on. Now, I could say "that wasn't my intention", but it doesn't matter very much what my intention was: how it comes across is how it comes across, and for that I can only apologize.

More specifically, I have absolutely no reason to doubt that both Martins have lots of genuinely satisfied customers. Also, with regard to the thread I linked to, now that I've done a spot of freelance consulting myself (even introducing the concept of unit testing to a client) I'd say that "consultancy" is a fairly broad concept. I'm still uncomfortable about the "hired gun" aspect of it, but I now know enough about that world to know that I know very little, and so shouldn't be making sweeping statements about it.

I'm aware that what I wrote shows me in a bad light. I could trying to clarify points badly explained, dispel unintended implications, and backtrack on exaggerations and plain mistakes. But I won't. The light is going to get worse in two paragraphs' time.

[Incidentally, you know when someone says "I'm sorry, but..." and you think to yourself "That's not really an apology"? I'm about to do something like that. I'm sorry. But I'll try to redeem myself in some other way later on.]

Mr Martin said that my tone was virulent. Even allowing for my not having explained myself very well (or at all) this is certainly true. I didn't notice at first how much anger there was behind it. It took me by surprise. What's behind the anger? What's always behind anger: pain. For some reason, something hit me in a really, really sore spot. Even though on the internet no-one can hear you scream, they can read the stupid things you write in the heat of the moment. So, yeah, there's a large element of lashing out here: but if I elaborate a little bit, perhaps some relevance to the matter in hand might become apparent.

Here's a key bit of context: the other year I was on a project in which I may have made mistakes that put lives in danger.

When I say "may" I don't doubt that I made mistakes. The nature of the work, the poor usability of the tools being used, meant that even a momentary lapse in concentration could easily result in a slip which would either go undetected or necessitate time-consuming rework. Problems tended to snowball. It would have been difficult work, even if it weren't being done in a noisy office. My uncertainty regards the extent to which the data we were dealing with was safety critical, and how much further scrutiny it would be subject to: I heard different things from different people, and don't know who to believe. (The truth can be a complex thing to unravel, even without people acting to cover their backs or to save face.)

The real mistake I made, however, came long before, and isn't one that can be easily blamed on circumstances. For a long period before I had become fatalist, and for the sake of a quiet life I'd been too cowardly to push back against things that I could see were wrong. It got to the point where it just seemed par for the course that I ended up with a computer that seized up on a daily basis.

Extreme stress is an interesting experience, although one that's probably best enjoyed when you're not doing anything important at the time. (Mind you, the warnings you get on packs of beta blockers are scary, especially for an asthmatic like me.) A complicating factor at this time was a bout of naive optimism: that if everyone were less coy about problems at work then it would be possible to tackle the root causes, that one should be the change one wishes to see, etc. Crazy, I know. Anyway, I fear I'm digressing.

I'm trying to bring this around to my first beef with Mr Martin, which isn't really a beef with Mr Martin so much as the habit of devaluing "home grown" knowledge in favour of that which is "bought in" (books, training courses, certification, even blog posts). The thing is that, as far as I can work out, some lessons have to be learned the hard way: even when a piece of second-hand wisdom is true, it does no good without a visceral understanding as to why it is true. There's not much point in a company being well informed about good practice if it then says, in effect: "none of the software for this project is being delivered to the customer, therefore the normal principles of software engineering don't apply."

The other thing I wanted to say about bought in knowledge is that there is always more to be had, and always someone trying to sell it. (At times it can seem akin to the situation with theories in social psychology, as described by Michael Billig when he said that "psychologists treat theories like toothbrushes: no one would wish to use someone else's.") In my experience, constantly chopping and changing the ways things are done, in pursuit of some best way, can be enormously destructive. Much better to have a reasonably good way, and stick to it, perhaps tweaking it now and again in the light of experience. Apart from anything else, tacit knowledge gets embedded in the way things are done, and can only really be picked up through doing: its "knowing how" rather than "knowing that", skill rather than information.

This sort of brings me on to why I didn't address Mr Martin's essay. The reason was that it seemed rather lightweight: the diagnosis was, as far as I could see, that if people didn't sufficiently value software development
expertise then it was because no-one had pointed out to them that software development is a skilled activity and that the skills can't be acquired instantly. Surely, I thought, it is too obvious to be worth saying. Moreover,
when someone says something to obvious to be worth saying, surely they must have an ulterior motive. Hence, in my ire, I assumed Mr Martin must be trotting out easy pieces as a form of self-promotion.

The are a number of grounds for saying that this was stupid of me, but one of them is that what Mr Martin said wasn't, in fact, too obvious to be worth saying. Sometimes things are worth saying even when they are obvious: what is obvious to one person isn't obvious to others. Moreover, I should have known this from my own experience. (There is a software company I know where the - now retired - HR manager said that "technical competencies" were relatively unimportant, as anything technical could be picked up on a short training course.)

Hmmm... I had a bunch more stuff to say, addressing various other aspects of what I said, going into stuff like the nature of reputation, disappointment as a function of exception, and whatnot. But I've rather run out of steam - which is probably for the best. Perhaps at this point I should attempt to make good on my promise to redeem myself by making a more substantive contribution to the debate. (Yes, I know no-one's going to read it, so it doesn't really count as a contribution. Humour me.)

Oh, hang on. I've just discovered the limit on comment length.