Posts tagged “software development”
My bet for 2026: companies chasing margins and hitting diminishing returns on frontier models will shift to fine-tuning small, domain-specific models. Fine-tuning is getting cheaper, open-weights models are catching up to frontier ones, and differentiation through your own data beats competing on prompt engineering alone.
AI won't kill programming jobs or leave them untouched. It's a new abstraction layer, like every one before it, that will create vastly more developers building vastly more software. Existing programmers keep their jobs; a long tail of cheaper new roles unlocks demand we couldn't previously afford to meet.
I scaled back my ambitions from "how to write AI apps" to what I've actually learned. Key lessons: LLMs excel at condensing text, not creating it. Give them the data they need rather than relying on training. Let them self-correct. Use regular code wherever possible. And stop trying to replace humans, especially doctors and lawyers.
After leaving Netlify, I've been exploring AI/ML/LLM opportunities. Here's my explainer: "AI" is marketing, ML learns from examples, and LLMs are essentially massive word-completion engines. But at scale, something remarkable emerges that looks like understanding, and that changes everything about what software can do.
After 25 years in web dev and 10 doing data work, I finally feel like I know what I'm doing. Key lessons: hire data engineers not scientists, buy your warehouse don't build it, use dbt and Airflow like you'd use Rails, and keep domain experts close. Still figuring out dashboards and discovery.
Good code does what you need it to do and is ready when you need it. Testability, elegance, extensibility matter, but they're secondary. Late code isn't good code. Code that never ships needs no maintenance. Everything else is nuance.
Great teams produce great software regardless of methodology. Agile changes your release pattern, not your people. Bad teams using agile just release bad software faster.
Unit testing isn't about finding bugs, it's about preventing them. Tests written alongside code catch silly mistakes, document correct usage for other devs, and verify edge cases. Best of all, they provide certainty: after a refactor or dependency upgrade, passing tests mean everything still works.
Started programming at 11 at computer camp in Trinidad, building shapes in GWBASIC. My first real program got me my first job. Best advice: program badly for a long time, and document everything. I love web development the way other people love sunlight.
Looking for a Java developer willing to relocate to Gibraltar. Get in touch.
We build roads by widening paths until we finally bulldoze everything and start fresh. We build software by layering complexity onto demos until we have a mach 1 titanium rocket ship navigating a dirt track. At some point, we need to build a new road.
Sometimes I step back and think: I'm literally making my brain run in a machine. Five terminals, 24 emacs buffers, four languages, and it all works. Coding is weird and wonderful and I love it. Am I alone in occasionally thinking "wow, this is so cool"?
Responding to an MSNBC piece on bad software: unlike engineers who rebuild flawed machines from scratch, coders patch and graft changes onto existing code. All those shortcuts and compromises compound into garbage. Code reuse isn't the answer. That's why software sucks.
Discovered Extreme Programming, a team-based development methodology that's field-tested and well-regarded. Now wondering how my professors will feel about me proposing pair coding for my end-of-term project.