The AI Acceleration Whiplash
August 12, 2026
The 2026 engineering data is in: heavy AI users are pulling away, while the median team drowns in bigger PRs, longer reviews, and production incidents. I look at what separates the teams that close the gap from the ones that just move faster sideways.
ai
engineering-leadership
software-development
dora
productivity
AI Coding Assistants: Speed Is Nice, Flow Is the Point
July 29, 2026
AI coding assistants are no longer a novelty. I look at what the data really says about speed, flow, and job satisfaction, and how to get the value without turning developers into prompt operators.
ai
developer-productivity
engineering-leadership
Agile Isn't Dying — It's Becoming Agentic
June 17, 2026
Agile is not dying. The 2025 State of Agile report shows AI adoption in Agile teams jumped to 84%, ROI scrutiny reached 76%, and hybrid models now dominate. The next phase is agentic Agile.
agile
ai
agentic-ai
engineering-leadership
methodologies
Drinking from the Fire Hydrant: Completing MIT's Blended CTO Program and Winning the Impact Project Prize
June 17, 2026
I completed MIT's Blended Professional Certificate in CTO and my impact project team won the fire hydrant prize for a mobility solution for people with reduced mobility. Here is what the experience changed for me.
mit
cto
leadership
ai
mobility
personal
DORA 2024: AI and Platform Engineering Fall Short
June 10, 2026
The 2024 DORA report reveals that AI adoption and platform engineering are not improving core software delivery metrics. Instead, better documentation and user-centricity remain the strongest predictors of performance.
devops
dora
ai
platform-engineering
developer-experience
engineering-processes
The Developer Productivity Metrics That Actually Matter
June 3, 2026
Most teams measure developer productivity with output metrics that miss the human side. The 2025 data from 24,534 developers reveals what actually drives productivity—and it is not what most dashboards track.
developer-productivity
engineering-leadership
developer-experience
management
software-development
The Three Debts of AI-Native Engineering
May 27, 2026
AI adoption is table stakes, but most teams are only measuring one kind of debt. The data reveals cognitive and intent debt as the real barriers to AI productivity. Here's what I found.
ai
software-development
engineering-leadership
developer-experience
management
Small Businesses Are Winning the AI Race. Here's Why Big Companies Can't Catch Up.
May 15, 2026
Small businesses beat large enterprises at AI adoption because they move faster, skip committees, and feel the pain directly. Here's the data and my experience running two companies that adopted AI early.
ai
business
startups
productivity
software-development
The AI Verification Bottleneck: We're Speeding Up the Wrong Part of the Pipeline
May 13, 2026
AI coding tools have flipped the software development pipeline. Writing is now cheap; review is expensive. We look at the 2026 data on the verification bottleneck and what it means for engineering teams.
ai
engineering-process
code-review
developer-experience
software-development
Code Reviews in the Age of AI: Why the Bottleneck Just Moved
May 6, 2026
AI coding assistants produce PRs faster, but review velocity hasn't changed. The bottleneck shifted from writing to reviewing. Here's how we fixed it at Symbol.
ai
software-development
management
teams
developer-experience
Go 1.24's `go tool` Kills the tools.go Hack (Finally)
April 29, 2026
Go 1.24's `tool` directive eliminates the `tools.go` blank import hack. Use `go get -tool` to pin dev tools like `stringer` or `mockgen` in go.mod, then run with `go tool`. Unified team workflows, no version drift, no global installs.
go
tooling
dependencies
go-1.24
developer-experience
Go 1.26's `go fix` Is the Antidote to AI-Generated Old Go
April 27, 2026
AI coding assistants are great at writing Go, but they're writing Go from 2020. This post explores Go 1.26's modernizers — a rewritten go fix that automatically upgrades outdated patterns like interface{} to any and manual map loops to maps.Keys.
go
ai
tooling
refactoring
software-development
Syncthing to my NAS
November 28, 2025
This post walks through setting up Syncthing to sync files between multiple computers and a NAS device. It covers installation on Arch Linux, Docker setup for NAS, device configuration via Tailscale, and important exclusion patterns to avoid syncing unnecessary files.
tools
devops
networking
deployment
Go and Loops: How Music Sampling Reflects Go Development
October 19, 2025
The process of taking an old sound and making it new feels exactly like building software. This post explores parallels between music sampling and Go development, from finding libraries to managing concurrency with goroutines. The tools differ but the thinking is identical.
go
software-development
architecture
Lost in Translation? A Founder's Guide to Communicating with Your Development Team
September 17, 2025
Miscommunication between executives and developers causes project failure. This guide covers clear strategies: defining problems not solutions, protecting developer flow state, and building feedback loops. Learn to turn your engineering team into true product partners.
management
teams
software-development
business
Beyond the Firewall: A Guide to Understanding and Defeating CSRF Attacks
September 2, 2025
A deep dive into CSRF attacks, one of the most common web vulnerabilities. This guide explains the anatomy of an attack, covers best practices for mitigation like the Synchronizer Token Pattern and SameSite cookies, and details common anti-patterns to avoid.
security
web-development
web-tech
backend
devops
The 100ms Advantage: Caching Headers Boosting Revenue
September 2, 2025
Website speed impacts revenue - just 100ms can cause a 7% drop in conversions. This guide explains how HTTP caching headers like Cache-Control and Content-Encoding improve performance, reduce costs, and boost SEO. Learn to turn caching concepts into business advantages.
monitoring
performance
web-development
devops
networking
Stop Buying Pixels: How to Invest in a Design Partner, Not Just Hire a Freelancer
August 22, 2025
Learn why treating UI design as a commodity holds your business back. Discover how to shift your mindset from expense to investment to build a powerful partnership with your designer and achieve a tangible business ROI.
business
management
frontend
teams
web-development
Static Site, Dynamic Soul: Building Forms with Elegance and Edge
July 24, 2025
This post breaks down how we solved the $200/month contact form problem for a static Hugo site. We detail our journey in crafting an elegant, zero-cost solution by using Cloudflare Workers as a serverless 'brain' and HTMX for an instantaneous user experience.
tools
deployment
frontend
web-tech
web-development
When Logic Fails: How We Settled the Monty Hall Problem with Go
July 19, 2025
When our team couldn't agree on the Monty Hall problem, we turned to Go programming to settle the debate. This article shows how we built a simulation to prove that switching doors really does double your chances of winning.
go
software-development
backend
testing
Maximizing Efficiency in Product Development: Agile Strategies for Small Tech Teams
November 21, 2023
This post explores how small tech teams can use Agile methodologies to boost product development efficiency. It covers Scrum, Kanban, and XP practices, along with implementation strategies. Learn to overcome challenges and leverage tools for better team productivity.
management
teams
business
software-development
Get to Know DORA Metrics: The Key to DevOps Success
February 8, 2023
In today's fast-paced software development world, measuring team performance is crucial for improvement. DORA metrics help transform low-performing teams into high-performing ones. They track progress and ensure customer value delivery.
devops
performance
teams
software-development
management
monitoring
Open-source licenses and their implications
January 18, 2023
This post explains popular open-source licenses and their implications for software development teams. It covers permissive and copyleft licenses like MIT, GPL, Apache, and BSD. Learn how license choices affect usage, modification, and distribution of open-source software.
open-source
business
software-development
Application Performance Monitoring
January 16, 2023
Application Performance Monitoring (APM) uses telemetry data to enhance system observability. It helps teams troubleshoot issues and improve user experience in production. Learn how instrumenting Go applications with APM tools enables proactive monitoring and optimization.
monitoring
performance
go
devops
backend
Using Plush with Go
April 16, 2022
This post demonstrates using Plush templating engine with plain Go applications for server-side HTML rendering. It shows how to integrate Plush with standard Go handlers and embed templates. Learn to enhance Go web apps with Plush's ERB-like syntax for dynamic content.
go
architecture
tools
web-development
backend
Page layouts in Go
March 12, 2022
This post explains how to use Go's template block and define expressions for creating reusable page layouts. It demonstrates avoiding repetition in HTML templates for a blog application. Learn to separate layout from content for better maintainability.
go
architecture
web-development
backend
Go embed for better SQL query management
January 16, 2022
This post explores using Go's embed package for improved SQL query management in applications. It compares embedding SQL in strings versus using separate SQL files with go:embed. Learn how this enhances editor support and maintains single-binary deployment.
go
database
backend
software-development
Timezone Data in Go 1.15+
December 10, 2021
This updated guide explains handling timezone data in Go 1.15 and newer versions using the time/tzdata package. It covers importing the package or using build tags to embed timezone data. Learn to simplify timezone support in Go applications without Dockerfile modifications.
go
deployment
backend
devops
Using Go's build tags
November 26, 2020
This post explains how to use Go's build tags for conditional compilation in applications. It covers syntax, Boolean logic for tags, and practical examples for plugins and OS-specific code. Learn to optimize Go builds for different environments and features.
go
architecture
software-development
backend
deployment
Go's Locations & Alpine Docker image
March 29, 2020
This post explains how to configure timezone support in Go applications running on Alpine Docker images. It covers copying the zoneinfo.zip file and setting the ZONEINFO environment variable. Learn to ensure accurate time handling in containerized Go apps.
go
tools
deployment
devops
backend
TIP: Ensuring your team uses YARN/NPM
January 16, 2020
This tip explains how to enforce consistent package manager usage in JavaScript projects. By configuring .npmrc and package.json engines, teams can prevent mixing YARN and NPM. This avoids dependency conflicts and ensures smooth development workflows.
frontend
software-development
devops
tools
Testing Buffalo Applications
December 18, 2019
This comprehensive guide covers testing Go Buffalo applications across different layers. It explains testing routes, middlewares, helpers, actions, and models with practical examples. Learn best practices for ensuring code quality and stability in Buffalo apps.
go
testing
tools
software-development
web-development
backend
Golang on CircleCI
October 9, 2015
This post provides a quick guide to setting up Continuous Integration for Go projects on CircleCI. It includes a sample circle.yml configuration for dependencies, testing, and environment setup. Get started with automated builds and tests for your Go applications.
go
tools
deployment
devops
testing