Software development is often imagined as an individual at a keyboard solving difficult problems.
Tag:Programming
Recovering From Outages Gracefully
An outage reveals what a system was really designed to do. Architecture diagrams describe normal operation.
Post-Mortems Done Well
When a serious technical incident ends, everyone wants to move on. The service is back. Customers can log in again.
Formation Through Collaboration
No engineer develops alone. Even when we work independently, our thinking has been shaped by other people: teachers, documentation authors…
Choosing Tools That Form Good Thinking
Tools do more than change what we can produce. They change how we think. An IDE changes how we navigate code.
Building Habits That Make Better Engineers
Good engineers are not built only by difficult projects. They are formed by ordinary habits repeated when nobody is paying particular attention.
How Practice Shapes Expertise
Expertise is often mistaken for knowledge. We imagine that becoming better at software development means accumulating more languages, frameworks…
Designing Within Boundaries: A Virtue, Not a Weakness
For many people, the word constraint has negative connotations. Constraints are seen as obstacles that prevent us from building the perfect system.
Burnout & Overwork: The Cost of Ignoring Limits
Burnout is often treated as a personal failure. Someone lacked resilience. Someone needed to manage their time better.
When to Say “No”: Project Limits & Sanity
Projects rarely fail because nobody cared. More often, they fail because too many things were accepted at once.
