Programming

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

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

Several months ago I wrote about my personal principles of software engineering. That post was informed by a talk a watched by Peter Campbell. Since then, I have been reflecting how to align various ideas I have been addressing independently up to this point. To help bring these various ideas together I want to start…

Read More Defining Principles for Software Engineering

By Pixabay, CC0 Licensed, https://www.pexels.com/photo/abstract-aluminum-architectural-architecture-210158/ Last week DHH wrote about his love for implicit code, and held up Rails as an example of the benefits. As someone who has been working with Ruby on Rails since 2006, I appreciate a lot of the benefits that Rails offers. However, I have also run up against some…

Read More The Right Abstraction Matters