Don’t change incrementally what can be done across-the-board

elephant with lasers
How do you eat an elephant?

In a living, evolving codebase inevitably changes will come up that you want to make everywhere. Maybe you discovered a better pattern that you want to apply throughout the codebase. Maybe entropy has caught up and some tedious change needs to be made everywhere.

In small codebases you just make the change when it comes up. Even in larger projects, sometimes there is no choice–the project won’t build without biting the bullet–and so you end up making the change. More commonly though, you make the change in the files you touch and hope there is time to come back later to fix up other places.1

Such is the reality of programming for a business.

The thing is… what if making the across-the-board change didn’t have to be a manual, time-consuming task? We’re programmers after all! Automation is what we do.

Continue Reading

Mise en Place for Software Engineers

working on a laptop like a cooking show

You know how in cooking shows they have all the bowls full of ingredients in front of them, ready to go so that when they start cooking there is no risk of something not being ready at a critical moment? There is a cooking term for that, mise en place, which roughly translates to “putting in place”.1 It’s not just for TV either. Mise en place is taught to and practiced by professional chefs, because upfront preparation2 prevents costly mistakes later.

BTW it is pronounced like MEEZ ahn PLAHSS (ah = the “a” in father).

Continue Reading

Team vibe and the goldilocks zone

Everyone likes to make a difference at work. To see your effort move the needle. Not everyone, however, is keen on the all-in commitment this mindset often leads to. 50+ hour work weeks. Crunch time.

At the other extreme, some prefer a uniformly steady workstream. Work must be kept predictable so that brain power is reserved for all the other things in life. Not all can stomach the trade-off this takes though. Order is typically achieved by carving out fiefdoms–often at odds with the goals of the wider org–and the work becomes largely meaningless.

Continue Reading

Run your meetings like a Dungeon Master

Specifically I am talking about meetings where the goal is solutioning. If you’re planning out the logistics of how to get some well-defined work done, that is different. I’ll save that for a “How to run meetings like a general” post. This post is about when you need to get people together to figure out a common direction on some ill-defined problem.

Continue Reading

How to adjust the GUI font size in Vim or Neovim

So you want to increase or decrease the font size? Maybe as easily as pressing Ctrl + or Ctrl - like in every other GUI application out there? Keep reading.

Continue Reading