Well ... I think we have many problems in these modern IT times ... The first is that we are drowning in new IT technologies that are released every day and it is impossible to keep up with them ... Many languages, frameworks, tools ... After 25 years in this field, I am very sceptical when I read a CV on LinkedIn of a person who is an "expert" in 10 or 20 different technologies or languages (it is simply impossible). On the other hand, we have companies looking for "gurus" in several areas with many years of experience... just unrealistic expectations.
Apart from a limited minority of true geniuses, all of us mere mortals need time and projects and work and a lot of failures to develop expertise in any field.
On the other hand, in the 'real' world of work, it is not enough just to be technically competent. You need a lot of other skills that are equally if not more important: willingness to learn, ability to evaluate technologies based on requirements and constraints, integrity, honesty, self-organisation, curiosity, ingenuity ... logic. At the end of the day, it is a balancing act between technology, resources, money, time constraints and human relations, not just writing code or knowing everything about one or more tools that may become obsolete in a week.