software engineering
-
Open Source Security Is Everyone’s Problem Now
Two weeks ago, a North Korean state actor compromised the lead maintainer of Axios and published malicious versions to npm. The library has roughly 100 million weekly downloads. The poisoned packages were…
-
“Done” Is Not Merge: Why Your Definition of Done Is Probably a Lie
The most dangerous lie in software engineering is a two-word status update: “It’s done.” In most teams, done means the pull request was merged. The CI pipeline turned green. The ticket moved…
-
AI Made Learning Feel Pointless. That’s Exactly When It Matters Most.
A week ago my blog post got noticed by developers. I got so many messages and there was a recurring theme. They feel helpless and anxious with the ever growing AI dominance…
-
AI Made Writing Code Easier. It Made Being an Engineer Harder.
Yes, writing code is easier than ever. AI assistants autocomplete your functions. Agents scaffold entire features. You can describe what you want in plain English and watch working code appear in seconds.…
-
The First 1,000 Lines Determine the Next 100,000 in AI Coding
I learned this the hard way while working with Claude Code. AI looks at your existing code and copies the patterns it finds. If you start with clean code, the rest stays…
-
Coding Is Changing. Software Engineering Is Not Going Anywhere.
At the World Economic Forum in Davos on January 20, 2026, Anthropic CEO Dario Amodei said something that landed like a grenade across the technology industry. In an interview with The Economist,…
-
Prompt Patterns Catalog, Part 2: Iteration, Verification, and Persona
In the previous post, I introduced three foundational prompt patterns: Decomposition for breaking complex tasks into manageable units, Exemplar for teaching by example, and Constraint for defining boundaries. These patterns address the…
-
Prompt Patterns Catalog: Decomposition, Exemplar, Constraint
Software developers are familiar with design patterns. The Gang of Four cataloged reusable solutions to recurring problems in object-oriented design. You learn patterns like Strategy, Observer, and Factory not because they are…
-
Generate: The Art of Effective AI Collaboration
Generation is where the visible work happens. You provide input, and the AI produces code. This is the moment most developers think of when they imagine AI-assisted development. It is also where…
-
Specification Templates: A Practical Library for AI Development
In the previous post, I made the case that specification is the highest-leverage skill in AI-driven development. A precise specification produces better output, requires less iteration, and surfaces ambiguity before it becomes…