The Problem
AI pair programming tools (Cursor, Copilot) require your attention. You can’t start a complex task and walk away—you need to be there for the back-and-forth.
The Solution
Devin’s session-based workflow is designed for async development:
- Start a session with a clear task
- Walk away (meeting, lunch, sleep)
- Return to completed work
- Review and iterate
How to Structure Effective Sessions
Be Specific About Success
Bad prompt:
Improve the API performance
Good prompt:
Optimize the /users endpoint:
- Current: 800ms average response time
- Target: under 200ms
- Constraints: Don't change the API contract
- Test with: npm run benchmark:users
Include Context Devin Can’t See
Task: Fix the checkout flow bug
Context:
- Bug report: Orders sometimes double-charge
- Happens ~2% of the time
- Likely race condition in payment processing
- Relevant files: src/checkout/*, src/payment/*
- We use Stripe for payments
- Test account: [stripe test keys]
Define Done
Success criteria:
1. No double charges in 1000 test transactions
2. All existing tests pass
3. Add regression test for this bug
4. Document the fix in PR description
Async Workflow Example
Morning (9:00 AM)
"Devin, implement the user notification preferences feature:
- Add preferences table (email, push, SMS toggles)
- Create CRUD endpoints
- Add settings UI page
- Write tests for all endpoints
- Follow patterns in existing features (see /src/features/profile)
I'll review at lunch. Ping me in Slack if blocked."
Lunch (12:00 PM)
Check Devin’s progress:
- Review PRs it opened
- Check for questions in Slack
- Provide clarification if needed
Afternoon (2:00 PM)
"Good progress on notifications. Changes:
- Use React Query instead of plain fetch
- Match the toggle style in ProfileSettings
- Add preference for daily digest emails
Continue and ping when done."
End of Day (5:00 PM)
- Review final implementation
- Merge or request changes
- Queue next task for tomorrow
Pro Tips
Parallel Sessions
Run multiple Devin sessions on independent tasks:
- Session 1: Backend API feature
- Session 2: Documentation update
- Session 3: Test coverage improvement
Task Templates
Create standard prompts for common work:
Bug Fix Template:
Bug: [description]
Repro steps: [how to trigger]
Expected: [correct behavior]
Actual: [current behavior]
Files: [likely locations]
Tests: [how to verify fix]
Feature Template:
Feature: [name]
User story: [who wants what why]
Acceptance criteria: [list]
Similar features: [reference implementations]
Constraints: [limitations]
Check-in Intervals
Set expectations for progress updates:
"Update me every 30 minutes or when you hit a decision point."
Devin will proactively share progress.
When Sessions Work Best
✓ Well-defined tasks with clear success criteria ✓ Independent work (no constant collaboration needed) ✓ Boilerplate-heavy implementation ✓ Migrations and refactoring with clear patterns ✓ Test writing for existing code ✓ Documentation generation
When to Pair Instead
✗ Exploratory work (unclear requirements) ✗ Design decisions requiring human judgment ✗ Customer-facing UX (needs human eye) ✗ Security-critical code (needs expert review during, not after)
Devin isn’t your pair programmer—it’s your async team member. Structure work accordingly.