I always enjoy The Web Ahead podcast, hosted by Jen Simmons. For the past 4 years and over 100 episodes, Jen has been researching very specific topics, booking the best possible guests, and then going deep into that subject matter for a good hour or so. I make it a point to catch up after each episode is published, as I've found it to be an indespensible resource to keep up with new technologies and conversations surrounding the world wide web, and the people who work on it.
A recent episode released on August 13, featured a conversation between Jen and her guest Rachel Andrew about "everyday developers". Actually, the word "everyday" only came up once during the discussion, but they were describing a type of web generalist who builds sites for clients, perhaps as a freelancer or as part of a small team. I consider myself a part of this camp.
Five years ago, Elliot Jay Stocks' "Web designers who can't code" article launched a firestorm of tweets, blog posts, and debates about the division of labor between "design" and "development". Nine years before that, Jeffery Zeldman had written a book, Taking Your Talent to the Web for transitioning print designers. Each year, it feels like the lines between "design" and "development" are finally getting fuzzier, and I think that is a beautiful thing.
Jen and Rachel both bring a valuable perspective to this topic, because they were once living it themselves. Today they are prominent speakers and in-demand CSS layout experts, but both came to the web early on, building websites for people who really needed them, and for others like them, who were just figuring out how to put their stuff online. In the mid-1990s, almost anyone designing a website was a novice or a pioneer, learning how things work, making mistakes along the way, and developing the techniques and hacks that others would quickly rely on.
Today, you may still find a few people learning or deploying their sites that way, but on the other side of the spectrum there are websites and web applications that are almost like utility services, delivering video entertainment, family photos, and breaking news at speeds and resolutions unheard of to devices that only existed in someone's imagination 20 years ago. The Facebooks, Googles and Netflixes of the world have armies of developers (sometimes referred to as "engineers") working with complex sets of digital tools, releasing powerful frameworks and libraries every couple months.
A few highlights from the episode:
On documentation #
Writing documentation on your open-source project is doing good work:
This is one that has really made a difference for me. Don't assume everyone who is using your code has the same skills, background, or comfort level as you. Help beginners move forward by providing some kind of entry point. At minimum, put comments in your unminified files explaining what each bit does. Even better, provide a simple demo if possible, so we can see what your code accomplishes. Does your project require installing a library or package manager in the terminal? A lot of web designers aren't as comfortable on the comand line: I used Mixture for a good year and a half before I finally switched to Gulp.js earlier this year. Even linking to a good tutorial could help someone a long way. Can you offer a downloadable version without dependencies?
I also appreciate the direction the Roots team is taking with their open source WordPress projects. The next version of their starter theme will be shipped without Bootstrap, and require fewer dependencies, so you can install your preferred front-end boilerplate (or create your own). Similarly, their development and deployment packages aren't dependent on installing their starter theme or set of plugins.
On the right tools for the right people #
I think a lot, as I move through the project, about what I'm going to be leaving behind. I think a lot about the legacy they're going to have. If I build this site for you on Drupal, you're going to have to have someone to maintain that Drupal instance. That's not going to be me, because I don't enjoy that. I can hook you up with someone else and recommend somebody and they'll do it. Or I can teach you the skills if you're a person that can learn those skills and you can do it. What I cannot do is just put you on this system that needs regular updates and those updates which take a certain level of technical savvy and then never talk to you about it and walk away and leave you with security flaws. We're going to have that conversation at the very beginning because I need to suss out whether or not you can handle the responsibility of babysitting a Drupal website for the next five years. If you can't, then I'm going to make a different choice for you. I'm going to put you on Squarespace or wordpress.com. I'm going to put you on something where you don't have to update your own software.
I wouldn’t feel great either about handing off a WordPress or Drupal site to a client without extensive training (raising the price and billable hours) on updating the plugins and themes, security, and other infrastructure-y things if they aren’t already experienced or eager to do this themselves. Most clients' priorities are investing their time into creating great content (the stuff their customers and audiences actually see) and running their business. I don't think it makes much financial sense for most web designers to get into the hosting business either, when the money and time saved for both parties could be put back into the business, towards crafting a distinct visual design, or chasing higher-paying contracts.
Jen elaborates a little further:
Like I said, I used to do all of these small projects. Now I can't afford to do them. But I still have people come along [with minimal budgets] and they want to know, "How can I build a website?" I want artists and restaurants and nonprofits to have affordable websites. If I were to recreate that kind of business that I used to have, I might seriously think about being a Squarespace shop. I would help people think through their content strategy and business and take all of that content and put it on Squarespace or Wordpress.com.
I did this myself recently. I still think self-hosted WordPress is great, but sometimes even that is too much for some clients. It takes a lot of custom work to get WordPress working like Squarespace's draggable visual blocks of editable content. For small businesses and artists, what Squarespace and WordPress.com offer is great. Squarespace itself wants developers to customize their sites, and make money with their beautiful suite of editing tools, offering their own developer platform with command line tools and a blank HTML5 Boilerplate-based theme.
There's also been an explosion of many new, next-generation CMS products out there that aren’t Wordpress or Drupal clones. Craft, Siteleaf, and Cloud Cannon all look very promising for everyday users and everyday developers alike.
On teaching, training, learning #
Both Jen and Rachel work on complex projects, lead workshops, and deliver talks on this stuff, yet admit that if they were starting out in their careers tomorrow, it would be a bit overwhelming to know where to start. Their audience at these worskshotps and events is largely made up of everyday developers, and I'm sure they are getting this feedback, as its a sentiment I hear expressed all the time.
Part of this is, I think, the landscape. The web is not a monolith. It was originally built to help facilitate document sharing among researchers doing science, but 25 years later, it is a significant chunk of almost every sector of the economy. A website can be where you read the breaking news, or something you log in to to check your banking, or something you consume streaming video from. An application that tracks your hours for your timesheet, a social network where you see your friend's baby photos, or a word processing document synced to a cloud server. WordPress (which powers 20-something percent of the web itself) is not a monolith, either. Depending on which developer you talk to, its a blogging platform, a powerful customizable content management system, or an API for building web apps.
No one can possibly learn how to build every single one of these things. No one should be expected to.
More good news: The web is very forgiving. What you build today will work for years—even as browsers automatically update and hardware gets replaced—providing you are doing these core things right. I love coming across a website that was last updated in 2005 or earlier. A couple links may be broken and the design may not reflect the current trends or resolutions, but its somewhat reassuring that not everything is as ephemeral as it seems.