Making complex things simple
Here is some thoughts about another base tendency I have. I tend to reduce complexity to base elements. Filtering out the core message from complicated texts, finding good rules of thumb, all those have been typical of me when faced with a new topic. Maybe it's the way I can grasp a new field so quickly. Absorbing all available information, but always filtering out the core important aspects. Many people who get into a new field try to learn everything and all there is to know.... and soon get bogged down or overwhelmed by details. Rading everything there is to read about a subject is something I do too, but I give myself permission to forget the nittygritty details. It's an engeneering virtue my brother once told me about apparently: "You don't need to know everything. You need to know where to look it up."
so this preamble to what I really wanted to talök about here has become quiete interesting in itself, so I'll let it stand.
What I wanted to write about here is directly related to my 'dayjob' for BBM. My current project involves simplifying the PeopleAggregator app. We are actually stripping out a lot of the advanced and sophisticated features and cusutomisatio aspects of the core PA code to prodice a simpler and easier to understand product. But we wouldn't be BBM if we didn't try to do this in a best-of-all-worlds kind of way. In practice this means we are actiually in places adding code to make the prodict simpler. Why? We want the codebase to be as unified as possible between projects. We could easily fork the code now and produce a stripped down codebase now. Any and all improvements and bugfixes on either side of the fork would then need to be manually ported over to the other side to benefit from the changes. The way we set out to do this on the other hand allows us to easily flow and share all improvements between the two 'aspects' of the same code.
Although this project codenamed SimplePA is currently seperate from the Core PA SVN, I am coding it in a way that will make future re-integration onto the trunk as easy and painless as possible. Also I am merging any changes made to the core code right into my branch. During this coding process there is some extra work involved in keeping in sync. But this extra effort is by far outweighted by the smoothing of the merge process and the almost automatic bugfixes I gain. Most pf the ongoing fixes affect my project as much as the full product.
And even if the planned integration of my SimplePA efforts into the cire priduct does not happen, or is replaced by a better and even more efficient solution, the ability to directly merge in any and all fixes to my branch is totally worth any extra effort I have made so far.
That's just how I function I guess. I tend to observe and reflect first, and then act.
- patience, so much patience
- Genius and cognitive dissonance
- BUSY, BUSY
- your body already knows the truth
alles Bild, Text und Tonmaterial ist © Martin Spernau, Verwendung und Reproduktion erfordert die Zustimmung des Authors