That's like asking how difficult it is to customise your car: it depends on multiple factors but primarily what you want to do and your skills. If you just want to add a fluffy steering wheel cover - go right ahead, anyone can do that. If you want go-faster stripes painting on, then you might do that yourself depending on your artistic abilities. Tinkering (safely!) with the suspension or engine is a specialist job beyond most of us.
Many people do work with partners and contributors but they are all different so the experience of working with one doesn't tell you how that might work out with another one. Each practitioner has their own unique set of experiences, skills and interests so you might want to talk to more than one to find someone who is a good fit for your organisation.
There is a lot of documentation around and there's no "external magic" - all the code is right there on your server, so if you or your graduates have the time, inclination and skill then they can learn. That will give them knowledge but not experience although you can benefit from the experience of others as Pete has already described. All of us started sometime from the point of knowing nothing about Civi!