Writing
Thoughts on software engineering, product development, and building things right.
- ai coding-agents context-engineering
I Intercepted 3,177 API Calls Across 4 AI Coding Tools. Here's What's Actually Filling Your Context Window.
Claude used 23K tokens to fix a one-line bug. Gemini used 350K. I built a tool to find out why.
- ai coding-agents developer-experience
Are We Becoming QA for the Machine?
I built my first real app almost entirely with coding agents. Somewhere in the process, I stopped being the engineer.
- engineering team
Full stack is too full and not full enough
"Full stack" sets expectations nobody can meet. The real gap isn't technical range, it's everything around the code.
- ci-cd testing docker gitlab
Integration tests on GitLab CI with Docker
Using docker:dind plus docker compose in GitLab CI makes full integration tests feel local and repeatable.
- career leadership management
Ambition should be about what you want to do, not what you want to be
Ambition gets healthier when you focus on the work you want to do, not the title you want to carry.
- engineering team leadership
Empathy is the most undervalued skill in software engineering
The hard part of building software has never been the building, but understanding why, for whom, and what happens if you get it wrong.
- leadership delivery management
Building trust after a failed project
When a client has been burned by a previous team, no amount of technical skill will save you. You need rhythm.
- agile planning delivery
Agile is no excuse to start without a plan
Agile is fun. Failing early is great. But failing all the time isn't.
- docker devops workflow
Efficient development with Docker and docker-compose
Let's set up a development environment for a Python and Java service in Docker, featuring code watching, Gitlab CI, and other good stuff.
- api rest design
Process-driven REST API design
REST is a heavily oversimplified and massively misunderstood (but very widely used) concept for designing APIs. Here's a better approach.
- career engineering growth
How programmers get disqualified from doing everything else
Being able to program is one of the few skills that can make you be seen as less than what you are.
- java programming satire
Going on a Date with Java
A satirical commentary on Java's date/time libraries.
- iot simulation visualization
The importance of simulation and visualization in IoT systems development
Improving the efficiency of IoT systems development through better tooling.
- programming semantics software engineering
The case for Semantic Programming
The journey to improve software development by orders of magnitude.
- scrum agile process
Continuous Scrum - A more efficient way to work agile
Scrum is great, but it has some disadvantages. Let's discuss a potentially even better way of doing Scrum!
- scrum agile process
Lessons learned using SCRUM
My experiences after a few years of applying SCRUM for a software development process.
- software engineering culture quality
On the immaturity of Software Engineering
We're still developing!
- product engineering problem solving
Stop tech-driven problem-solving
Don't let new and shiny tech lure you into finding a problem for it. First identify the problem, then find the tech to solve it.
- management leadership soft skills
Management for introverts: Influencing people with positivity and intellect
How I've found a positive approach to management.
- leadership communication career
Soft skills for Software Engineers
Speaking up, disagreeing with intellect instead of emotions, and don't be an ass.
- iot systems architecture
IoT isn't about smart things. It's about smart interactions.
Smart things are stupid. Smart systems are smart.
- iot wireless lora
LoRa: The latest revolution in IoT wireless technologies - A primer
What is LoRa, and how can you use it?
- devops docker ci-cd
Simple continuous deployment with docker compose, docker machine and Gitlab CI
Let's be lazy and deploy simple docker-based architectures directly through docker compose, using only free tooling.