In the early days, web development primarily involved marking up information with HTML, a far cry from the conventional procedural languages associated with classic software development. It was obvious that there was a bold line separating web engineers (if that term had even been coined yet) from traditional programmers.
While that line may have been bold in 2000, it has thinned out considerably since, to the point that (in my opinion) it’s not really visible. No longer are web engineers simply “slicers” or anybody-can-do-it code monkeys who cut graphics and then let their favorite WYSIWYG editor do the magic. In addition to accounting for accessibility, internationalization and search engine considerations, building web experiences that work on every desktop, tablet and smartphone takes more effort today than ever.
Increasingly, front-end development employs many traditional programming processes and concepts. We are focused on building smart and flexible, following patterns, not repeating ourselves and modularizing or componentizing as much as possible. Working on the front end these days means having a back-end mindset—we are involved in defining data models and negotiating data contracts for services that clients’ UI frameworks will interact with. It means writing build tasks and unit tests, optimizing load time and, on many occasions, not only delivering code in a way that will ease integration, but actually integrating that code.
When I first started doing web development, I would have never thought to call myself an engineer or a software developer, and back in 2000 those terms would not have been applicable anyway. But web engineers have come a long way in the past 15 years. We are no longer the black sheep of the software community. Front-end engineers are engineers, too.