John Blyberg writes
The model that we should be adopting looks more like a meta-coop in which libraries work together via a developer’s network using a set of platform independent, standards-based tools to create open-source projects, programs, and snippets. That is the real Utopian vision.
I think this is the key point. Every library doesn't need a coder IF the overall community can produce enough code pieces (toolkits? services?) so that each library can be an integrator or consumer of the overall capabilities developed. If your library doesn't yet have that capacity, to use code and services developed elsewhere in ways customized for your environment, then yes you do have a gap you must work to close. All libraries need to work together as well to establish this vision of a cooperative library developer's network. Sites like libdev and conferences like code4lib are already a great start. Vendors do have a role to play, particularly in opening up their systems, but given past (dis)service to the libraries from the vendors, I suggest the vendor role should be that of junior partners, not development leaders.
As a disclaimer, I should mention that CISTI is working on a vision of a Canadian scientific infostructure, based around providing services (in the Service-Oriented Architecture sense, which means in some cases using Web Services, in other cases using REST interfaces) as well as supporting partner services.
You can also see us playing with bits of code (which you are welcome to adapt for your organization) in the CISTI Lab.
You can read more in my OPAC category for my opinion of these rather sad systems (good at inventory, useless for anything else).