If management/programming of BPL’s IT, website and public interfaces is not done in-house, that must be corrected.
Outsourcing the work has the overhead of oversight, which is a task poorly performed. The programmer should be on staff in the library so that the loop of requests / programming changes / testing is kept short. If there is not enough work for the programmer to justify it as a full-time position, then make it a part-time position, or give that person other work to do.