In the AI World, Learning is Still Worth It
My resume says that I am a software engineer. In practice, the many hats I’ve worn feel like an amalgamation of everything but. I have two bachelor’s degrees (don’t ask), but long past were the days where I really felt like I excelled at my craft. Always writing some overly-practical, never-exceptional Python. Always frustrated with some dreadfully-cobbled-together Node application thats only ever just good enough. Now, I don’t think this is from a lack of ability or education. While no one would ever accuse me of being a star student, I did very much excel at data structures and the like. But somewhere along the way I traded pride for apathy.
In December of 2023 I departed Canonical after three years. Recently engaged, planning a move, and not having many options. Several months later, I found myself sitting in a camper in the outskirts of Memphis, Tennessee, contemplating a career pivot. Wanting to provide for my wife while tirelessly applying for jobs and pushing myself to contributing to open source projects. After months of searching in what felt like an impossibly competitive job market, it became clear to me that I needed to upskill. Creating a new project from scratch sounded like a prime way to add skills to my toolbelt in an attempt to deliver us from circumstance. But with AI being championed across the domain of software engineering, is learning still valuable? Is the only skill that exists in this new world just “prompting?” Is knowledge reduced to reguritating a summary of things I don’t understand?
This is where Bazaar was born. No not that Bazaar – I’ll get to that in a minute. Canonical had recently released their flutter-based App Center which I thought was safe and uninspired. The too-familiar coat of paint that is symbolic of Ubuntu as of late, just maintaining and never innovating. Bazaar was new GUI client for browsing and managing flatpak applications that was built on flutter. And for the next two months, I pushed forward in an attempt to close the growing gap between where I was and where I wanted to be. But even if I did complete it, would anyone care? Would it meet any of my family’s needs or would it be an investment in irrelevance? Between not knowing if this was ever going to pay off and a tremendous amount of self-doubt, my little pet project fizzled and died. In spite of that, I was blessed with employment and was well on my way to turning things around, and from that perspective, yes, Bazaar no longer mattered.
Fast-forward to early June 2025 and I see chatter about Bazaar through Universal Blue. What was this? My flatpak application? No, this is my idea but slightly different, flatpak GUI client written in C. People seem to be praising it. It’s evolving and getting support from a popular linux distribution image. But how? No one would have cared about my version, right? I sat there feeling deflated, defeated. Could that have been me?
Maybe.
I think even that question has already missed the point. Why did I start Bazaar? Was it for recognition and praise, or was it for becoming better? I spent the next few months mulling over those questions in my head while working on Mosaic in my spare time. The truth is that I lost my way. Gone were the days where I geeked out over algorithms or cared about doing great work if not only for the fact that my name was on it somewhere.
The reality is that I did’t have to stay there. I can still learn. I can still grow. I can still care. So I decided to finish Bazaar, although I would argue that there is no true finish line. I wanted to see it through, not to try to somehow capture an audience that was taken from me by my own insecurities, but to complete it for the sake of my original goal: to learn. Nowadays it’s called Outlet and it’s lightyears ahead of where Bazaar was when I took my first stab at it. And to get to where it is today, I had to get to where I wasn’t many times over.
Sure, Outlet at times resembles the finest, most authentic italian cuisine, but without trying and doing things wrong a bunch, I can’t improve. Without experience, learning is only ever theoretical. I heard a quote the other day in a video from Make with Miles that I thought was profound:
“Be prolific rather than excellent. There’s no right way to make things. There’s only the way that’s taking the most advantage of what you already have.”
- Ben Uyeda
And while there are certainly wrong ways to make some things, the quote carries a spirit of designing, iterating, and improving. Using Excel is definitely the wrong way to implement a CPU, but someone had the gall to do it. The quote is not discounting excellence, it’s communicating how to achieve it. The pursuit of excellence is not a leap to perfection but endlessly stumbling towards it. I struggled a lot completing Outlet, and each of those moments were opportunities to become better.
To name a few:
- Generating and utilizing FFI bindings for C library interop
- State caching and management in Flutter
- Dart isolates for multithreading and asynhronous tasks
So maybe one day, learning won’t be necessary, and we’ll all just be grateful we’re not extinct. Even if my skills no longer mattered, would I regret the time spent collecting them? So far there’s very little, if anything, that I regret knowing. My life is rarely better being more ignorant and less competent. So I’ll go do something that has been done before – write something that has been written before. I’ll push my own boundaries instead of approaching them with apathy. I’ll pursue excellence so that when it’s needed, I can take advantage of what I already have.
You should too.