Designing technological empowerment

Applied Discovery: What future are we building, given that we play a role in such an important process? On the role designers play, what they do as careers progress, and how design can positively enhance the world. Reminder: if you tilt your head just so, developers do a lot of design activities too.

Confidence despite evolving systems

Facing risk by instrumenting the hell out of it: Software development is a complex system existing as it does at the intersection of people, systems, good intentions, confused and changing goals, and overly literal state machines. Past behavior isn’t always an indication of future behavior, and humans are terrible at reasoning about complex systems. As … Continue reading Confidence despite evolving systems

Problems as ever-changing mazes

Problems, puzzles, startups as dynamic mazes: just running to the entrance of (say) the “movies/music/filesharing/P2P” maze or the “photosharing” maze without any sense for the history of the industry, the players in the maze, the casualties of the past, and the technologies that are likely to move walls and change assumptions I love this idea … Continue reading Problems as ever-changing mazes

Refactor for value over cleanliness

Practice Responsible Refactoring: When cleaning up the code enables you to work faster for a task you aren’t dreaming up but actually have at hand, refactoring is the way to go. Dave Copeland makes the point that refactoring without a value-added change (feature, improvement, bug fix, optimization, etc.) is a losing proposition. By the numbers, he's absolutely right. Further, … Continue reading Refactor for value over cleanliness