Quick One: jq Saved My Afternoon
Back from a break, easing in with a small one.
Support handed me 40MB of JSON logs and a question: which customer IDs hit the failing endpoint, and how many times each. Old me opens an editor, writes a 30 line Python script, argues with the JSON layout. Current me:
jq -r 'select(.path == "/v2/enrich" and .status >= 500) | .customer_id' logs.json | sort | uniq -c | sort -rn
One line, done before the coffee cooled. The select filters, -r strips quotes so the shell tools can take over, and sort uniq -c sort -rn is the ancient counting spell every unix person eventually tattoos somewhere.
The general point hiding in the small one: jq deserves the same fluency you give grep. Not the whole language, just five moves. select for filtering, .field for extraction, -r for raw output, group_by when the shell version gets ugly, and @csv when someone inevitably wants it in a spreadsheet.
Data questions arrive at a rate. Answering them at conversation speed instead of script speed changes what people bother asking you, which changes what you find out. Good trade for one weird little language.