Coding Philosophy

A collection of 114 posts
Two Questions To Improve Your Software Development

Two Questions To Improve Your Software Development

Learning is about asking the right questions. When I get a new client, I need to learn about their business and their software development process. I ask lots of questions. There are 2 questions that always seem to lead to the most insight. Asking these questions of ourselves can generate
5 min read
Soft Skills for Software Development

Soft Skills for Software Development

We tend to equate writing software with technical skills. It certainly does involve some technical skills, but really writing great software is all about human skills, often called soft skills. It’s all about how you interact with other people. Typically you are working in a group and even if
3 min read
Debug Driven Development

Debug Driven Development

Recently on episode 5 of the DQMH podcast, Chris interviewed Joerg of Hampelsoft. There was a lot of good conversation, but one of the things that stuck with me was the idea of Debug Driven Development. That is writing code in such a way that it is easy to debug
1 min read
Keystone Pattern

Keystone Pattern

Reading the Continuous Delivery book recently has got me thinking a lot about ways to achieve continuous integration while still adding new features. The book suggested Branch By Abstraction as a way to avoid stepping on each other’s toes. It also mentioned the Keystone pattern. The real problem the
2 min read
Dive into the source

Dive into the source

If you have been following this blog, it should be no surprise that I listen to the Maintainable podcast. It is a great resource. The other day I was listening and I heard a clip that really spoke to me. Justin Searls is talking about debugging and not being afraid
1 min read
DQMH Podcast Interview

DQMH Podcast Interview

I had previously mentioned the DQMH podcast. Chris just posted an interview that I did with him a few weeks ago. If you are interested in what we are doing here at SAS Workshops and learning more about how we can help you, then be sure to check it out.
1 min read
Tech Debt Day

Tech Debt Day

A friend of mine posted the video below and I was immediately struck by it. Guilty as charged. I am definitely a procrastinator in many areas of my life. If you watch the video until the end, you’ll find out that we all are on some level. Even if
2 min read
Practical Versus Theoretical

Practical Versus Theoretical

I am a big believer in personal development and growth. One of the things that often keeps us from growing is lack of awareness. There may be certain ways that we present ourselves or ways that others perceive us that we aren’t aware of. I did an exercise recently
3 min read
The Problem With Solving Problems

The Problem With Solving Problems

As engineers we pride ourselves on problem solving. That’s what we do. However I find the use of the word problem to be somewhat problematic (pun intended). When we use the word problem, typically we are referring to something that is not working. Often it was working, but for
4 min read
T Shaped Knowledge

T Shaped Knowledge

I saw post about a similar graph on social media recently. Someone posted it on twitter, but I don’t remember who. I thought it was interesting and that it would make a good topic for a post. The graph above represents someone’s depth of knowledge. In this case
2 min read
The Zen Of LabVIEW

The Zen Of LabVIEW

Simple is better than complex. Straight wires are better than bent. We read left to right, let’s wire that way. BD cleanup is often better than a messy diagram. White space is your friend as long as everything fits on one screen. Subvis are also your friends. Use them.
1 min read
Workability versus right and wrong

Workability versus right and wrong

Very early in my programming career, I was very dogmatic. I learned one way to do things and that was THE right way and anyone who didn’t do it that way was doing it wrong. I really wasn’t afraid to tell people that either. Obviously starting with “Your
3 min read
Changing Git's default branch

Changing Git's default branch

In the wake of the protests surrounding George Floyd’s death and the resurgence of the #BlackLivesMatter movement, there has been a lot of talk in the tech community about changing some of the terms we use. There was a lot of focus on moving away from using master and
4 min read
What does scalability actually mean?

What does scalability actually mean?

So recently the question of scalability came up on an NI forum post. Stephen Loftus-Mercer (aka AristosQueue) made a very interesting point. He talked about how scaling can mean many different things to many different people. A solution that is scalable on one axis might not be scalable on another.
1 min read
Every Crisis Is The End Of An Illusion

Every Crisis Is The End Of An Illusion

So I read a book earlier this year called “The Secrets of Consulting”. It was a very good book. You can read my review here. There was one part of the book that I didn’t put in the review that really stuck with me. I have been thinking about
4 min read
Hiding in Complexity

Hiding in Complexity

I have this problem. I procrastinate. Not all the time, but often. The thing is you wouldn’t notice it just by watching me. I always appear to be busy. The problem is I often hide in complexity. The best example I can come up with is when it comes
2 min read
The Value of Software Quality

The Value of Software Quality

So I stumbled upon a few things recently: * a J.B. Rainsberger presentation about “The Economics of Software Development” * a video by Andrea Goulet that touches on some similar issues (thanks Fab for recommending!). * a video by Jessica Joy Kerr on “The Secret to Software Quality” To me they are
2 min read
To Depend Or Not To Depend

To Depend Or Not To Depend

The whole idea of using open source libraries and whether it is even a good idea to include dependencies in our projects at all has been on my mind lately for a variety of reasons. I have been listening a lot to the maintainable podcast and there is a lot
2 min read
Agile Samurai Course

Agile Samurai Course

Last year I had read the book, “The Agile Samurai”. I recently stumbled upon a companion udemy course. The course is excellent. It more or less follows the book and provides good reinforcement. It provides a really good basic introduction to the ideas behind agile software development and an easy
2 min read
Getting Through This

Getting Through This

The last week or two have been pretty rough in general, and it doesn’t show signs of letting up. The best way to get through something like this is to take your mind off things by staying busy. James McNally made an excellent post with some ideas on what
3 min read
Coaching

Coaching

What do all Olympic Athletes have in common? They all have coaches. They are all very high performers, yet they still need coaches. I think a lot of us think that we are really good at what we do and we bristle and resist when someone mentions coaching. It’s
4 min read
Philosophy of Code - Memento Mori

Philosophy of Code - Memento Mori

Another topic that came up in “Ego is the Enemy” is the Latin phrase “Memento Mori”. Translated literally it means “Remember you will die.” I kind of view it as the adult version of the millenial’s YOLO – “You only live once”. YOLO is all about hedonistic pleasure – do whatever
2 min read
Philosophy of Coding: Ego

Philosophy of Coding: Ego

This is a continuation of my thoughts about philosophy and coding. It is an exploration of how the way we think about coding impacts the coding process and the code that we produce. This particular article is reflection upon a book i read a year or two ago called “Ego
4 min read