← Back to blog

Catching the Wave I Almost Missed

Header image for Catching the Wave I Almost Missed

In February 2025 I took a year away from my software job to work on a project close to my heart.

Maternity leave has been straight up amazing - and I didn’t really intend to keep my finger on the pulse on work. I figured, whatever happens in my job, and in the industry, I can always pick it back up when I get back to work in spring 2026.

I began to hear chatter about vibecoding while scrolling twitter during late-night baby feeds over the course of summer and autumn 2025. Programming novices were shipping apps. Programming experts boasted of wild productivity. It was a steady thrum of hype. But I wasn’t planning to work through maternity leave, so I only vaguely read about these things. I focused on my baby, and figured - I’ll have time to get back to it.

Then November 2025 happened. Suddenly all everyone was talking about was Claude Code with Opus 4.5. There has been a step change - you can now really program just through the chat interface, without writing a line of code in an IDE. And the final nudge that tipped me over the edge was hearing friends talk about setting up a vibecoding setup to be able to code from their mobile phone. My baby was also going through a sleep regression, and by 8 months I no longer had the helpful postpartum hormones making it no big deal to get up lots in the night. I was tantalised by the promise of a hit of something genuinely satisfying at my fingertips.

I didn’t get into vibecoding for my career, nor for a particular passion project. I got into vibecoding because I needed dopamine to get me through my night feeds

So there I was, Hetzner VPS and Tailscale network literally in hand, all the possibilities of Claude Code at my command. I started so many side projects and made so many prototypes! Whatever I or my husband wanted to use, I would make it. Anything I didn’t know, or didn’t understand, I asked Claude to teach me. All fears of being too rusty to be productive melted away very fast. Any spare moment became a moment I could check in on claude, unblock it, and continue to build whatever came to mind.

Of course, then came the natural next step: FOMO about all the parts of the day when I wasn’t at my phone. I began vibe-building automators and orchestrators for my claudes (at the same time as everyone else on my timeline was of course - with our Christmas two-week double usage Claude subscription). I was vibing orchestrators on my phone while watching a napping daughter on boxing day morning. The world was crazy.

Once you start projects of course, eventually you have to try to finish them. This was when I started really learning about the limitations of vibecoding. It’s actually very hard to get things exactly how you want them, and good enough to ship (at least for someone with a sense of what “good enough” was calibrated to a decade of software engineering). The human testing loop bottleneck was real - though I found more and more ways to get testing agent-automated (a particularly triumphant moment was when I finally got claude able to remote-install and remote control android app testing from an old phone - still from my VPS and via my mobile, of course). Defining testing success criteria, making sure the code stayed maintainable and organised, and generally specifying what “good” means to me were the parts that I hadn’t worked out how to speed up yet.

What people say about the last 10% taking 90% of the time is real - though it’s more like 95-99% of the time now because the first 90% is so fast! It’s also possible to get into ruts where local optimisation just keeps making things worse, which require stepping back and rewriting whole components to get out of. But of course re-writing is just as cheap as writing for the first time now, so the ruts aren’t a problem as long as you noticed you were in one. A decade’s worth of engineering habits needed re-writing.

So as you might expect, I have a lot of projects in beta but not many I can call “complete”. One fun thing I can share, which I did finish, was a little maths game I call 24sum. I intended it to be a couple of days warm up project, but in the end the “last 10%” problem meant I took a couple of weeks elapsed time to find all the bugs in the canonicalisation algorithm for deduplicating solutions, as well as all the UI snaggles that made the playing experience not quite right.


As I’ve been coming up to the end of my maternity leave, I find myself reflecting on the last few months, and realising how lucky I’ve been to have caught the wave when I did. I’m a big believer in making my own luck. I’ll always shill for the book “The Luck Factor” by Richard Wiseman, which describes how lucky people get their luck from their outlook and attitude. And I’m grateful for having had an open minded attitude that said “sure why not” when it saw an opportunity to try something that was both tempting (coding! on my phone! while baby naps! what!) and a challenge outside my comfort zone.

The counterfactual where I wasn’t on Twitter and reading about vibecoding and claude is strange to contemplate. What if I’d chosen tiktok, or instagram, for my nursing-doomscrolling? Or even Reddit, the strange anti-AI realm that it has become. Imagine showing up to my day job in a couple of weeks time blithely ignorant, completely unaware that the software landscape has shifted, and still having the impression that AI coding was “github copilot in 2024”. The amount that I could have been behind is rather terrifying.

I reassure myself with the thought that the learning curve is the easiest it’s ever been, also because of AI. I hesitate to call it a shallow ramp because the actual amount you can learn still corresponds to what I would have called a “steep ramp” as an engineering manager. But the difference is that you are now never stuck for a learning resource, or from being afraid to ask a question, because of AI assistants. Despite having a confident demeanor I was also, as many women in tech are, someone who had to battle their inner insecurities and the resultant friction it causes when jumping into new domains and needing to ask lots of “newbie questions”. And the friction consumed endless energy, which made being on a constant steep learning ramp an exhausting process.

The new world is a totally different habitat for someone like me. I don’t ever need to be terrified to ask a dozen really basic questions to an AI assistant. I don’t end up imagining a voice asking “is she really a programmer, if she doesn’t even know that?” And I’m never blocked on not having the knowledge of what to search for or where to look for it.

Who knows where I would have been if I hadn’t caught the wave when I did? Optimistically, I’d like to think I’d still have been riding it. Though with the world changing as quickly as it does, three months is both worth a lot, and also not much in the grand scheme of things. But mostly I am relieved to be riding the wave. And I am very glad I got lucky by being open to opportunities, and I got on Mr Bones’ Wild Ride when I did.


Originally published as a article on X. Follow Yanqing for more on AI coding and software quality.