Yes, but even more so:
You don't even need to be able to "advance the field" to contribute meaningfully.
Take medicine. It's possible to teach someone some specific skills quite quickly (I probably have 200 hours of first aid training, essentially much of EMT-B plus lots of specific training in trauma, specifically dealing with massive hemorrhage from traumatic amputations, dealing with GSW, tension pneumothorax, etc., and various diving related issues, and some extremely basic radiology knowledge to assist technicians and rads in debugging a PACS.) With that level of training, or even 4 hours of really basic first aid training, you know enough to help. I won't be writing any dissertations on the best way to deal with a specific kind of trauma, but I can do a pretty good job of stopping bleeding in most cases. You're not going to have a top-flight trauma surgeon in every car. The 200-hour tech isn't going to be operating on his own (ideally), but can be a part of the solution. For some fields, like datacenter operations, experience is worth more than formal training, too.
Plus, there actually are a surprising number of cases where a relative newcomer to a field actually does end up advancing the theoretical limits. Maybe it's due to not knowing and accepting the limits of the field at the time, or maybe it's because that moderately passable junior programmer also happens to be a world-class expert in some other domain which just happens to be similar to the problem at hand, but it's not all that uncommon.
I'd still prefer any pending neurosurgery on me be done by someone with a good amount of experience, credentialing, and expertise, but it's a rare Django app which requires that level of caution :)