- How I Work – Preaching And Practicing
A respondent asks, "Are you always able to practice what you preach?
I don’t mean intentionally dropping but unintentionally as your mind is sloppy. I have great difficulties in applying 100% of my "knowledge" 100% of the time."
Sometimes questions open up huge areas with lots of issues and subtexts and angles, and this is one. It’s too big to fit in one or two tweets.
First, the direct answer: Oh, hell no.
I am definitely not always able to practice what I preach. (I’m excluding externalities or conscious intent.) The cause can be any number of factors rooted deep within my human-ness and, in truth, far outside my agency.
"Always" and "never" are words that are about doing the same thing every time without exception.
There are things in the world that always/never. We call them machines, we use them a lot, we value them greatly. I don’t hate machines, I quite like them. But I am not one of them.
I am a kind of animal, what we call a human, and I am a long ways away from being a machine.
If you soften always/never — a semantic trick, because they’re words like "unique" or "pregnant", the binary either/or-ness is built into the definition itself — there are aspects of my animal behavior that come close to always/never.
Those aspects most nearly always/never in my human-ness don’t come very close to any simple machine-like regularity. We take it for granted that our hearts work that way, or our lungs or other autonomic processes. The fact is that even that level of machine-ness is a myth.
I once worked briefly on a heart monitor for hospitals. Take a heartbeat, run real-time FFT’s on it, identify crisis. As you’d expect, crisis was associated with very high variability. As most folks would not expect, crisis was also associated with very high consistency.
I’m realizing I don’t have a single coherent summary explanation of all this in me just now. Instead, let me throw out a few sparks, in no particular order.
1) Mixed Systems Involving Humans
In mixed systems involving humans, machines, and procedures, when things go wrong, it is commonplace to point the finger at the human. Humans make mistakes, and we can find them, then — regrettably — stop thinking.
The humans make the mistakes by breaking the procedure, must be their fault. But. What we don’t account for in these analyses is the extraordinary extent to which humans don’t make mistakes by breaking procedure.
They break the procedure and they restore the system to health an amazing number of times. So much so that Sidney Dekker argues that, in tripartite systems of human-procedure-machine like flying airplanes, the humans are the primary source of safety, not danger.
2) Weakness of the Rules
Without departing from the rules, one can never discover the weakness of the rules, can never improve them. Machines aren’t known for their capacity to come up with better answers. Humans are. (Note my very careful avoidance of "never", please.)
I’ve been an professional software maker for four decades. There were a lot of rules then for programming. If I applied those rules today, I’d be ignoring nearly everything we’ve learned since then, the very rules I’m supposed to be always/never’ing today.
3) 100% of Knowledge
100% of my knowledge is a) not 100% of our knowledge, b) not 100% of what can be known, c) not 100% right, d) not 100% accessible to my conscious will. Binding myself to it would be a strategic error of significant size.
4) Resource Efficiency
When we do have a perfectly reliable deterministic procedure for handling a problem, we have the rather wonderful capability to make a machine that will do always and only that. Using humans for such rigid tasks is spending one’s resources very poorly.
Much is made, in some strands of the movement, in the thread just now that launched this muse, of discipline. There’s a role for that, to be sure, but I believe it is dramatically overstated.
The central concept of "discipline" is getting people to work against — at least above and beyond — their nature. Discipline leans away from human-ness. I find that many such leanings-away are actually failures of intellect, not successes.
When I’m working, I do various things, the which I write and share about. The ones that work best, the ones I do that are closest to always/never, those are exactly the ones that fit most closely the nature of myself as a real body in a real world with a real human nature.
TDD isn’t discipline to me. TDD feels good while I’m doing it. I don’t force myself to it, I’m drawn to it. TDD leans in to me, not away from me.
Similarly with pairing/mobbing, CI/CD, and most of the rest of my shtick. I don’t do these things because I am a giant striding across a battlefield wielding my iron discipline and my steely will. I do them because I like them.
Our trade’s naive focus on and trust in and advocacy of forcing people to do things that don’t feel good or right to them is a major target for me: far from thinking it’s a key part of the solution, I believe it is one of the most central explanations for the problem.
Heh. Listen to me. Can you tell respondent’s question has touched a tender spot? Ya prolly shoulda sat down at the other end of the bar. 🙂
Though that long list wasn’t a coherent argument, I’ll try to wrap up with a summation and a piece of advice.
Summation: I’m trying to preach what I practice, rather than the other way around. I value in myself the things that only I can bring to the table, the human, the variable, the embodied, the improvised, the mindful.
Advice: Accept that you are not a machine, then value it, then learn to take advantage of it.
I’ve come to say this quite often and will say it again, it’s a joke but it’s not.
I only have two always rules. 1) Always suspect "always" and "never". 2) Always put the cornbread at the bottom of the bean-soup bowl.
Listener Support and How to Be On the GeePaw Podcast
If you love the GeePaw Podcast, show your support with a monthly donation to help keep the content flowing. Support GeePaw Here.
You can also show your support by sending in voice messages to be included in the podcasts. These can be questions, comments, etc. Submit Voice Message Here.