Note: Part 4/5 in a series documenting my work for a Django project in the Spring of 2017. This was part of the final class for the UW Certificate in Python. All files (including these blog posts) are on GitHub.
⇐ 3: Leap of Faith | 5: At the End, Begining ⇒
4: The Map is not the Territory
This is the largest and most complicated software project that I have ever done. While my ‘most complicated’ is a pretty low bar, it means that managing my own expectations is a big part of managing the project. This territory is very new to me and I often catch myself lost in awe - and fear.
I spend a lot of time stuck on problems. A lot. Things that seem like they should be simple don’t work the way I expect them to. As my (apparently) unrealistic expectations are often built from what I feel to be a perfectly rational interpretation of the material I have at hand, getting past the problem often means finding some missing context - ‘this would have worked if I had first done this other thing first’ - that requires more reading and more experimentation.
Inevitably sessions end with a question, or tangled in some non-functional code. So most of my time away from the project is filled with anxiety. I’m not thinking about structure, form or design, but of how I’m going to get past the latest ‘unsolvable’ problem of the day.
In this unfamiliar country, having a web manifestation of the project becomes immensely reassuring. Code that creates a web site you can see and interact with, if only on my local machine, is always firm ground to stand on.
Git becomes a vital measure of incremental progress. Each commit is a small step forward into this unknown world; not of any known metric, to be sure, but simply as an inexorable unit of positive change.
I don’t want to cover distance as much as I want to understand the distance I am covering. I stumble over the gaps but figure out what’s missing, add it to the map and move on.
Slowly the territory reveals itself to me.