Photo by energepic.com from Pexels At almost every company there is some level of pressure to work overtime. It gets couched in language about mission, impact, hustle, and other euphemisms. Positive employee recognition usually comes to people willing to work the extra hours. “Joe really went that extra mile to help us meet our goal. Staying…

Read More Overtime Hurts Your Software & Your Team

“Freedom” by Sebastian Fuss — Some Rights Reserved Back in the early 2000’s I got into a discussion about the relative merits and problems with Free and Open Source software. One of the points of discussion was the first freedom identified by Free Software: The freedom to run the program as you wish, for any purpose This same freedom…

Read More The Problem with Free & Open Source Software

How should we decide what to work on? Answering that question is the key to all software development processes. In my experience a lot of programmers, developers, and engineers are bad at answering it. Technical Debt This is the elephant in every room; at least in every room containing software developers. If there is software…

Read More Programmers Don’t Understand Value

I am of the opinion that any code that does not have accompanying automated tests should be considered inherently defective. When we write code we have certain notions of suitableness in mind. Tests are a way to express those notions in a way that others can run, and examine, independent of having to delve into…

Read More Tests Should Not Be Optional

When we build software it can sometimes feel like a precarious balancing act. Will this next bit of code do what we expect? Will something we did not change begin behaving strangely? Certainty and confidence are not always feelings close at hand for many software developers. Being able to answer these concerns with greater confidence…

Read More Software Testing & Confidence

Microservices are popular with many teams. But, software development patterns are still in flux around this architectural pattern. In the last several years the space has matured a lot. Still, too many teams produce poor implementations. Microservices are often placed in contrast to Monolithic applications. That comparison is instructive, but it is also naive. Microservices…

Read More Microservices Will Mess Your Team Up

I read a story over on Hackernoon by Jonny Asmar — Javascript Has Already Won. The premise is that Node.js and JavaScript have become so far reaching that it has won out over other programming languages. Unfortunately, this entire line of thinking is nonsense. Not because JavaScript can’t do all the things claimed, but because there is…

Read More JavaScript Can Not Win