Mental Schemas

It is difficult to always be improving in the software industry. In creative fields, many artists talk about churn. When starting out, there’s an enormous amount of work to produce to get better. If you’re new, there’s a massive amount of bad code you need to write. That’s OK, it’s necessary. But the rate of improvement decays as time progresses. As your notoriety grows, you can no longer just crank out code to get better, how can you preserve some rate of improvement? It feels like the rate of learning looks like this: ...

July 30, 2015 · 5 min

Software as Bridges

Software is always challenging to explain to non-engineers and having a metaphor is valuable to explain complex concepts. Bridges happen to be a good analogy to software. But the devil is always in the details. Any piece of software provides a benefit to its users. It’s similar to people using bridges to cross rivers. As with bridges, many kinds of software can solve the same problems. Some bridges support many cars and pedestrians which is analogous to a high-throughput like a server that can support many users. Others are very nice walkways with trees, a highly usable piece of software that supports only a few users. Most of the time, users only see the bridge from the top. Like seeing only the tip of an iceberg. ...

June 29, 2015 · 4 min