As so many people do in the new year, I’ve decided there are some things I’d like to start doing more of (for me, find some volunteer efforts in my area), some I’d like to do less of (oh, hello, procrastination!), and new things I want to try, like this blog.
I admire folks who effectively share their experiences for the benefit of other. I realize that I have over 20 years — twenty — in professional web development, so maybe I’d actually kind of an expert in some areas. Maybe other people could benefit in some small way from what I’ve learned, both the technical challenges I’ve overcome, as well as the personal and interpersonal challenges of this industry. It’s just my perspective and experiences, but that’s all anyone has, right?
When I started my first job, I had just taught myself HTML and very (very) basic JavaScript. Thankfully I’d always been a photo hobbyist, so I knew my way around consumer image editing software, and I was very motivated to start a career after college after having had my fill of waiting tables and assistant managing a small restaurant. This got me an entry level position in a small web design and development company in Red Bank, NJ, as an assistant web producer. What that meant at the time is it was my responsibility to take the Photoshop PSDs (yes, children, Photoshop, not today’s fancy Figma or even Sketch!), slice up the image into image elements and white space, then write out the HTML markup to display those images and provide a place for the text to be inserted. This was the era of “spacer gifs”, using images for corners and areas of varying opacity, Dreamweaver, using BBEdit as my HTML editor (no syntax highlighting, no tag completion), all on Mac OS 9.
This was an era where FONT
tags were common, CSS 2 was just barely a thing, and we had to test everything in Internet Explorer 4 and 5 on both Windows and Mac! But wait, there’s more! We also had Netscape 4, also on Windows and Mac. And then all of the subversions which, to be honest, felt like major releases in their scope of changes, even when they were technically minor version bumps.
We had no good way to share reusable code as we do today with Github and NPM. And we didn’t really have great build systems. (But on the other hand, we didn’t have to deal with build systems! 🥁) There were no really good laptops, and no major mobile computing devices with desktop class browsers. But this meant screen sizes were fairly predictable: we designed everything to fit an 800px wide viewport, and just left align if the viewport was wider. I remember when we decided to bump up to 1024px as the base size, and center our sites; this was a revolution.
There are so many other strange things we had to deal with in those early days: Netscape’s LAYER
element, Microsoft’s ActiveX nightmare, Java applets (oh that eternal dream of “write once, run everywhere”), inconsistent implementation of JavaScript which lead to ECMAScript (yay!) and the “best viewed in XYZ browser” animated badges (woof).
“OK, Grandpa, we get it: you used to carve websites into rocks with sabertooth tiger teeth.”
Yes, so much has changed, and I’ve able to have taken part in so much of it of all of these years. But some things haven’t changed:
I still get excited to try out improvements to frontend languages. Since ES2015 so much has changed to allow developers to do amazing things, all in vanilla JS, consistently across all browsers, across any screen size. CSS is starting to pick up the pace of revisions and additions in a similar way. I mean, think of the possibilities for something like the
:has
CSS pseudo selector, scroll-linked animations handled natively by the browser, CSS grid and subgrid, scroll snapping… Truly exciting, ground breaking work.I get to make things that I’m excited about, and which have the potential to help people. Anyone can create a website, sell anything, promote themselves, find answers, find community, be anything.
I get inspired by teaching. I’ve had the good fortune to teach at SVA as the technical advisor to MFA students learning to work in the web. I’ve been able to teach colleagues, mentor junior developer, given talks in front of a hundred+ engineers, and so much more. Even pair coding with other devs to come up with elegant solutions to complex problems, or collaborating with awesome designers as we focus on how to help our customers… this is teaching. It’s also learning, and that’s something I don’t get tired of.
I will always feel like an impostor. I’ve been working in this industry for so long (twenty, people), I’ve managed teams, I’ve managed clients, I’ve trained others, I’ve built award-winning projects, my work has been seen by literally millions upon millions of people. But part of me will always think I’m not really as good as I should be.
So I think it might be worthwhile to someone out there if I started talking about what I’ve learned, what I know, what I believe, and what I’ve experienced in this industry. I want to pass along some of this understanding to maybe make it easier for someone else, and to help me see where I’ve been, clearly recognize where I am, and figure out where I’m heading.