What a Senior Does
Senior developers direct Claude with clear goals, verify its work, and own the outcome.
The difference between struggling with AI and thriving with it is not typing speed — it is how you direct and verify the model.
Habits of effective Claude users
- Give clear goals — specific, scoped tasks beat vague wishes.
- Provide context — share the real code, constraints, and intent.
- Work in small steps — easy to review, easy to undo.
- Verify everything — run the code, check the behavior, read the diff.
- Own the result — you are accountable for what ships, not the model.
The mindset
Think of Claude as a fast, capable teammate you are leading. Your judgment — about what to build, what "good" looks like, and whether the output is correct — is what turns raw AI speed into shipped, trustworthy software.
Example
{
"amateur": "make my site better",
"senior": "On the pricing page, add a monthly/annual toggle that updates
the displayed prices and defaults to annual. Vanilla JS,
keep the existing markup. Then run it and confirm it works."
}When to use it
- Write a detailed task description for Claude Code including the acceptance criteria before it starts editing files.
- Review every file Claude Code changed with git diff before merging to catch hallucinated imports or missing edge cases.
- Decompose a large feature into three focused Claude Code tasks rather than one vague mega-prompt.
More examples
Write a task brief with acceptance criteria
Providing acceptance criteria instead of a vague task forces Claude Code to meet measurable requirements.
claude "Add a rate-limit middleware to POST /api/register.
Acceptance criteria:
- 5 requests per IP per 15 minutes
- Returns 429 JSON {error: 'Too many requests'} on breach
- Does not affect GET routes
- Uses express-rate-limit package
- Includes a unit test"Review output before accepting
Explicitly reviews each changed file before staging — the senior developer owns the commit, not the AI.
# After Claude Code finishes:
git diff --stat # which files changed?
git diff src/middleware/ # read every line of the new middleware
git diff tests/ # check the test covers the criteria
# Only then:
git add src/middleware/rateLimit.ts tests/rateLimit.test.ts
git commit -m "feat: add rate limiting to /api/register"Decompose large features into focused tasks
Breaking a feature into scoped tasks keeps each Claude Code session reviewable and reversible.
# Instead of one mega-prompt:
# "Build a full user authentication system"
# Decompose into focused tasks:
claude "Task 1: Create the users table migration in db/migrations/"
claude "Task 2: Add POST /api/register with validation and bcrypt hashing"
claude "Task 3: Add POST /api/login that returns a signed JWT"
claude "Task 4: Create the requireAuth middleware"
Discussion