Over in my other blog, mathcoloring.wordpress.com, I’m doing a number of posts about my design thinking and progress and problems/issues I’m encountering. And no one is reading them partly because if anyone looks at that blog my types of that type are really boring. But doing the posts still helps me.
It took me a long time to get used to having to submit to design reviews (gracefully) and realizing their value. It’s hard to be subjected to a lot of questioning and keep your personal instincts of viewing that as “criticism” out of it. The review really does help you and the questions asked, sometimes rather pointed, prevent mistakes that would be painful to discover after you’ve built the thing and THEN discover it’s wrong.
I wasn’t very good at submitting to reviews myself because I hadn’t learned this lesson. The “help” others were giving me seemed too much like criticism and I was too thin-skinned about that. But I learned my lesson once when I was discussing a review with one of my hardware engineers. Now I have no background in hardware, but eventually found myself managing hardware projects. At the time (1970s) hardware, at least at HP, had fairly rigorous reviews while software largely didn’t. So my background in software hadn’t prepared me, as the grunt engineer, for reviews.
Anyway my hardware engineer was subjected to a withering storm of questions, actual (but helpful) criticism, “suggestions” and in some case downright skepticism whether the whole thing would work. This went on for the better part of an afternoon. When it was over I took my engineer aside and complemented him for remaining calm and carefully addressing the points his peers had raised. But he had a simple answer, “what if I didn’t listen, built $10,000 worth of prototype circuit boards that didn’t work, and had to come back and tell you I’d wasted that money (and the considerable delay, in those days before modern rapid prototyping techniques) – what would you be saying in my review?” Good point! A lot better to have your mistakes (or failure to consider something) noticed when the design is still on paper than months later after expensive fabrication.
So I began to institute more rigorous software reviews patterned on the well established hardware review methodology. And then, when I was the subject of the review, I forced myself to take the attitude my hardware engineer taught me. And in the many reviews I’ve had since I’ve (mostly) succeeded at getting ruffled when hard questions were asked.
See, really the point of the review is not so much that your peers will find your mistakes. Instead it’s knowing they will find your mistakes, which is embarrassing, and instead finding them yourself, by very careful and impartial evaluation of your design before even going to the review. The review process makes you be more careful and thorough. If you’ve done this right your peers will be hard pressed to even find any points to raise! And so the purpose of the review has been accomplished.
Now recently I’ve been following my favorite skeptic, Orac, denounce the granting of a PhD in Australia for a thesis that was total BS. He was contrasting the process he went through for his thesis defense. You don’t just walk in that room to be grilled without being thoroughly prepared. Not only would your thesis not be approved (and your degree delayed) by shoddy preparation but it might even jeopardize your position. So you work hard, for months, and with a lot of mentoring by your adviser, so nothing that happens in the defense is really a surprise and you have an answer for everything.
And again that’s the point. Knowing you’ll be subject to careful examination means you’ll do that same examination, as best you can, of your work before the thesis committee (or peer review) even happens. And, of course, that is where Orac finds considerable fault with the Australia university for ever approving a BS thesis as it’s not just the crappy thesis itself that is a problem, but really undermining the entire integrity of the whole university and PhD process.
So what does this have to do with my title and my other blog? The answer is, while a bit more casually than a design review (or especially thesis defense), I’m using the blog, exposing me (and my mistakes) to public scrutiny. It doesn’t actually matter than there isn’t really any scrutiny. Just as long as I think there might be and some reader would scribble some comment about what a fool I am and how stupid my ideas are forces me to think things through (a bit more) before launching either into the coding or even just making claims on the blog. I’m using a virtual audience in place of a real one.
Now I do this because during my professional life, now ended, I did work in the context of a team. The architectural reviews I went through were a terror. The chief architect was very smart and very knowledgeable about our technology and could ask some really tough questions. And my peers, the other architects, while they are purely supposed to be “helping” me are also my competitors (for promotion someday to chief architecture or CTO; or just for budget money, or even just for ego). So they could be tough too and not always for the best reasons. So before any review I spent many days, not just on preparing my pitch and all my Powerpoint slides, but really making sure I’d dotted the i’s and crossed the t’s, hoping I got them all and no one would find my flaws.
While I’m retired now and not part of a team. I work on projects for fun. There isn’t any club that might act as my reviewers. But the issue is still the same. If I just get too enamored with my own ideas and start building the thing I may discover I’ve wasted a lot of time going down the wrong path. And it’s my time and my “money” if you will I would have wasted.
So while my design posts may be totally boring reading for casual visitors to the blog they are a valuable effort for myself. So thank you, Dear (nonexistent) Reader for imposing this discipline on me. A blog post is a lot less effort (even if it’s crap and gets discarded) than weeks of programming. Even in this blog, which gets a bit more attention, I put more work into posts (it might not seem like it) than either casual conversation and/or emails. Knowing someone might read the post and think “what an idiot” keeps me (a bit) more careful about what I write. Not much help with the volume in the post but perhaps the quality is a bit higher.