Software Engineering
24 articlesThe Part of Your Job AI Can't Do (And Why It Matters More Now)
There's a lot of anxiety about AI making engineering skills obsolete. But the most valuable part of what you do was never the typing. The judgment, the …
Building ownwords: A Synthesis Coding Case Study
What separates synthesis coding from vibe coding isn''t the tools — it''s the decisions. This technical case study walks through the architectural choices,...
Why Synthesis Coding Still Writes Code in the Age of LLMs
The answer is not "just let the model do it" — and code matters more, not less, as AI gets dramatically better Last spring, my son Fitz and I had an aftern...
Vibe Coding and Synthesis Coding: Two Complementary Approaches
Why the conversation isn''t about which approach is better — it''s about knowing when to use each This blog post is for software engineers, engineering lea...
Polyrepo Synthesis: Synthesis Coding Across Multiple Repositories with Claude Code in Visual Studio Code
I wrote this blog post for software engineers, architects, and technical leads. It is code-heavy and implementation-focused. This weekend I was working acr...
Seventeen years ago, I built a tool for the open Web. This weekend, I modernized it using Synthesis Coding with Claude Code AI
In 2008, I released a WordPress plugin called Blogroll Links. The plugin displayed lists of links on WordPress pages using a shortcode. But the idea behind...
Synthesis Coding with Claude Code: Technical Implementation and Workflows
A hands-on guide to practicing synthesis coding (a.k.a. synthesis engineering) with concrete examples, real workflows, and lessons from production systems ...
The Synthesis Engineering Framework: How Organizations Build Production Software with AI
From individual practice to organizational capability: a systematic approach to human-AI collaboration in professional software development This blog post ...
Synthesis Engineering: The Professional Practice Emerging in AI-Assisted Development
Why the most effective engineering organizations are developing systematic approaches that go beyond vibe coding — and why this practice needs a name This ...
Why Prompt Engineering Is Legitimate Engineering: A Case for the Skeptics
As a CTO who has spent decades working with software engineers across organizations like The New York Times, The Wall Street Journal, and now as President ...
The Future of Software: From API to AI as the Communication Interface
As we look ahead to the evolution of how people and machines communicate with software, it's clear that artificial intelligence (AI) will play a key role. ...
Roles and Responsibilities for Digital Product Development Teams
I'm writing this article to share some insights on a topic that's been crucial throughout my professional journey – Roles and Responsibilities in Digital P...
MatheMagic Card Trick
Introduction MatheMagic Card Trick is a fun and simple number revealing magic trick using math. Use the page generate-cards.html to generate your cards to ...
Harvard NiemanLab article: Acing the Algorithmic Beat, Journalism’s Next Frontier
Read the article I co-authored, Acing the Algorithmic Beat, Journalism's Next Frontier at Harvard University's NiemanLab. In a world where key decisions ar...
Dear Makers, On Fridays My Office is Yours — An Experiment
Some senior leaders choose to work alongside their teams in cubicles, eschewing private office rooms. New York City’s former mayor Michael Bloomberg is an ...
Product Maintenance vs. New Development on Web Sites, Mobile Apps and Other Digital Products
Maintenance of a digital business product (e.g. a Web site, mobile app, or software) refers to the work that includes modifications made after delivery to ...
Hosting Large-Scale Web Sites: Contract Review Guide for the CTO
Introduction: Why Web Hosting Contracts Matter In today's digital economy, your website isn't just a marketing channel—it's the backbone of your business. ...
Software Products: Own vs. Rent & Create vs. Get (Incorrectly Called Build vs. Buy)
Understanding the issue Technology executives are often asked about their preferences on build vs. buy. This question would be better articulated as two se...
Sometimes extra steps in workflows are good
When implementing a content management system or other product, customers often ask for workflows that require the least number of steps required to any gi...
Google Web Toolkit: Develop and Test in Java, Deploy as AJAX
I'm building a pull-down-menu navigation for the rajiv.com site using the Google Web Toolkit (GWT) and I'm impressed by this Google product. It allows you ...
The Art and Science of Project Management: Beyond Tools and Techniques
Originally published April 1, 2006 – Revised and expanded March 23, 2025 Starting Early, Not Driving Recklessly Fast In my original 2006 article, I shared ...
Java Progammer? Use BeanShell
BeanShell is a fully Java compatible scripting language, capable of interpreting ordinary Java source files. You can also use it for working with Java inte...
Content Management: Content & Search Technologies
Search, when effectively integrated with content, creates a combination that is greater than the sum of the two separately. Let us consider an example. A p...
Eight Years at Knight Ridder: Building the Digital Newsroom
Reflections on nearly eight years at Knight Ridder, from solving publishing problems at 20 to VP Engineering leading Cofax development for 31 newspapers.