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

Example · json
{
  "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.

Example · bash
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.

Example · bash
# 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.

Example · bash
# 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

  • Be the first to comment on this lesson.