deliberate intentional practice

deliberate intentional practice

Something I've been wondering about for a really long time is, essentially, why do people say AI doesn't work for them? What do they mean when they say that?

From which identity are they coming from? Are they coming from the perspective of an engineer with a job title and sharing their experiences in a particular company, in that particular codebase? Or are they coming from the perspective that they've tried at home and it hasn't worked for them there?

Now, this distinction is crucial because there are companies out there with ancient code bases, and they've extensive proprietary patterns that AI simply doesn't have the training data for. That experience is entirely understandable.

However, I do worry about engineers whose only experience with AI is using it in a large, proprietary codebase. Have they tried AI at home? Are they putting in deliberate, intentional practice? Have they discovered the beauty of AI?

You see, there is a beauty in AI. And the way I like to describe it these days, they are kind of like a musical instrument.

the tb303 was a commercial failure upon launch but many years later someone started playing: twisting knobs in strange and wonderful ways that resulted in new genres of music being created.

Let's take a guitar as an example. Everyone knows what a guitar is, and everyone knows that if you put deliberate, intentional practice into it, you can become good at the guitar. Still, it takes time, effort and experimentation.

In the circles around me, the people who are getting the most out of AI have put in deliberate, intentional practice. They don't just pick up a guitar, experience failure, and then go, "Well, it got the answer wildly wrong," and then move on and assume that that will be their repeated experience.

What they do is they play

Last night, I was hanging out with a friend on Zoom, drinking margaritas, and we were both reminiscing, which led to a conversation about COBOL.

The next thing you know, we're like, can AI program COBOL? A couple of moments later, we opened a coding assistant and then built a calculator in COBOL. And we're just sitting there watching, just going, wow. So we then decided, hey, because in the spirit of play, can it do a Reverse Polish notation calculator? And it turns out it can.

At this stage, our brains were just racing and we're riffing. Like, what are the other possibilities of what AI can do? What can it and cannot do? So we asked it to write unit tests in COBOL, and it did it.

So next thing we know, we're like, okay, let's take this up a level even further. Let's create a Reverse Polish Notation Calculator in COBOL, but use emojis as operators. Does COBOL even support emojis? Well, there's one way to find out.

It turns out that it is indeed possible. The source code is below.

GitHub - ghuntley/cobol-emoji-rpn-calculator: A Emoji Reverse Polish Notation Calculator written in COBOL.
A Emoji Reverse Polish Notation Calculator written in COBOL. - ghuntley/cobol-emoji-rpn-calculator

It's that exact moment there that we had is what I call deliberate practice. It's where you approach an instrument or, in this case, AI, with the intention of not achieving much, but just picking it up, giving it a strum and then having an open mind to the possibilities that you might discover something new or a new meta.

closing thoughts

Now, I completely empathise with people who say AI does not work for them in their legacy code base. The context windows that exist for AI are small.

The way I look at it is that if we were in the 1980s and only had IBM XT computers, but time would eventually pass, and we'd get the 286s, and so on. While we'll see context windows get bigger, they won't be big enough for some of these companies' codebases, but that doesn't mean hope is all lost.

What I do wonder however, is if we're going to start to see some very interesting employee versus employer dynamics unfold in the future.

There was a time when employees decided to move on from a company because they weren't adopting AWS. See, employees exchange skills and time for money.

The industry advances, and employees seek to keep their skills current. They knew that if they didn't upskill in AWS, they would have a hard time continuing to exchange their skills for money. AI not working for a particular company is a company problem, not a problem for the employee.

Hope is not lost for companies that experience difficulties with AI. This space is evolving rapidly, with AI improving daily, and there is still much more research to be conducted on topics such as semantic analysis and integration with build system graphs.

Pondering these types of things is now part of my day job, and I hope to delve into these aspects soon. If you work at a company with a massive monorepository, please say hello. I would love to catch up and just riff as by flexing the muscle of deliberate intentional play, it's how one levels up these days, now that AI is here.

ps. socials