What I've found difficult to work with is people that think that anything they do has "magical" properties. I.E., they don't actually understand at least one abstraction level. That also boils down to time(and willingness, and a proper mentor). But it is a different order of magnitude, depending on what is missing.
Learning new programming languages is easy (except Haskell, attempt no landing there) and is also a matter of time. Learning the ecosystem that goes with it takes longer (again, time). Learning how to code idiomatically requires experience (time once more, but only if actively programming).