Coding Philosophy

A collection of 69 posts
The Phoenix Project

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
3 min read
The Arc of a Developer

The Arc of a Developer

In my recent interview for Legacy Code Rocks, I talked about the arc of a developer. I feel like there is this trajectory that people that go on over their careers. It's the learning and growth path that developers tend to follow.
4 min read
Do we really need more features?

Do we really need more features?

I was listening to an interview with Mary and Tom Poppendieck on Mob Mentality. Mary had some very interesting thoughts about adding features. Mary starts by making a very simple observation. As projects grow larger they inherently get more complex and that complexity makes it harder to manage the code
3 min read
XP Explained

XP Explained

This book is considered a classic for a reason. It’s inspired a lot of coders over the years. I think the first time I had heard about it was from Stephen Loftus Mercer talking about pair programming. I’ve heard a lot about XP over the years since then
2 min read
Premature Reuse

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
6 min read
Its Already Hard, Don't Make It Worse.

Its Already Hard, Don't Make It Worse.

I was ice climbing with a buddy once in the Adirondacks We had hiked up to the bottom of Multiplication Gully, which is a very popular climb. It was 25 degrees out, but it’s a steep approach and we were carrying heavy packs so we hiked up in long
3 min read
Rituals

Rituals

Rituals are an important part of humanity. We’ve been performing them for years. They serve a purpose. They help us to form good habits. As everyday examples, you probably have rituals around brushing your teeth or around washing your hands. There are certain triggers that you use to tell
3 min read
Probably Are Gonna Need It (PAGNI)

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
3 min read
Legacy Code Testing and Requirements

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
3 min read
The Joel Test

The Joel Test

The Joel Test is a classic. It’s been around for a while and is still increbibly relevant. It’s probably one of his most popular articles. I thought I would just go through each item and comment on how they apply to LabVIEW today. Looking at Joel’s list
6 min read
Back to Basics

Back to Basics

So here is another article from Joel on Software. In this article, titled Back to the Basics, Joel talks about the importance of understanding how some lower-level things (like how strings are stored and memory management) work. It’s a bit of a rant. His conclusion is that you need
4 min read
Peopleware

Peopleware

This book was recommended to me many years ago by a friend, but for some reason it took me a while to get around to reading it. I read it immediately after reading “Why Employees Are Always a Bad Idea” and a lot of the ideas seemed the same. Tom
1 min read
Code as Communication.

Code as Communication.

The code we write is a form of communication. We are telling the computer what to do, but we are also communicating with our colleagues. If we were only communicating with the computer, we could just simply write a bunch of 1s and 0s. That’s all the processor needs.
1 min read
Simplest Thing That Could Work

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,
3 min read