Regardless of how many people you have in your team, and how experienced they are, there is always a trade-off to be made between productivity and increasing production capacity. In my case this is a balance between my desire to produce a working product (SyncBridge at the moment) and a desire to learn more about the development environment in which I’m working (Cocoa, and related technologies), which would then make it quicker for me to produce working code.
My skill levels with the various technologies will improve slowly if I focus all my energy on producing a working product.
My skill levels will improve very quickly if I spend the time just learning, but then we’d never release anything.
So I have to try and strike a balance. I’ll never learn everything, so this is a balance that always needs adjusting, dependent on many factors (e.g. toolset, experience, time of day … ).
And when the team grows, I’ll need to ensure that we keep that balance. Many developers say that they most enjoy an environment where they are constantly learning – if there is too little learning and too much production, we won’t retain staff. Likewise, if we don’t produce, we have no money to pay the staff.
The current balance is very heavily leaning toward getting production code out there. Once we have done so (and things are relatively settled), then with luck I’ll be able to spend a bit of time learning more.