The good system administrator sets up the network for maximum automation and minimum human intervention -- scripts do the work, not the ass in the seat. If you're a manager, don't feel cheated if the admin works short hours, feel blessed -- you've got a good one.
I propose that the same is true for coders. Good programmers should opt for the easiest, least complex solution to a problem, and then kick back with a magazine. If you manage developers and see them coding late, or see them stressing out, you know there's a problem. If the system is designed for simplicity and ease of development, feature development should be swift and pain-free.
In other words, Keep It Simple and Do not Repeat Yourself, and you can work bankers' hours. There's a nice side benefit, too: the system will be simpler to understand and maintain.
So here, then, is a Lazy Software Developer Manifesto.
Whereas we have worked on many projects and seen many different methodologies: waterfall, agile, and everything in between;
Whereas these project management styles often produce burned-out workers and bad software;
Therefore, we propose Lazy Methodology.
Here are some initial prececpts:
- solve problems using the fewest lines of code / configuration
- embrace the old 80/20 rule (focus on your core use cases; skip the outliers that consume huge amounts of time)
- only have meetings when you have a reason to