XF doesn't use that much of Zend Framework...the knowledge isn't as transferable as you'd expect. When people refer to "using" ZF, they mean the full stack framework, particularly the MVC stuff. That is all custom in XF.
Now, if a programmer is competent with Zend Framework, programming is programming, and add-on development for XF is more like regular programming. It's not as random as it is with vBulletin.
Developing XenForo is complete reboot for you, starting with a clean slate from the inception of the project. Was that a bit daunting at first? Or was it all good?
Starting from scratch was a big challenge, but it presented some unique opportunities to do things our own way.
We knew that we had a very limited time scale to get things rolling, so we decided to use Zend Framework to provide specific functionality that would have involved reinventing the wheel if we did it ourselves. This allowed us to get started on actual application code much more quickly than we would have been able to do had we written that stuff ourselves. For example, we make use of Zend_Controller_Request_Http and Zend_Db, as they provide almost precisely what we want, but we wrote our own MVC system as we had a very specific idea of what we wanted to achieve.
As time has gone by, we have unplugged various bits of Zend code and provided our own replacements that better suit our requirements, however there are still Zend components in XenForo for the time being, and they will certainly remain into the 1.x releases, as we don’t see a pressing need to remove them at this point.
I think our decision to make use of a framework (albeit in a limited fashion) has worked out well, as we have been able to spend a lot more time producing front-end functionality and refining the user experience into something really polished and pleasant to use.
The platform we have built surprises me on a daily basis with its stability and flexibility. We are still making major changes behind the scenes in the XenForo code, and yet we are running XenForo.com with a live checkout from SVN that is updated dozens of times every day.
I’m also extremely pleased with the speed at which we are able to build new features, and the way that we can do so without being unduly concerned that new functionality is going to cause existing functionality to fall over unexpectedly.