**Vía: https://x.com/0xlelouch_/status/2005196974103142866**
Techniques to use daily as a senior software engineer:
- Writing before coding
I start with a doc, comments, or a rough design. If I can't explain it clearly, I'm not ready to code it.
- Reading code more than writing code
Most bugs and design flaws are already in the codebase. Understanding existing systems is leverage.
- Thinking in failure modes
Timeouts, retries, partial failures, backpressure. I constantly ask, "what breaks first?"
- Measuring before optimizing
Logs, metrics, traces first. Intuition lies; numbers don't.
- Designing for deletion
Every abstraction should be easy to remove. If it can't be deleted, it's probably too heavy.
- Simplifying hot paths
Critical paths get boring, explicit, predictable code. Cleverness is pushed to the edges.
- Making trade-offs explicit
Latency vs consistency, speed vs safety. I state them clearly, so everyone aligns.
- Writing code for the next reader
Clear names, small functions, obvious control flow. Future-me is the main customer.
- Using constraints intentionally
Limits on memory, timeouts, rate limits. Constraints create stable systems.
- Continuous refactoring
Small improvements daily. Waiting for a "big rewrite" is how systems rot.