
Coding Philosophy
A collection of 117 posts


The Phoenix Project
The Phoenix Project is a must-read book for anyone who works in technology. If you have ever worked in a larger company you will immediately identify with the situation described at the beginning of the book. You have an overworked IT department that seems disorganized and is always behind on








Premature Reuse
Premature Optimization
Premature Optimization is a phrase that is often heard in software engineering. It’s where you envision some potential performance bottleneck, so as you are writing the code, you go out of your way to create the most optimum code (ie written in a way that the compiler



Probably Are Gonna Need It (PAGNI)
YAGNI
Software engineers like acronyms. It makes it easy to remember and refer to certain ideas. You’ve likely heard the acronym YAGNI, which stands for “You Ain’t Gonna Need It.” The premise behind this is that as software engineers, we have a tendency to overengineer things. We often


Fixing Legacy Code: Missing The Forest For The Trees
Sometimes I wonder if we are missing the point by fixing legacy code. It’s not that we shouldn’t fix bad code when we encounter it, but it’s more a feeling of we’re missing an important opportunity. Let’s start with something that you may be familiar

Legacy Code Testing and Requirements
One of the first traps you run into as a developer working on Legacy Code is to ask for the original requirements. It seems logical. Let’s figure out what the original designers of the machine intended. However for legacy code, that is a rabbit hole that will lead you





Seven Transformational Training Assumptions
In the appendix of his book “Why Employees Are Always a Bad Idea”, Chuck Blakeman lays out his philosophy around training with 7 fundamental assumptions. Since we are all about training, coaching and mentoring here at SAS Workshops, I thought I would elaborate on his 7 assumptions and how I


Simplest Thing That Could Work
It seems like I have been giving the same piece of advice lately: Start with the simplest thing that could possibly work and only add complication as you need it. Sometimes our natural tendency is to plan for all eventualities. We get so caught up planning for what might happen,

