Just got back from some days away with my family, often sitting on a beach with pen and paper, thinking. Sometimes with my laptop in the shade.
Current news is that I’m working on Hot Standby – the ability to run read-only queries while the server is in archive recovery or while perfoming log shipping replication. Which really isn’t news at all, since I’ve spent more than 12 months investigating, designing and eventually coding this project. We’re 90% done. So time to do the last 90% now, just like I said I would.
Some thoughts about development come to mind. Thinking itself is an often-overlooked part of development and also part of project planning. But it’s not a great spectator sport and can easily be mistaken for wasting time.
What I try to do is think ahead. Analyse what needs to be done, look at what is possible, how hard it is. Then look at designs for accomplishing the task. The bigger the problem, the greater proportion of it is thinking and planning. Measure twice, cut once, as they say.
Thinking about a problem also focuses your attention on it, so that you can react quickly when things don’t work right. Like priming your cache. After that, coding can be very quick, which can lead to the view that you develop very quickly if only the coding part of a project is visible. If you hit a problem you need to go back and think some more.
Communicating is also a huge part of development, but needs to be done at the right time. Sometimes it’s useful and productive, other times its an interruption but can also be quite negative, drawing your focus away and wasting effort. If you’re not careful you can spend all day discussing status rather than acting to change that status.
Teamwork is important too, both ways. If you present half-finished work to your colleagues, they get annoyed and say come back when you’re ready. Which makes me remember that without the support and assistance of Gianni Ciolli, we wouldn’t have come even this far. Thanks to Gianni, Gabriele, Hannu and the rest of the team for the support, hard work and insight along the way. Thanks also to Heikki, Greg, Mark, Merlin, Bernd, Jaime, Kevin, Andreas, Pavan, Tom, Alvaro and Robert for concrete contributions. And especial thanks to Florian for making me believe it was possible, and not forgetting the sponsors who have made this all possible. I’m going to finish the job for you and release it as BSD open source.
I’ll start blogging regularly now, so people can see the progress we’re making.