The shift to remote work has happened almost overnight for many organizations. Teams that never imagined working from home are now doing it indefinitely. The transition is jarring, but engineering teams can not only survive—they can thrive.
Here’s how to make remote engineering work.
Immediate Priorities
Week 1: Get Functional
Focus on basics:
Access:
- VPN working for everyone
- Development environments accessible
- Production systems reachable
- Communication tools functional
Equipment:
- Laptops for everyone
- Adequate internet connections
- Basic home office setup
- Access to monitors/peripherals if needed
Security:
- 2FA enabled everywhere
- VPN for sensitive systems
- Clear guidelines for home network security
Week 2-4: Establish Rhythm
Build sustainable practices:
Communication cadence:
- Daily standups (async or sync)
- Weekly team meetings
- Regular 1:1s (more frequent initially)
- Clear channels for different topics
Documentation:
- Write things down that were hallway conversations
- Record decisions and rationale
- Keep runbooks current
Communication Patterns
Async by Default
Remote work favors asynchronous communication:
## Good Async Communication
### Slack message:
"I'm investigating the timeout issue in the order service.
Current hypothesis: connection pool exhaustion.
Plan: Add metrics, review connection settings.
Will update by EOD with findings.
No action needed from anyone unless you have insights."
### Not this:
"Hey, anyone know about the order service?"
[waits for response]
"It's timing out sometimes"
[waits for response]
...
Async practices:
- Write complete messages (context, question, action)
- Don’t expect immediate responses
- Use appropriate urgency indicators
- Respect timezone differences
Sync When Needed
Reserve synchronous communication for:
- Complex problem-solving
- Sensitive conversations
- Brainstorming and ideation
- Team bonding
- Urgent issues
Meeting Hygiene
Meetings are more draining remote:
Before:
- Clear agenda shared in advance
- Materials pre-read
- Right attendees (fewer is better)
During:
- Start on time
- Camera on when possible (reduces isolation)
- One person talks at a time
- Mute when not speaking
After:
- Decisions documented
- Action items with owners
- Recording available (for different timezones)
Daily Rhythms
Structured Days
Remote work needs more structure, not less:
## Example Engineering Day
08:30 - Start work, review messages/emails
09:00 - Deep work block (no meetings)
12:00 - Lunch break
13:00 - Standup (15 min)
13:30 - Meetings/collaboration
15:30 - Deep work block
17:30 - Wrap up, document status
18:00 - End of day
Deep Work Protection
Protect focus time:
- Block calendar for heads-down work
- Use status indicators (DND, focus mode)
- Batch communications
- Establish team “quiet hours”
Boundaries
Working from home blurs boundaries:
- Define work hours (and stick to them)
- Create physical workspace separation if possible
- Have shutdown rituals
- Take breaks (actually leave your desk)
Code Collaboration
Pull Requests
PRs become the primary collaboration point:
## Pull Request Template
### What
Brief description of changes
### Why
Context and motivation
### How to Test
1. Check out branch
2. Run `make test`
3. Verify X behavior
### Screenshots (if UI changes)
[images]
### Notes for Reviewers
- Pay attention to X
- Y is intentionally simplified, will address in follow-up
Code Review
Remote code review needs more context:
Reviewer guidelines:
- Review promptly (aim for < 24 hours)
- Provide clear, kind feedback
- Ask questions rather than make demands
- Use suggestions feature
- Approve when good enough (not perfect)
Author guidelines:
- Keep PRs small
- Provide context
- Respond to feedback quickly
- Use pair review for complex changes
Pair Programming
Pair programming works remotely:
Tools:
- VS Code Live Share
- JetBrains Code With Me
- Screen sharing with control
- Tuple (purpose-built)
Practices:
- Schedule in advance
- Take turns driving
- Breaks every 45-60 minutes
- Clear objectives for session
Team Health
Combat Isolation
Remote work can be lonely:
Scheduled social time:
- Virtual coffee chats
- Team social hours
- Informal Slack channels
- Group activities (online games, virtual lunches)
Check-ins:
- Regular 1:1s include personal check-in
- “How are you really doing?”
- Normalize talking about challenges
Psychological Safety
Maintain team trust:
- Assume good intent
- Overcommunicate, don’t assume
- Share struggles, not just successes
- Make asking for help normal
Onboarding Remotely
New hires need extra support:
First week:
- Equipment shipped in advance
- Dedicated buddy (available frequently)
- Scheduled intro calls with team members
- Clear first tasks with close support
First month:
- Regular check-ins (daily initially)
- Pair programming on real work
- Gradual independence
- Explicit feedback
Tools and Infrastructure
Essential Stack
communication:
async: Slack, Teams, or Discord
sync: Zoom, Meet, or Teams
persistent: Notion, Confluence, or similar
development:
code: GitHub, GitLab, or Bitbucket
ci_cd: GitHub Actions, CircleCI, etc.
environments: Cloud-accessible dev environments
collaboration:
design: Figma, Miro for whiteboarding
docs: Google Docs, Notion
project: Jira, Linear, Asana
security:
vpn: Corporate VPN for sensitive access
sso: Single sign-on for all tools
2fa: Required everywhere
Home Office Minimum
What engineers need at home:
- Reliable internet (test bandwidth)
- Quiet space for calls
- Adequate monitor(s)
- Proper keyboard/mouse
- Decent chair
Company support matters here.
Management Adjustments
Output Over Hours
Trust and verify results, not presence:
## Good metrics:
- PRs merged
- Features shipped
- Tickets closed
- Quality of work
## Not helpful:
- Hours logged
- Slack activity
- Response time to every message
More Communication, Not Micromanagement
Increase touchpoints without hovering:
- Daily async updates (“what I did, what I’m doing, blockers”)
- Weekly written summaries
- Regular but brief 1:1s
- Open door (open Slack DM) policy
Visibility Into Work
Make work visible:
- Task boards (Jira, Linear)
- Documentation of decisions
- Demos of completed work
- Clear project status
Key Takeaways
- First focus on functional: access, equipment, security
- Default to async communication; write complete messages
- Protect deep work time; schedule it explicitly
- Pull requests become primary collaboration; review promptly
- Combat isolation with scheduled social time and check-ins
- Trust output over activity; avoid micromanagement
- Document more; hallway conversations don’t happen
- Support home office setup; it matters for productivity
- Onboard new hires with extra care; they need more support
- Maintain boundaries; remote work can easily become all work
The transition is hard. But engineering work—focused, asynchronous, output-oriented—is actually well-suited to remote. The teams that invest in good practices now will emerge stronger.
Take care of yourselves and each other.