Photography Tips for Developers
Lessons learned from combining software engineering with travel photography. How thinking like a developer can improve your photos.
Photography Tips for Developers
As a software engineer who loves travel photography, I've discovered surprising parallels between writing code and taking great photos. Here's what I've learned.
1. Composition is Like Code Structure
Just as clean code follows principles like DRY (Don't Repeat Yourself) and SOLID, good photos follow compositional rules:
Rule of Thirds
Imagine a 3x3 grid over your frame. Place key elements at intersections:
┌─────┬─────┬─────┐
│ │ │ │
├─────┼─────┼─────┤ ← Place subject here
│ │ ✓ │ │
├─────┼─────┼─────┤
│ │ │ │
└─────┴─────┴─────┘
Leading Lines
Guide the viewer's eye, just like guiding code execution flow.
2. Lighting = Debugging
Bad lighting ruins a photo like bugs ruin code. Golden hour (sunrise/sunset) is your production environment - everything looks better.
Key lighting scenarios:
| Time | Quality | Best For |
|---|---|---|
| Golden Hour | Warm, soft | Portraits, landscapes |
| Blue Hour | Cool, moody | Cityscapes, architecture |
| Midday | Harsh, contrasty | Shadows, minimal scenes |
3. Post-Processing = Refactoring
Don't over-process! Like refactoring code, edits should enhance, not transform:
# Good: Subtle adjustments
photo.adjust(
exposure = +0.3,
contrast = +10,
saturation = +5
)
# Bad: Over-processed
photo.adjust(
saturation = +100, # Nuclear sunset
clarity = +50, # HDR nightmare
vibrance = +80 # Cartoon mode
)
4. Backup Your RAW Files
Treat photos like source code:
- RAW files = Source code (keep forever)
- JPEGs = Compiled output (can regenerate)
- Use version control (cloud storage with versioning)
5. Iterate and Learn
Every photo is a commit. Review your work:
git log --photos --last-trip
# What worked?
# What didn't?
# How can I improve?
Gear Recommendations
You don't need the latest camera, just like you don't need the newest MacBook to write good code.
My travel kit:
- Fujifilm X-T4 (lightweight, excellent JPEGs)
- 18-55mm lens (versatile range)
- Peak Design sling (quick access)
Conclusion
Photography and programming share a core principle: practice makes perfect. Take more photos, review them critically, and iterate.
Now get out there and capture some memories!
Want to see my travel photos? Check out the interactive map on my About page.