Navigating uncertainty - staying positive when AI is disrupting my job

Paradigm shift. Pretty cool to be part of another, huh? But also; scary, lots of big unknowns and the rate of change is like nothing I’ve ever experienced before.

Yes - I’m talking about AI. But this post will be about some ideas how to navigate this change, trying to calm ourselves a bit and, quite frankly, give some comfort. Hopefully.

Someone asked me a question just as I left the office this Friday. The question was really good and the person showed genuine worry. I’m sure that person was not the only one. At least one more share the feelings. Me.

I wanted to share my response, a bit embroidered, here. The question was basically this, but better formulated:

Marcus, how do you stay positive in the light of all potential downsides of AI?

Read More

Exporting speaker notes from presentations

Now that we are using agents to help us with a lot of daily tasks I realize how much information I have put in speaker notes. I have books worth of information in there, due to my bad memory. I knew it would pay off, someday.

And they are really tricky to share with in an AI chat, like (we’re not using Chat GPT anymore, since this morning - right?) … well you choose. I’m going with Claude.

Uploading some of my presentations to an agent means 50+ Mb file, when I’m really just interested in the text in my speaker notes.

Over the years I have been going back and forth between different presenting softwares and hence I have a bit of a problem getting hold of the speaker notes.

But I’ve solved this now. Let me share it with you. And then let me share how I...

Read More

How did I learn to code

I asked a few people in the Umain office that are relatively new to programming how they learn in the age of AI. And they graciously shared. And I learned A LOT from that.

It’s a VERY different world now, picking up programming when AI has “always” been around. You have to actively disregard help from the tools, to learn. And actively go into learning mode to actually learn.

Since they shared with me it’s not more than right that I do the same. Sorry, this will be long - I’m old.

Read More

Going 'device naked' to meetings

This is a post that could end up causing me problems—or at least being flagged as “not safe for work”—but here we go:

I've started going naked to meetings!

To clarify a bit, I’ve started to go device naked to meetings. In other words - I try, hard, to not bring any of my devices to meetings. If possible. It is hard work being device naked, I can tell you.

Any other interpretation would render disgust and probably me without a job. The social code in Sweden doesn’t really allow for your dirty thoughts, dear reader.

What I’m writing here is purely for me and I’m only going to relate my own reasons and experiences but maybe you find some value in this post.

Read More

Making the change easy

One of Kent Beck’s many great things to consider is this little mind-bender of a quote

for each desired change, make the change easy (warning: this may be hard), then make the easy change

The quote is on X but I first read it in his great little book Tidy First?. Yes, the question mark should be in there. Read the book for more.

Ok. This quote forces you to think for awhile, but is very good practical advise for any software developer I wanted to relate a story from last week where I used it.

Read More

On Yak shaving

Re-posted from Umain.

As I entered the office I found a seat next to a nice coworker in the quiet corner. Perfect!

Only thing… that screen didn’t have a USB-C cable. No worries I’ll run down to the IT department and nick one.

Only thing… once I got back up I realized that the screen didn’t even have a power cable. Back down to IT, but this time I checked and yes - there were missing extension cords too. So I asked for that.

Once back at my desk I now had to unplug (and UNTANGLE) the cords, so that I could plug in the other 3 desks, interrupting my coworkers flow 2 times. And then connect my own desk to power.

Now I could attach the power cord. And then the USB-C. And then connect my computer so that I could … what was I doing now again.

...
Read More

Some thoughts on lead time in the age of AI

Over and over I see that in the paradigm shift we are in now, the good old practices keep resurfacing. For example: doing BDD and TDD turns out to be a good idea even if the code is written much faster—and often not by you. Or having a solid understanding of how to create a good, well‑structured engineered application is more important now than ever.

There are more things, but I’ll get to that at the end.

In this post I wanted to share some thoughts about lead time that I cannot get out of my head. Let’s go back to the beginning by me sharing the simplest diagram I can think of, presented here in my handwriting from 2018, first shown in a blog post on flow efficiency.

Read More

Specification-Driven Development (SDD) - some initial thoughts

The new craze in AI world is called Specification-Driven Development (SDD) and pioneered by GitHub SpecKit and probably other that I haven’t heard about yet.

It tries to solve the thing that many of us found troublesome with VibeCoding Dave Farley breaks this down here and instruct the AI on a lower level, taking more control of the details.

And it’s quite impressive, from what I’ve seen. Especially considering that it has a good what about existing code but it misses the mark on two fundamental assumptions I think.

With the risk of this post being out-dated before the end of the day, and me being branded Old guy that just don't get it - let me offer my thoughts on these two assumptions.

Read More

Testing GitHub workflows locally – a study in Theory of Constraints

In my last post, I complained about my (and others’) flow being disrupted by institutionalized blockages — in that case, pull requests (PRs).

Often, when that happens, there are things you can do to improve the situation.

For example, let’s say (because it was the case) that I had to wait for an approved PR before I could test something — a GitHub Workflow, for instance. The workflow needed to be approved and merged into main before I could run it in GitHub Actions.

Now imagine that I waited for approval, only to discover — over the weekend, when I was off — that my fix was wrong. I’d need to make a tiny change and then wait for approval all over again. Annoying, right?

Being someone who cares about flow, I wanted something better. What could I do so that, once my code was ready to...

Read More