A Developer’s Manifesto
by Nate York - August 9, 2017 - 2 minute read
In a recent client meeting, I was asked to explain why my team kept pushing for a complete overhaul of their website, versus just working with what was created a handful of years ago. It’s hard to not come off as jerk in this situation, so I took a step back to reflect on what was going on at the time the site was originally developed, and how technology has progressed since then.
It most definitely was not that I thought the previous work was garbage. On the contrary, the intent of the previous developers was fantastic. There was a big effort to give the client a super cool, modern project, and at the time the code was written, it was exactly that. The idea of a responsive web that was usable on millions of different devices was brand new and not yet a standard in production. The benefits of HTML5, CSS3, and technologies to help write CSS more efficiently (Sass, LESS) were only starting to be used and fleshed out.
It Was An Age Of Enlightenment, If You Will…
When responsive sites became a primary goal, the front end of web development got flipped upside down. We had to figure out how to make sites work on all sorts of screens and devices with different capabilities, while a completely new set of rules and best practices was being worked on as well. It was the wild west of web development. We tried and failed, mixing old ideas with new, and eventually broke out of our old habits.
Every single developer that went through this time period will regret some of their first work with any of these technologies. I know I do… (Hell, I bet if I look at some of my own code from a year ago I’ll end up hating myself for a day or two.) In the spirit of the web, however, we devs learn from it and figure out better, more efficient, more responsible ways of doing things.
Flash Forward 5 Or 6 Years…
Groups like the World Wide Web Consortium (W3C) work with its member organizations and the public development community to rapidly come up with new responsible web standards (sometimes not so rapid, but thorough, nonetheless) in an attempt to push the web to its full potential while remaining future-proof and not leaving anyone behind. Browser vendors have greatly matured and listened to their users, responding with complete overhauls of their software so users have a consistent experience regardless of browser preference, all the while incorporating as many of these new standards and technologies as possible.
The very same technologies used in the client project have greatly matured, and are now considered standards in the development community. Best practices are well thought out, new technologies have come along to make development easier and more consistent, and most importantly, the developer community as a whole has pushed hard to work together in creating leaner, reusable, more responsible code across the board.
The web has grown up, plain and simple. While new technologies and ideas will always surface in this arena, it is important to learn from our past and apply those lessons in our daily workflows to ensure sustainable project ecosystems that can flourish for years with minimal upkeep as new ideas and standards come to light. We do this for us as developers, we do this for our clients, we do this for our end users, and it’s always front and center throughout the lifespan of our projects.