17/07/2026
Habit of a good developer.
A good developer should have in his head:
Concepts and mental models:
Why useEffect exists and when to use it
When to use Context vs local state
Server Component vs Client Component β which one and why
How authentication flow works
Why URL state beats useState for filters
What debouncing solves and how cleanup works
Patterns I've used repeatedly:
The handleChange pattern for forms
Spreading state when updating objects
The await params pattern in Next.js 15
How useReducer actions work