There's two ways of being a fast programmer: you're either a really fast coder, or you have the talent and experience to not make mistakes. I know of one developer who is absolutely unbeatable in terms of sheer speed, but he does not excel in testing, so sometimes bugs seep through, which makes his bottom-line speed lower. Another programmer has a decent to fast developing speed, but I have never caught him making even a single mistake, so his perceived speed is incredibly high.
As for myself, I'm probably somewhere in-between. My actual developing speed is not very fast, but I tend to error-check myself a lot so I don't release a lot of errors on others. I'd also like to think that I'm programming for maintenance, which is good if you're maintaining a codebase in the long term, as you'll be able to do future feature requests way faster when your foundation is solid.
My final days at Potato are approaching. I'm leaving behind a project that I've worked on for over a year, and has pretty much been redone from the ground up, section by section. My final tasks here are to make the foundations even more solid so that the people I leave behind will have an easy task building on that foundation. It involves tearing down some things, but the end result will be more solid. And that's how it should be. Robustness does not necessarily exclude speed, but quite often speed excludes robustness.