How to learn a new developer tool in a weekend
The order that works, and why starting with the quickstart is usually a mistake. A method drawn from writing these guides, and from getting it wrong first.
Every tool has a quickstart. Most people begin there, get something running in ten minutes, feel good about it, and then discover a week later that they cannot debug anything, because the quickstart taught them a sequence of commands and nothing about the system underneath.
Here is the order that actually works. It is slower on day one and much faster by day three.
1. Read the “why”, not the “how” (30 minutes)
Before any installation, find out what problem the tool was built to solve and what people did before it existed.
The best sources, in order: the project’s original design document or announcement blog post, the “motivation” section of the docs, and a conference talk by whoever built it. What you are looking for is the pain that justified the tool’s existence.
This matters because every design decision in a tool is a response to some problem. Kubernetes looks arbitrary until you know it came from Borg and the problem of running a fleet. Git’s index looks strange until you know it exists so you can commit part of your work. Once you have the motivating problem, the design stops being a list of facts to memorise and becomes something you can reason about.
2. Find the three or four core nouns (1 hour)
Nearly every tool has a small set of primitives that everything else is built from.
- Docker: image, container, volume, network
- Git: blob, tree, commit, ref
- Kubernetes: the reconciliation loop, and the objects it reconciles
- Terraform: provider, resource, state, module
Write them down. Write down how they relate. If you cannot explain the relationships in a paragraph, you do not have them yet — and no amount of command practice will substitute.
This is the step people skip, and it is the one that determines whether you are still copy-pasting from Stack Overflow in six months.
3. Type out a worked example — do not copy it (2 hours)
Now build something. Not the quickstart’s hello world; something with two moving parts, because the interaction between parts is where the learning is.
Type it, character by character. Copy-pasting produces working code and no memory. Typing produces typos, typos produce errors, and errors are how you learn what the error messages mean — which is most of what expertise consists of.
Do it without an AI assistant this first time. You are not trying to produce the artifact; you are trying to build the mental model, and the struggle is the mechanism.
4. Break it on purpose (1 hour)
This is the step almost nobody does, and it is the highest-value hour of the whole weekend.
Take your working example and break it deliberately:
- Remove a required field. What does the error say?
- Point it at a port nothing is listening on. What does that failure look like?
- Give it a malformed config file. Where does it complain?
- Kill the process mid-operation. What state does it leave behind?
You are building a fault dictionary: a mapping from error messages to causes. When something breaks in production at 3am, having seen that exact message before in a safe context is worth more than having read the entire manual.
5. Read the troubleshooting docs before you need them (30 minutes)
Every project has a troubleshooting or FAQ page, and it is a list of the things that actually go wrong, written by the people who answer the support requests. Reading it cold — before you have the problem — means you recognise the shape of your issue when it arrives.
It is the highest-density page in most documentation and it is usually read last, under stress, which is the worst possible time.
6. Then read the quickstart (15 minutes)
Now the quickstart is useful, because you can see why each step is there. Before step 2, it is a magic incantation. After, it is a summary.
What this costs, and what it saves
About five hours instead of the forty minutes a quickstart takes. That trade is obviously worse on day one and obviously better by the end of the first week, and the gap keeps widening — because the person who understands the model debugs in minutes what the person with the command list debugs in hours, or never.
The signal you are done
You can answer a question the documentation does not directly address.
Not “what is the flag for X” — that is lookup, and lookup is fine. Something like “what happens if two of these run at once?” or “why would this be slow here but not there?”. If you can reason your way to an answer and then confirm it, the model is in place.
If you cannot, go back to step 2. The nouns are not solid yet.
Every guide on this site is written in this order deliberately: why, then concepts, then a worked example, then the mistakes, then troubleshooting. If the structure feels slow at the start, that is the point. Pick one and see.
- #learning
- #developer-tools
- #method
Get the next comparison in your inbox
No vendor press releases. Just what we learned running these tools in production.