How I Work
As a software engineer, I’ve developed a workflow over the years that helps me stay productive and maintain a healthy work-life balance. Here’s a glimpse into how I approach my daily work.
Morning RoutinePermalink
I start my day early, usually around 6:30 AM. After waking up, I spend a few minutes stretching and meditating to set a positive tone for the day, then eat my breakfast which usually consists of raw milk and oats. Sometimes scrambled eggs if our chickens are not on strike. Then, I head to my dedicated office with a cup of coffee. My office was built into a former stable, far away from the noise of the rest of the house. The quiet morning hours are when I’m most productive, so I dedicate this time to deep work - whether it’s coding, system design, or tackling complex problems that require uninterrupted focus.
Before diving into code, I spend 15-20 minutes reviewing my task list and planning the day. I use a simple markdown file to track my daily goals and priorities.
Communication and CollaborationPermalink
I believe in asynchronous communication whenever possible. This means:
- Detailed commit messages that explain not just what changed, but why
- Comprehensive pull request descriptions
- Documentation that anticipates questions
- Chat/email responses batched at specific times during the day
Focus BlocksPermalink
I structure my day around focused work blocks:
- 9:00-11:00: Deep work on the most challenging task, I achieve most progress during this time.
- 11:00-11:30: Communication catch-up
- 11:30-12:00: Collaborative work or meetings
- 12:00-13:00: Lunch and some light gardening, tending for our animals (I live in a farm)
- 13:00-16:00: Another deep work session
- 16:00-18:00: Code reviews, planning, and wrap-up
Continuous LearningPermalink
I dedicate at least 30 minutes each day to learning something new. This might be:
- Reading technical articles or documentation
- Experimenting with new technologies
- Contributing to open source projects
- Watching conference talks or tutorials
Work-Life BalancePermalink
Working from home requires clear boundaries:
- Dedicated workspace that I can “leave” at the end of the day or during lunch
- Regular breaks to stretch and move around
- Hard stop at 6:00 PM for family time
- No work emails or messages after hours unless it’s a true emergency
Tools That Make a DifferencePermalink
Some tools that significantly improve my productivity:
- Task Management: Simple text files with todo lists
- Note Taking: Markdown files organized by project
- Time Tracking: Helps me understand where my time actually goes
- Automation: ZSH scripts for repetitive tasks
Final ThoughtsPermalink
The key to my workflow is consistency and simplicity. Complex systems tend to break down under pressure, so I keep things straightforward and focus on what actually helps me deliver quality work while maintaining my sanity.
Remember, the best workflow is the one that works for you. Don’t be afraid to experiment and adjust until you find your rhythm.
Comments