Year 2025: "People are dead, long live the people"

A year in review of my freelancing career as a software engineer, public speaker and servant leader.

This year could have been a movie. The “happy-nightmare-happy” trope where everything’s decent at first, then you question everything about yourself, and then you come back stronger than ever.

At the start of the year I was a tech lead for a travel website. I had been coaching people for just about two years, thinking about architecture, thinking about the users, you know, all the things any responsible developer would do. The job didn’t feel particularly glamorous, we weren’t particularly loved by anyone (in fact there was a running joke that our pages would be skipped in any public-facing demo), but it felt like I was putting honest time in.

One thing I’m proud of, and what seemed to have stuck since I left, is that we used A/B testing for the majority of the features we released. They proved over and over again that our users don’t care about 95% of what we ship, and it was a great reminder during any meeting where people would argue about the “color of the clown nose” during feature work.

I felt like I had already done my best work with this client. I had trained and shaped the team, the architecture, the modus operandi of delivering new features, and I was starting to casually look at what the future could bring. One thing I’ll never forget is phrasing this to my client; saying I felt it was time to embrace potential future clients. It felt like I was suggesting polygamy. It ended up being the right decision, because it was clear our five year plans did not align. (Spoiler: good freelancers aren’t looking for you to turn them into employees.) We’ve kept in touch, so I’d say we moved past that momentary awkwardness.

Like many of us, I get carried away with things, and one of those things has been mob programming. I’ve tried it on practically everything to see what sticks: meetups, job interviews, regular work, sprint planning, you name it. Hate it or love it, I’ve gotten pretty good at it, and a lot of good work culture has come out of it. By now I’m past the romantic era, but it remains a great tool for distilling the good from all the shit that usually goes on in any company. (Hey you, don’t worry about it, I understand.)

Some of my favorite quotes from these experiments#

  • “This is turning into a keep-your-job interview” - Senior dev smugly addressing his colleagues in a mob programming session.
  • “So this is basically a job interview for you too huh?” - A senior developer candidate in a job interview, addressing a junior dev from the hiring company who was joining the interview/mob session. The candidate did not get the job.
  • “You guys don’t listen to me!” - A clearly upset senior dev after a long session with colleagues. Shortly after, the junior dev follow-up is “How do you think I feel then?”. Heartfelt, vulnerable. It stuck with me.

Then, out of chance, a new client appears. I had given them a taste of mob programming with one of their teams. We connected, and now they wanted more of it. My imposter syndrome was going crazy; a serious client wanted me mainly for the mob programming, something I’ve undoubtedly received a lot of flack for. I had even developed a personal mantra that no company doing mob programming will ever want my services (because they wouldn’t have the problems I exist to fix).

A lot of people were asking “how the hell did you get a gig at this client?” given that this had been an elusive target for many recruiters, consultants and freelancers. It was around this time it became apparent that a lot of people are actually struggling in the market, even people I know are better developers than I am. This realization, as is sometimes said in the underground, filled me with determination.

This turned out to be short-lived. After two months, just before summer, my contract was terminated. I’d leave after three measly months. No grand conspiracy here beyond my own disappointment; just regular company dysfunction and ambitions from foxholes that don’t always stick to reality. I deeply enjoyed working with those around me and made several new friends. It also had me thinking about my next gig.

To be honest, I was a bit excited. My mundane freelancer life was facing a near-imminent threat, and I had to find a way out with only a month to go until summer vacations.

I wanted to try contract brokers this time. I had only ever found clients myself without any middlemen, so I was curious. Where I’m based, sub-contracting is huge and most freelancers I’ve met run through some kind of middleman.

I posted on LinkedIn about my availability and met with about 10 freelance brokers of all sizes. Some were one-man-shows, some were bigger consultancies. The way they presented themselves made it clear they weren’t exactly lined with contracts for someone like me, and that manifested in interesting ways. Some tried to see how low I’d go rate-wise (I believe that’s what they meant when they said I need to lower my “ambition”) and some tried to tempt me with employment, asking how long I’d wait before considering becoming their company employee. Maybe three brokers gave me an honest exchange mixed with entertaining coffee talk about the industry.

And yes, there were companies who would interview me for over an hour, connect really well, just to end with “so, we only do employee hiring for opportunities here.” Not the best first impression.

In hindsight, it was kind of a letdown how little these brokers could give me. They all knew about the same few opportunities, but had little ability to differentiate themselves. Maybe it was just the summer.

On the 23rd of June I get contacted by someone I’d met at an ear-deafening corporate party. When I met him, I cracked open conversation by telling him that “management is evil.” He proceeded to tell me he’s a manager. Dear reader, do my networking skills amaze you?

Jokes aside, we connected well (we even took a selfie!) and here he was in my DMs, looking for another web-guy in a freelancing capacity.

I offered to help them interview candidates together with some of their developers. They took me up on the offer and I experienced a fun non-orthodox way of getting to know my new client before officially starting.

The shift#

Now for why I chose this title. Naming things is hard, but this time it was probably the easiest thing to write.

  • During my time as tech lead, I was tolerated for prioritizing people and processes.
  • At my three-month gig, I was brought in for championing quality with strong team culture, until my contract was terminated.
  • Coaching-oriented freelancers around me were struggling to find work.

This year, the industry raised a big middle finger to everyone concerned with things that don’t show immediate return on investment. Words like “Agile” and “Junior developer” became taboo. In a world where everyone wants synthetic social interaction, my people-supported way of developing software was no longer uphill. It was an impossible sales proposition.

With my new client, there’d be no junior developers. Every time, I’d be sitting down with experts carrying 2-digit work year histories. So after putting myself in the back mirror for several years, I decided to focus on my own throughput again, maximizing my own potential to drive success rather than enabling someone else’s. I had tried Cursor in my last gig, but since we never had identifiable goals to work with, it was mostly dormant. This time, I decided to try Claude Code.

That’s when things clicked with me and AI. Suddenly I was coding more than I had in a long time. I started picking up personal projects on my free time again. It was, and still is, truly exhilarating. I used all the best software methodologies I would teach others and fed them to the AI, in every prompt along the way. It felt almost perverted that this AI, like some virtual girlfriend, would agree and go with my idea of how software development should work. And to me, it worked! I delivered stable and maintainable code that my team could keep working on.

I even open sourced the custom commands I deemed most successful to create good software with my buddy Claude: github.com/wbern/claude-instructions

But what about mob programming?#

I asked myself this too. Have I turned into some greedy self-centered Joker-character? Is AI causing hubris in me, making me believe that I’m better off being alone?

My neighbor said something interesting once: “my job is to pair people who want to work but can’t, with people who can work but don’t want to.”

At that time I felt (perhaps a bit shamefully) that I was one of those who didn’t want to work. Work being “to code.” That I coached others so I wouldn’t have to. Now, after getting to know Claude, I realized there was more truth to this than I was admitting to myself. I had been bored out of my mind writing the same if conditions and <div>s over and over again. Now that Claude was doing them for me, I’ve become a different person in terms of coding activity, quickly hopping from desktop to desktop on my Mac to interact with my agentic coding sessions.

Then I find myself in similar situations again; meeting people, enjoying myself just as much as before, this time full of interesting stories about my interaction with AI and how I’ve used my communication skills to not write a single line of code myself for weeks on end.

An important distinction is that I’m no longer so dependent on people, and that’s actually a relief. Some people have been frustrating to work with. Although “laziness” is often referred to as a positive programmer trait, perhaps even why many became programmers, I find it can drift in an unhelpful direction. A developer saying “bring me a ticket with exact business requirements if you want any work done” is, to me, the wrong kind of lazy, bordering on avoiding responsibility. Creating a pull request where a reviewer finds a bug within 30 seconds of opening it also falls into that category. I don’t want to rely on this. I may have lost some friendship points, but I experience it as disrespectful. I hope the AI wave and job security pressures can act as a wake-up call toward better practices.

My stance, unfortunately, means people are now missing out on coaching or even job opportunities. I and many other senior devs have become entrenched with our own work potential, outsourcing the boring work of reviewing buggy PRs along with other menial tasks, previously the holy grail for new devs fresh out of school looking to prove themselves. To all of you: I understand your struggle and I will always accept your resume and try to advise you on how to deal with these strange new times.

At the same time, AI has shined a light on all the dysfunction inside companies. We thought we’d ship AI to our customers only to realize we needed AI inside the organization more than anything to automate away all that busywork.

The winners of 2025#

So who are the great winners of 2025? Unfairly, it’s the people who already know the most and have adopted AI as part of their knowledge work, and whose focus stayed true to the goal of shipping great things. The developers who think like “Product Engineers” with some UX understanding. The one-man-armies out there killing it right now.

(Side-note: Some people say junior devs shouldn’t use AI. I profusely disagree, but there is truth in that AI would not be able to make me who I am today. It’s not AI that makes commitments to products, users and companies; it’s the teams I’ve been part of. We were once part of great work cultures that created the right mindset we bring to future ventures. You could probably succeed without those amazing work cultures, but you still need to learn what it means to create and ship things. That’s why I tell people looking for work to try to have a “startup” as much as possible. Build and ship something so you can learn what it means to be part of building something real.)

While nobody cared about people in 2025, it was precisely those people who made a lot possible, and we should help more people find the way to enjoy creating things as much as we have.

So with the death and hopeful renewal of the “people” in this industry, for 2026, I have a few hopes and aspirations.

1. The market will find a niche for hiring juniors again#

It will probably never be the same, but with the birth of the gig economy a few years back, and the big black hole where a typical union would exist, eventually someone will have a bright Black Mirror-esque idea. Something like along the lines of “I’ll pay you $100 per product you create for me.” Or something… I don’t know.

AI’s gonna get better too, so I don’t necessarily think we’ll run into a developer shortage in the same way that we used to, forcing companies to take in junior developers simply because they had no choice.

2. I will try to bring at least one person under my wings for mentoring#

Whether it’ll be internship, some kind of study group, or a junior developer at my gig. It’s not that I feel a void in not doing this, but I think that it’s a bit of a waste that I’m not doing any teaching at all. It sounds very high and mighty to myself saying this, but I think I’ve had enough practise to teach well.

I’m also a bit intrigued to try teaching based on Bloom’s 2001 revised Taxonomy Of Learning (video). It’s basically sharing which level is best for starting out learning about a certain topic and how to build from that, and I find that intriguing and most likely extremely underrated (as in why the fuck did nobody teach us this in school?!) And obviously I want to teach using AI as a tool for learning (without saying “just use AI to do it” like an unlikable person) and prove that it’s a vital tool for learning new things.

3. I will be doing public speaking about AI and TDD#

When I post about AI and TDD, people seem interested. Interested enough to invite me to speak at venues. I think that’s great, and although public speaking isn’t what I feel born to do, it’s a good way for me to enjoy myself while also doing some “personal brand” awareness (as cringey as that sounds, it’s good for people to have some awareness of my existence.)

I’ve bravely stated TDD to be the only way to ship serious software with AI. Someday I’ll probably retract that, but it’s been holding true for me for almost four months now, so we’ll see.

2026 is the year we’ll bring back the people#

Those are my plans to bring people into the fold.

By the way, why not connect to me on LinkedIn? I know the best place in central Gothenburg for a tasty and affordable lunch! Or you know, meet me online. :-)

Merry christmas and enjoy your holidays!