document

You know, I've spent the last week or so for the most part, writing documents about the work I have been doing for the past ten months. Wow, it doesn't seem like that long! Since its inception about a year ago, until now where I am still months away from completing it, my project has generated an incredible amount of mental paperwork. When I wasn't working on bringing out my first product, or doing the many other things that I do, I was coding, soldering, testing, trying and learning. All with the hopes of making the best small lighting board in the world. Until now all of this effort has been represented only by my code and circuit drawings, and Tyler's mechanical drawings. All of these bits and pieces carry with them a slew of words, thoughts, arguments and resolutions. Hidden behind boring lines of code is a vision, a spark of an idea desparately wanting to be realized. Each detail is deliberate, each part of the design carefully selected from many that were thrown away. There is a conversation behind everything, a frantic late night email when a solution hit, a scream of anger when a week worth of work needed to be started over.

In the heat of the moment it's fairly easy to ignore all of these things. Each day I awake and start plugging away, unless there is some other item of business to attend to. I work into the evening unless my friends distract me, because I can see the light at the end of the tunnel. I can feel hope that the most important thing I have ever done is starting to come together. This is the time I've been waiting for my whole life: to invent something new, and to show the world that my ideas mean something!

But I really didn't start to think back on my past year until last week when I started to write documentation about all this stuff. It gave me the urge to take a break and come here to write something creative. But it also made me realize just how many little nooks and crannies I have built. When I started to go back over my work to write down how it all works, I started to notice all kinds of things. Some of the things I saw surprised me at how well thought out they were. Others were just plain broken. Some parts I had totally forgotten how they worked, and they needed repair, because they were not completely finished. It was like walking through a time tunnel into my headspace many months ago. Code is the sheer essence of thought of a programmer. There are no lies, and you can't pull any fast ones. What it says is what it does, and that's all there is to it. If you can't understand code later on, you're in big trouble. If you write misleading comments, you're in bigger trouble. And if you need to do something funny, make a note of it, otherwise a well-meaning you will break your little hack six months down the road!

Documentation helps us understand what we've been up to. As much as I need to write my ideas down so that other people can learn what I have made, I am learning a lot about my own work by trying to organize it in a linear way. Code, and many other types of work are inherently non-linear. There is no beginning, middle and end. Instead it is a twisting maze of interconnected parts, none of which resemble anything unless you look at the whole thing from a distance. That's the challenge I have been feeling as I try to explain everything I have done. In some ways it's a pain, and very time consuming. In other ways it's quite rewarding because I realize that all the time I've spent has actually produced a sizable thing that is quite a challenge to explain. All the background information is buried deep in my brain, but must be conveyed to the reader so that we're both on the same page. That's the fun, and the hard part of writing documentation.

So, before I get back to work, I guess I should say that if what you are doing seems boring, doesn't look like it's making any progress, or has become so confusing in your brain, take time to write about it. Explain in words what others would need to know to understand your project. I promise that you will see more clearly, and be able to justify the time you spend so much more. Everything seems more legitimate written down, and forcing yourself to linearize ideas is an excellent excercise.

If anything though, writing about what I'm doing has renewed my passion. It was never very far away, but I feel so much more energized and excited now! It's like I'm starting all over again, except that a lot of work is finished already!

Go Somewhere



Last modified: Tue Jul 20 00:46:41 EDT 2004