16 Years Working On The Web

I quietly passed 16 years of working on web sites and web applications this year.

The first half of my career was focused on small business e-commerce and marketing. The current half has been EdTech applications with legacy (read, stable and dependable) tech-stack.

I started on VBScript and ASP .NET, then spent some time waffling between Wordpress and Drupal. I've spent the last decade-ish in Ruby on Rails, with some Sinatra/Middleman for side-projects. Other random one-off projects in there too… with a smattering of monster-of-the-week javascript tooling. Anyway. Languages and frameworks color my view on my part of the programming galaxy… so your mileage may vary.

I thought it'd be interesting to reflect on the changes from the perspective of a simple worker-upon-the-web:

I can't remember the last time I went to look at sourceforge.net. github.com has eaten up the world. Both a blessing and a curse.

Browser testing and labs have ceased to be a constant background murmur. I used to spend hours on browserstack.com. A combination of widely available VMs, better front end testing stacks, and WebKit's domination has changed the landscape. I haven't written a weird IE-specific doctype hack in years.

Performance testing is more important than ever. When I started I was more interested with how this ran on old browsers and dial up, these days I'm testing the toxic runoff of NPM dependencies. I think my first brush against this was a heisenbug: a non-deterministic CSS-minifier, an early Bootstrap version, and IE9's CSS rule limit ate my life for a straight week. Browsers have improved but the dev stack has gotten lazy and bloated.

Design systems are still nascent. We've moved beyond mere pattern libraries and now have specs for tokens and starting to see tools like Storybook take over… but it's rare and still be consultant-specialty instead of being table-stakes. I argue for Design System thinking like I used to have to argue for using source control or hiring a QA team and writing tests.

I'm surprised it's taking this long for Web Components to become truly ubiquitous. I could be wrong, but it still feels bleeding edge.

People still argue about how to write CSS. BEM, SMACSS, square, semantic, now utility classes. It's all solutions for "where does this rule belong," and none of it removes the requirement for a basic understanding on how the CSS cascade works. 🤷

CSS is awesome now. When I think of the evil tables, carefully sliced fireworks documents, spacer.gif, and use of non breaking spaces from before… we have such amazing tools now rolling out so fast. Flexbox, Grid, now Container Queries? Outstanding.

What I used to call a "web developer" is now called "Front of the front end." I'm finding hard to hire people with the skills I grew up on. Lots of amazing javascript developers, not many folks with a love for CSS.

I kinda miss the simple joys of jQuery. A one stop shop for all your interaction needs. 🤷 I flirted with Coffeescript briefly… I've written a little typescript, but I confess I've been waiting for y'all to chill and stick with one. I am eyeing HTMX to solve Islands of Interaction in mostly CRUD apps. I'm also hopeful for Hotwire and Elixir LiveView to make components easier.

I'm surprised Emscripten hasn't been a bigger deal. As Flash and Actionscript slipped into the abyss the creative animators and game makers would reach for it… I was wrong… probably partly because of the rise of the iPhone driving interactive animators to a different platform.

Accessibility is still arcane magicks. It is complicated like browser testing used to be: a poorly understood and documented domain with an exponential complexity coming from eccentric combinations of browser/assistive-tool. If you lived through the browser testing days, you may have the skills and disciplines (perhaps paranoia?) required. I am honestly sorry for the new folk. I don't think it's just a skill issue… as the stack deepens our applications are built on DSLs and complex stacks that don't consider and make simple things complicated.

It is all better than ever… it is all just as hard.

  • 2023-07-31 14:08:35 -0500
    Rename markdown -> md

  • 2023-07-05 09:43:32 -0500
    Fix link

  • 2023-07-05 07:53:13 -0500
    First draft