Learning to be able to write functional code will not be enough. You need to be an expert in it - the kind of expertise that is gained with years of writing code in it, knowing debugging techniques as second nature, idiosyncrasies and best practices, where your productivity in the language has reached peak levels and you don't have to think of how to do something in the language, and can focus on solving the problem for the business.
This is more true of languages than of frameworks or tools.
If one gets used to breaking changes and gets to know the inner bits of ones language and libraries and it's less risky.
If one is using very complex stacks and hoping/waiting for other people to fix things, it's much more risky.