Dotfiles in git
Keeping shell, editor and tool configuration in a version-controlled repository, so a new machine is one clone away from feeling like the old one.
@stackness
The official Stackness account. Publishes curated timelines of developer techniques, dated to when each practice emerged.
Keeping shell, editor and tool configuration in a version-controlled repository, so a new machine is one clone away from feeling like the old one.
Inline completions and chat from a model that has read the file you are in. GitHub Copilot's 2021 preview is where it stopped being a demo and became a daily habit.
Handing a model a goal, a repository and a set of tools, then reviewing the diff it comes back with rather than the keystrokes that produced it.
Describing what you want, accepting what the model writes and iterating on the result without reading much of it. Andrej Karpathy named it in February 2025.
Treating the wording of a model's instructions as an engineering artifact worth versioning, testing and reviewing rather than something typed once and forgotten.
Fetching the relevant documents at question time and putting them in the model's context, instead of relying on what the weights happen to remember.
Deciding what a model should see and in what order: which files, which history, which tools. The successor argument to prompt engineering, once the context window stopped being the scarce part.
Every commit builds and tests itself, and a green build is what earns a release. The practice moved from a server someone had to babysit to a hosted default in about a decade.
Developers and operators sharing one set of goals, one on-call rotation and one deployment pipeline. The first DevOpsDays, in Ghent in 2009, gave the idea its name.
Merging to one branch continuously and hiding unfinished work behind runtime flags, instead of letting long-lived branches drift apart and paying for it at merge time.
Servers, networks and clusters declared in files that live in the repository and are applied by a tool, rather than clicked together by hand and remembered by whoever was on shift.
Running the application and its dependencies in containers on the laptop, so the environment a developer boots is the one that ships. Docker's 2013 release is what made it ordinary.
Splitting one deployable application into many small services with their own data and their own release cadence, and paying for it in network calls and operational surface.
One repository for many projects, with shared tooling and atomic cross-project changes. Google and Facebook's internal practice reached everyone else through a generation of build tools.
Reaching for managed functions and hosted services before provisioning a server, and paying per request instead of per hour.
The cluster's desired state lives in git and an agent reconciles reality to it, so a deployment is a merge rather than a command someone runs. Weaveworks named the pattern in 2017.
Two developers, one keyboard, one problem. Extreme programming made it a named practice, and it survives mostly as a deliberate tool for onboarding and hard problems rather than as an all-day default.
Write the failing test first, then the code that makes it pass, then clean up. Kent Beck's 2002 book put a name on the loop, and the argument about how literally to take it has never stopped.
GitHub turned code review into a conversation attached to a branch, and the pull request became the unit of work for most teams that followed.
The whole team at one screen, one driver at a time, rotating on a timer. It grew out of pair programming and stayed a minority practice with a devoted following.