As an alumni of BCIT’s TWD program (now known as Front-End Web Developer), I have had the distinct privilege of being asked to come to the school on a number of occasions to return to the classroom, and participate in a panel Q and A session with current students. The idea is to be able to answer questions on an array of topics as they relate to transitioning out of the classroom and into the workforce, starting their careers in front-end developement.
Often, questions from students centre around handling job interviews, which technologies to focus on, or things to know about working at an agency or technology company. They ask about using SASS or Bootstrap, developing in WordPress, or using Git. A lot of things that can be learned on the job in a junior position with good mentorship.
I fully understand this perspective - efficiency is desired in an employee, and if your entire product is centered around React, a capable React developer will certainly be more effective and productive in the beginning.
However, I disagree with this approach.
Well, I mostly disagree. I definitely believe that frameworks can help us to learn programming languages and concepts. For example, while I knew the basic building blocks of PHP before starting my first job as a developer, it was in applying this knowledge in the context of frameworks like Drupal and WordPress that I really understood when and how to use
forEach loops and other programming techniques.
While things like loops clearly aren’t unique to any one programming language, the way larger applications are built can provide us clues as to how the language can operate - it tells us about the possibilities, and best practices.
If all I knew was Vue, this wouldn’t be possible. My analytics system would have been restricted to the Vue components, and I would have needed help making it work outside of the components built with the framwork. Ultimately, it would be useless apart from its original context.