Things Should be Simple

Things should be simpler. This is the thought that has stalked me throughout my career. While complexity is almost assured for any non-trivial solution, we should not place it front and center as a declaration of our capabilities. The purpose of our work should be to invite further innovation and inspire others to stand on our shoulders. “Look at this thing I’ve created! I bet you can’t tell what it does!” has too often seemed to be the victory cry of the battle-hardened developer. My creed is simple:

Read More

Origins of Dedication

I worked my first job during my early teenage years when my tenaciously entrepreneurial father put together a small family business. During this time I learned what it takes to be a dedicated employee. The premise was simple enough: manage the yards and gardens of those who either couldn’t or didn’t want to do it themselves. This was the first time my parents decided to involve the full family and so my siblings and I began our first “real”jobs.

Read More

How I Knew it was Time to Change Jobs

How do you know when it’s time to change jobs? Is there ever a right time? I recently made the choice to leave a job which many people would consider a “dream job” and although I can’t answer these questions for anyone else I do want to seize this opportunity to share my own personal experience. In this post I will discuss the various factors I had in mind and how important each consideration was in my final decision.

Read More

Dependency Inversion Principle

One of the most common interview questions I have been asked is some version of “What does SOLID stand for and what does each principle mean?” I know there are thousands of articles already covering this subject with dozens more probably being created each week, but I’m going to add to the pile anyway! We’re going to take a deeper look at what each of these principles mean, how they should be used, and why they are important.

Read More

Interface Segregation Principle

One of the most common interview questions I have been asked is some version of “What does SOLID stand for and what does each principle mean?” I know there are thousands of articles already covering this subject with dozens more probably being created each week, but I’m going to add to the pile anyway! We’re going to take a deeper look at what each of these principles mean, how they should be used, and why they are important.

Read More

Liskov Substitution Principle

One of the most common interview questions I have been asked is some version of “What does SOLID stand for and what does each principle mean?” I know there are thousands of articles already covering this subject with dozens more probably being created each week, but I’m going to add to the pile anyway! We’re going to take a deeper look at what each of these principles mean, how they should be used, and why they are important.

Read More

Open/Closed Principle

One of the most common interview questions I have been asked is some version of “What does SOLID stand for and what does each principle mean?” I know there are thousands of articles already covering this subject with dozens more probably being created each week, but I’m going to add to the pile anyway! We’re going to take a deeper look at what each of these principles mean, how they should be used, and why they are important.

Read More

Single Responsibility Principle

One of the most common interview questions I have been asked is some version of “What does SOLID stand for and what does each principle mean?” I know there are thousands of articles already covering this subject with dozens more probably being created each week, but I’m going to add to the pile anyway! We’re going to take a deeper look at what each of these principles mean, how they should be used, and why they are important.

Read More