Software 29 Aug 2003 10:55 pm

Simplicity and Frameworks

On Christian Sepulveda’s BlogĀ  I saw a reference to a quote from Einstein that I love.

Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius–and a lot of courage–to move in the opposite direction. –Albert Einstein

I wonder if this is why it feels like it takes me so long to get up to speed using a new, unfamiliar, large code base sometimes? The problem is that as I am reading the code in a framework to figure out how to use it, I often find things that I would expect to be done in a different way. Personally, my first response is to think that another way is better. Nowadays, I assume that there was a good reason it was developed differently, and I then ask what was the reason? The problem is that after a certain number of these interruptions I get lost. I have to step back and reorganize my thoughts on the higher level organizing principles. What problem are we solving? What problems did they encounter solving it in the obvious way?

I have to start building the structure I want, or refactoring the existing structure to code in the way that I want, a way that I consider better and worth the initial investment. After some time, I usually ending up coding faster than others on the project, but I have to build out a structure first. Am I too arrogant? Do I just want a system that I built instead of something else? Do I know better how to organize software? Am I a lousy crackpot programmer who thinks he knows better, but is full of shit?

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply