I found that back when I had lots of free time, my style when doing projects was: I start where I left off, I get engrossed and code late into the night, repeat that one or two more days, get bored and "burned out" from the project, don't touch it for a week or so (sometimes I work on some other projects), repeat.
Of course, that's not really sustainable. But 30 minutes does not seem feasible for me.
It's not like you're going for a 30 minute jog where you just run without thinking. Don't you need to take time to "warm up" until the project you're doing starts being fun? And how does stopping just when you start enjoying yourself not kill your motivation? And don't you think about the project throughout your day job (instead of whatever problem you're supposed to be working on)?
I reckon TDD would get you at least part of the way there, because it enforces a discipline of making smaller, meaningful changes. Hard to learn though, and some things genuinely do need longer.
on the contrary it can make you more productive. for one it forces you to take a step back regularly instead of blindly going down a potentially wrong path.
I’ve found 30 minutes works just fine for programming as well as the more mundane tasks. Primarily because it’s not always 30 minutes, that’s just the minimum I can get away with on a regular cadence.
Then a spare weekend will finally come around and I’ll have made enough progress that I want to spend an hour, or three, on the project.
The purpose is to make progress however you can. This is also why my other points are so important: work on something that will directly benefit you (scratch your own itch) and have a clear objective outlined.
Of course, that's not really sustainable. But 30 minutes does not seem feasible for me.
It's not like you're going for a 30 minute jog where you just run without thinking. Don't you need to take time to "warm up" until the project you're doing starts being fun? And how does stopping just when you start enjoying yourself not kill your motivation? And don't you think about the project throughout your day job (instead of whatever problem you're supposed to be working on)?