I’ve been building things on the Web for something like eighteen years. That’s greater than half my lifetime. On my bookshelf at home, I keep my nearly 20-year-old copy of HTML for the World Wide Web. I clearly remember buying — with actual dollars — a boxed copy of Netscape Navigator at a store that only sold software. Angelfire hosted the first website I remember piecing together.
Needless to say, I’ve been around the ol’ block.
I tell you these things not to brag or to date myself, but to give you a sense of my background and where I’m coming from when I talk about designing and developing for the Web. While reflecting on my career and experiences, I came up with a brief list of professional self-improvement tips for anyone working on the Web today.
1. Know Your History
I’m a history geek through and through with a particular interest in the 20th century and the development of the technology that powers our modern world. In order to understand how we got to now, you have to have a curiosity about the past.
I’ve recently read two Internet- and Web-themed history books: Where Wizards Stay Up Late, a chronicle of the development of the ARPANET, and Weaving the Web, a first-hand account of the Web’s creation by Sir Tim Berners-Lee. Both are rich with insight and packed with the philosophies imbued in the foundations of the Internet and the Web.
If you want to delve further back in time, read Vannevar Bush's 1945 essay As We May Think or watch Douglas Engelbart's 1968 Mother of All Demos. If fiction is more your speed, read the works of Arthur C. Clarke and Robert Heinlein. Both wrote of technology that, while unheard of in their time, is essential to modern life. Talk about inventing the future!
Lastly, if reading isn’t your thing, check out Brian McCullough’s Internet History Podcast which covers “modern” Web history starting with the introduction of the Mosaic web browser and its evolution into Netscape Navigator.
Only through a love of history can you begin to make the connections from pre-World War II science fiction to daily life with a smartphone in the 21st Century.
2. Know Your Medium
Each speciality within the vast umbrella of “Web professional” carries with it a long list of critical knowledge. For example, visual designers possess an understanding of typography and a mastery of design tools that I never will. I would eat the brains and gain the knowledge of any professional copywriter if I thought doing so would give me a better command over the written word.
Maintaining a conversational knowledge of these sorts of topics is of great utility, though. Knowing the basics allows you to move gracefully between disciplines, shifting conversations and language depending on with whom you’re speaking. Be comfortable talking color and font choices with a visual designer. Be equally comfortable chatting with a developer about the most appropriate way to mark up or style a design element. Moving effortlessly between these kinds of conversations greatly reduces friction between disciplines and makes you a very valuable member of the team.
On the technical side, a lack of familiarity with underlying Web technologies often leads to undue aggravation and misunderstandings between team members. It’s my view that everyone working on the Web would be better off with a base-level understanding of:
- How a Web browser requests resources and interprets each for presentation to the user.
- How servers — web, database, etc. — work together and respond to requests.
- How networks — particularly cellular-based mobile networks — behave and how their behavior impacts users.
To reiterate: I don’t expect everyone to master these topics. I know comparatively little about managing servers and network infrastructure makes my head hurt, but I am familiar with the various kinds of servers used to build Web things and I conceptually understand the impact of network latency on data delivery.
I recently explained to a teammate the relationship between web servers, web application frameworks, and database servers and it made me feel awesome when the lightbulb clicked for her and she understood the differences between each. Be that person on your team or in your organization. Better still, inspire others to share your passion for learning.
3. Respect Those Who Came Before You
The Web of the late ‘90s was a nightmare hellscape of proprietary markup and closed-source implementations; a world devoid of standards (as we know them today). To this day, I shiver thinking back to when there were two completely different and incompatible DOMs: Netscape’s and Internet Explorer’s. Ugh.
Working on the Web during the Browser Wars was difficult. The Web was littered with banners and badges proclaiming which of the two major browsers a website supported. I’m absolutely guilty of this: Netscape was my browser of choice. The commercialized Web was failing its creator’s desire for universality and accessibility.
Folks like Eric, Molly, Jeffrey, Glenda, Jeremy, Kimberly, and countless others tirelessly fought for the Web on our behalf. It’s thanks to their efforts through organizations like the Web Standards Project that we today enjoy building websites for browsers that, on the whole, conform to an agreed-upon set of standards.
Take the time to familiarize yourself with the work of the previous generation of Web designers and developers. We’re fortunate in our industry that most of this previous generation are still active in the field and are happy to share what they know. Learn from their successes and failures.
4. Respect Your Audience
I feel very strongly that the needs of the end user should trump the needs of the developer in almost all instances.
A++, would quote again. Jeremy’s speaking specifically about front-end frameworks that allow for rapid development of so-called “web apps.” I’ll take his statement a step further and apply it to our entire design and development process.
It’s troubling that so much web design and development occurs on the largest, most color-accurate displays available driven by the latest hardware jacked straight into the Internet via an always-on broadband connection. To be fair, these conveniences make development a breeze, but they don’t reflect our users’ reality. While some of your audience may be using cutting-edge desktop computers, a growing number of people are mobile-only users.
Ask anyone with a Comcast — err, XFINITY — Internet connection about the reliability of their service. Ask anyone with a limited-bandwidth mobile data plan about exorbitant overage charges. For that matter, ask anyone who lives in a rural area about their cellular network coverage. Travel anywhere outside of the United States and these challenges are just the tip of the iceberg.
As the next billion people get online, our work will be ruthlessly judged by how quickly and reliably it loads. How much that matters to you — or your client — may depend on the nature of your work. A commercial website selling shoes to wealthy Westerners clearly has a different audience than a non-profit providing citizens with access to critical health information. However, a reasonable person would be hard-pressed to come up with valid reasons to intentionally slow down access to their website, regardless of the nature of its content. It behooves us all to set aside our many conveniences and better empathize with our users.
To help with this, I’ve found it useful to develop a set of principles. Jeremy maintains a collection of design principles he’s curated from around the Web. Give them a read; they’re great. You’ll notice the frequent use of words like “people” and “human” throughout.
Brad Frost lays out a solid set of design principles in his recent post, Over It:
Remember: The websites we build are ultimately for people, not browsers or devices. Respect your audiences’ capabilities, their time, their attention, and their bandwidth.
5. Get Involved
There are a bunch of ways to actively involve yourself. A few ideas:
- Attend a local design-related event. There are others like you and they enjoy talking about what they do. Find your local Refresh.
- No events in your area that pique your interest? Start your own! Odds are good someone nearby shares your passion.
- Upend the patriarchy! Make it a point to promote diversity in our industry in whatever way you can.
- Talk to students at your local school or university. Get kids interested in technology.
- Contribute to open source projects. There are many ways to get involved in open source projects that don’t involve code. Una Kravets' Open Source Design post is a great start.
There you have it: five easy ways to be a better Web professional. This list is by no means exhaustive and I’m certain you have tips on being a better professional drawn from your own experiences. I’d love to hear about them.