Personally, I have been working with web technologies for almost 3 decades (started in 1992 – yep, 27 years at this point). It was quite easy to view the source code on a web page to learn how the author had developed the page. It was easy to build a solid foundation regarding these technologies. Of course, when I first started, CSS and JavaScript did not yet exist. Fast forward to 2019. Now we have JavaScript frameworks (minified, of course), CSS pre-processors, and much more. View the source code on most sites and you will not be able to fully understand what the author has done in constructing the site.
Barriers to Entry
At one point, individuals could learn the fundamentals and enhance their knowledge as they worked through code snippets. It seems that many today are relying on frameworks for simple tasks. I first asked this question a few years ago in my article – Are we relying too much on JavaScript? Since 2016, it appears these issues have only grown. Of course, many professionals have specialized (as they must). Whether the discipline is UX, or UI, or server side development, it is still important to have a solid understanding of how all the pieces relate. Sure, one can take classes; but many at various institutions seem to cover out of date materials. This seems to force students to learn on their own. We see the results every year with some individuals participating in our national web competition. It seems that many have decided to focus on a specialty or framework from the start. Rather than developing a solid understanding of HTML, CSS, and JavaScript, it seems many focus on learning a few frameworks with the intent of then landing a job as a developer. Time and again, I see social media posts demonstrating a lack of understanding of CSS fundamentals (such as float or the box model). Likewise, I have seen instances where a large amount of JavaScript code is developed where a simple paragraph tag would suffice. It seems that many are now focused on learning a subset instead of developing a solid foundation and then branching out. Perhaps this is because there seems to be so much complexity in web sites these days?
Content management systems
I have also seen the rise of content management systems (such as WordPress which now accounts for roughly 30% of new websites). I listen in various meetings where individuals speak of a language (such as React) when they mean framework. I also hear many conversations demonstrating a lack of knowledge of the fundamentals of CSS (and the proper separation of presentation from content). I also see many sites where there is no consideration for accessibility (or it seems an after thought). Certainly, Content Management Systems make it much easier to get your content online. However, I believe one should still have a solid foundational understanding of the technologies involved. There may well come a time when a minor change is needed to make a page display as one intends. Without an overall foundational knowledge, this may be nearly impossible to achieve.
Return to the basics
Personally, I believe it is time we return to the basics. This message is particularly directed at those who teach web technologies. It is important to keep up with trends, but it is also important to make certain aspiring web professionals are grounded with a solid foundation of how to build web pages (with a good understanding of semantic markup [and why it is important], CSS, and vanilla JavaScript). Only after they have a solid foundation should they specialize (and learn frameworks).
I am stepping off my soapbox now. I am curious as to your thoughts? Are we neglecting the fundamentals and not providing a solid foundation for students? I look forward to your comments.
Best always,
Mark DuBois
Executive Director and Community Evangelist