How did I learn to code

· February 6, 2026

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.

When it comes to programming itself I started way back on a Vic20, learning basic. But I never really got any skills that way. We typed programs from long listings in magazines. I did eventually apply for University (1994) and even though I didn’t think it would be for me and it was very close that I couldn’t get in, I got in and out 4 years later.

I was very lucky to have study-buddy that was a great programmer (Thank you, Mats) so much of my early experience there was basically just sitting next to him and mimicking a lot of his approach. In Uni I also got a lot of foundational stuff down that I didn’t see the use of then, but has later. At this point I really didn’t enjoy coding, but I could do it. More follow along than being creative.

First professional experiences

My first job in this industry was an onboarding program / job at a big insurance company, where I directly got introduced to enterprise ways. It was quite confusing I can tell you, but mostly on the “where on earth do I fit in in the puzzle”-level. I was doing C++ coding then, and we were mostly following a structure that was in place. Shoveling data between different databases and making some structural changes between in- and output. It never really felt … real to me. More abstract and weird - coding from a detailed (pseudo-code) spec. I did learn a lot of about managing projects by Staffan - such a cool dude!

I then (2000-ish) started to work with CapGemini (because I felt that my opportunities were minimized at the insurance company). Here I had the joy of coming into a GREAT team of developers and was swept up in the culture, style and approach to development. A few of these people are still in my wider network today. I especially learnt a lot from a guy that had worked a few years more than me, just moving in from Norway - Öystein. We worked side by side for a few years and wrote a few projects from scratch.

Falling in love

HERE is when I fell in love with programming. When I started to be able to put the pieces together by myself. I did that by reading articles, books on programming and watching videos. But moreover I had the opportunity to learn from people around me, some were very good at sharing, lifting others up (me to responsibilities I didn’t deserve) and sharing. There’s a mantra from that time that I still think about and use; Ask To Know To Learn To Share.

I got assigned a project that grew to be big and I was suddenly in charge of the architecture and a team. I read more, books on programming mostly, but blogs too. The application went on to be a 5 year project that eventually was sold to a company where we were asked to make it into a configurable product. I learned so much there, by doing and learning from an IT-architect called Lars. He taught me a lot about consulting too.

The agile revolution

At this point, 2004-ish I got the opportunity to take the Scrum-master course (given by Ken Schwaber, the inventor of Scrum) and it was an epiphany for me. I went in one man and came out another. I could never go back. And I never have. Practicing agile in those early days meant that you had to learn from one day to another. I started to read blogs. A LOT. Back then just about all people agile were also developers (which is probably a great thing still today for agilist). That meant that I learned a lot about how to write software in a way that can be worked on in an agile way. It opened my eyes for testing, TDD and modular architecture. But also Continuous Integration, BDD/Specification by example and many more things. I learned here from great people around me (Thank you Jens, Joakim, Christoph and many more)

At this point I started this blog (2006). And I wrote like crazy. As a way to remember. For me. But I realized that people started to read my stuff too. And I got questions and suggestions. So I learned by sharing with others. Also, in 2005 I started to work for Avega - an absolute learning factory. I enjoyed every second there, and was given a lot of room to learn, teach and apply my thoughts.

This put me in a spot where learning was really part of my job. I also was given a great opportunity to share my stumbling blocks with others in many different forms. At the end as a coach with others in the company as my daily job. I picked up new things everyday. I failed and tried again.

A LOT of reading happened now, blogs and twitter were my hangouts. But now YT has taken over as my main source of inspiration. SO. MANY. Tutorials. I especially like, don’t tell anyone, doing tutorials for things that I already knew. Especially katas and TDD-tutorials. Just typing along. Rob Conery, Dan North, Scott Hanselmann, Gojko Adzic, Ron Jeffries, Woody Zuill, Phil Haack were (and ARE) a few of my heroes.

During this time I started to share and speak at user groups, conferences and different company gigs. Live coding was done on more than one occasion and I can tell you; pressure has never been felt until you get a compilation error you’ve never seen on stage in front of an audience that all know what happened.

I was early in another consultancy started by some Avega-friends called Aptitud. We built learning new things into our normal way of working and it escalated my domains further.

Indonesia

One fun, but also telling episode, was that I moved abroad to work for the Salvation Army in 2013. On my last day at the Aptitud office I realized that I hadn’t packed any programming books, so looked around the office. I saw “JavaScript - The Good Parts” and brought it. I didn’t know any JavaScript at this point.

This was the start of another love story for me. That single book led me to learn not only JavaScript, but also functional programming, Node, and a whole new ecosystem. I kept blogging about my experiences and eventually I got to do a few online course on somethings I learned. I recorded them in a closest in Indonesia… you can hear the prayer calls in the background.

Learn and share to learn and share, or how was it.

Making a school

When I got back from Indonesia I eventually got offered to create a bootcamp for developers, trying to teach people with little programming experience to learn how to code in 3 months. Together with an absolutely brilliant developer and consultant called Jacob, I put together the most intense learning I’ve ever seen.

It turned out that packing you learnings together like that is a real challenge since a lot of the things I know are superseded by new ways, tools, and technologies. But it turned out really well and we ended up running it for 5 years, before I had to quit due to mental health reasons. 800+ people have gone through that training and I meet them in the industry just about every week. Some of them have jobs I could only dream of.

AI coding

With the advent of AI coding my workflow has been rocked and things that I really enjoy doing are now not important (refactoring and writing tests are good examples). The tools are starting to do that better than me, as long as I prompt it together. This is a weird feeling; on one hand I’m worrying that what I know will be irrelevant, on the other I have never enjoyed building things more than now. I can build things that I couldn’t but I worry about not knowing the code.

My approach, when I’ve done it to scale, is to iterate the specifications (in text, or code) with an AI, then ask it to build it for me. I also ask it to build tests. Once the feature works - I refactor the crap out of the code; breaking it up into more component, testable functions. By refactoring I learn. And since I have tests I can fearlessly refactor the solution and be sure that it still works.

It might not be faster in the end, but I have control and understanding of what I have built, which I think cannot be underlined enough. Even though an AI wrote the code I am still responsible for it. “The AI wrote it” will not suffice when a feature fails. You should still care about the code.

If you want to be really great at something, understand how it works one level deeper. If you want to be a great C-developer you need to understand how assembly work. If you want to be a great software engineer by prompting you need to understand how JavaScript/TypeScript, C# or Rust works. I think. This is new to me. Please tell me more on how you learn.

So - how did I learn to code?

I’ve (without thinking) used a three part solution:

  1. I’ve read, watched and listened to people. A lot. Everyday. And still do. Everyday.
  2. I have been lucky to work with people better than me. You can too - just reach out to the person next to you and start to learn. Turns out - we are all good on different things. Learn from each other.
  3. Which brings me to the last part - share. When someone asks, or just when you have learned something. Share! Write about it somewhere and post. Most people don’t share. You’ll find that by sharing you will learn. It’s harder to express your thoughts in a manner that someone else can read. And then you become a person that someone (see bullet 1) read, watch or listen too. Now they learn, and you will learn from that…

This blog post is an example of those 3 steps put into action - I learned from the team that shared with me. They are amazing, so I learned from them. And then I shared with y’all.

I hope you found this somewhat useful. Thanks a lot for reading and for sharing your journeys with me, which inspired this post.

Twitter, Facebook