Agile and lean art delivery

I've been helping teams and organizations improve their approach to agile and lean delivery for a decade now, and by far one of the most difficult things to wrap one's head around is the idea of iterative delivery of value. I don't know about you, but I'm tired of these various hypothetical images depicting what agile delivery is supposed to look like. Is it a skateboard that becomes a car?

Slack time explained

What problem are we trying to solve? You're a software product team. Your job is to steadily deliver working product. Generally this means there's two types of work you're going to do: Work that directly correlates to delivering value to the customer Work that directly correlates to the ability to keep on delivering value at the same pace In "agile" terminology, those categories are labeled, respectively, "stories" and "tech debt".

GenStage demystified

GenStage is a miracle of UX for developers. There's only one catch: because of its purpose, it's built for the machine, not for the developer. Let's go over what GenStage is for, and see just how simple it is to start using it. Why would you use GenStage? GenStage is what you would use if you had "some work" (events) that needed to go through one or more transformations, which you could easily split into multiple parallelizable steps.

Choosing the right editor

Choosing the right editor Intro: My editor history Here are my "credentials". You know, establishing why you should be reading this at all. When it comes to editors, I've honestly fumbled around quite a bit in the past fifteen years or so. I had not encountered an editor until some dude taught my Comp Sci 6/9 class and straight-up went to the GNU webpage and downloaded emacs for Windows.

The first step in learning any new programming language

Part of being a professional programmer is learning new languages (seriously — past a certain point, you should be fluent in a couple of languages, but that's another blog post), and part of being a good programmer is being effective at doing so. The very first step in learning a new language is being able to write some code with it. Further steps usually involve mastering the syntax as well as whatever new paradigms the language may throw at you, BUT!