Stale Thoughts and Implementation Quality
So, if I have a thought, and I leave it around for a while, it gets stale. By that I mean it gets removed from the context it came from. But when I leave it around for a while, I like to make sure I include enough context or contextual reminders with it such that when I come back to it later, I can know what I meant.
Unfortunately, I don’t always notice those reminders when I ought to.
Take, for example, my recent Beyond Creative and Critical: Synthetic and Applicative post. What was missing from it? The Applicative part. I’m getting forgetful in my old age.
So I’ll tend to that point now.
In Systems Builder there is mention of
3 types of people in the Web world: users, visionaries, and implementers
Users are people who haven’t read Dave Winer (found via Web of Ideas) saying the following:
If you’re part of an audience, run run run get out of there. Do something with your life. It’s passing you by. No more audiences. No more bedtime stories. Got an email that said if they’re shooting at you must be doing something right. Go do something worth getting shot for.
Visionaries got discussed with the whole synthetic thinking skills thing in Beyond Creative and Critical: Synthetic and Applicative.
Implementors are the people that need the thought process that I forgot about - the Applicative part. The synthetic thought can take the lessons of the analytical and turn it into a vastly improved creativity, but to take what was created, as wonderful and as perfect as it might be, and to see how and, more importantly, when, to apply it, is the hallmark of applicative though. When the number of types of situations and the number of things that can be applied and ways to apply them are relatively small, imitation and trial-and-error suffices. However, when there are an infinite number of ways of doing something, the synthetic processes are great at deciding what ought to be done, taking into account the vast array of things that could cause problems - also known as “the big picture”. Yet taking what ought to be done and then doing it, that’s the job of the implementor and is where the applicative thought process comes in. The line between synthetic and applicative is not a firm one, because an implementation is an application of synthesis at a lower level - the system being built gets designed and redesigned at each successive level of design/implementation until it finally actually is implemented - and if there are human components involved, it gets designed and redesigned in their minds every time they talk about possible “future directions” and whatnot.
Good implementations, when done right, mean the implementor needs to understand the vision that the visionary had. Applicative thought thus needs to have a similar capacity for understanding as synthetic thought, but the nature of the creative aspect doesn’t need to be the same. Sometimes it is just a matter of different domain knowledge and awareness of different tools. Sometimes it is an entirely different skill set or personality - an advertising person or a psychologist might do well to design an automatic teller machine, but a programmer ultimately must implement it.
Implementation quality is, of course, measurable in a variety of different ways. It might be a wonderful implementation of a horrible design. Or vice versus. A person with highly developed applicative skills will not willingly choose to apply them to something that has not been developed by a person with decent synthetic skills. Case in point Paul Graham in talking about Great Hackers has this to say:
You have to insist on the right things. Which usually means that you have to be a hacker yourself. I’ve seen occasional articles about how to manage programmers. Really there should be two articles: one about what to do if you are yourself a programmer, and one about what to do if you’re not. And the second could probably be condensed into two words: give up.
I would, in fact, define implementation quality as more of an aesthetic than anything else - one that can only be appreciated by people that have cultivated it. All sorts of implementation - not just software.
Clearly, however, the implementation of my stale thought management leaves something to be desired.
You picked a couple of odd (to my mind anyway) quotes from Dave Winer and Paul Graham. Re Dave Winer’s “user” category, in that audio post where I got it from he was referring to anyone who “uses” a website or app. So I don’t think the “audience” quote is the right context for when he talked about the “user” category. Re Paul Graham, well to be honest I dislike that particular quote from him. I don’t think you need to be a programmer (or implementer) to lead or manage other programmers/implementers.
Re implementation quality and your quote: “I would, in fact, define implementation quality as more of an aesthetic than anything else - one that can only be appreciated by people that have cultivated it. All sorts of implementation - not just software.”
I agree with the sentiment, that you have to implement things. And that applies to visionaries too. But that’s where I think the Paul Graham quote is not right - visionaries and implementers have kind of a reliance on each other. Visionaries need implementers to, well, implement their visions. But implementers also need visionaries for their ideas and synthesis. Of course the boundaries are very fluid - one can be both a visionary and implementer, with different scales and so on. eg Dave Winer is both (and very successful at both too). But a person like Mitch Kapor or Marc Canter is mostly visionary - they provide leadership and other skills to the implementers.
Interesting post…