In a recent post, I posed the question “Is WordPress Dead?” I was quick to answer no. I’m back with another question, which is more difficult to answer, in my humble opinion.
First, a little history
I started designing and building websites in 2000. At the time, this meant a trip to Waldenbooks in the mall (remember those things?) to pick up a “Visual Quickstart” book about HTML 4 and spending countless nights trying things out using the exercises provided. I also got one for Photoshop, because… that’s how we designed things in the old days.
Coding, as I would come to call it, was a thoroughly hands-on affair. Like many coders, I took pride in learning and understanding the finite details of all the tags HTML had to offer, and writing my pages from scratch. Doing so, I felt, would make me a better coder, more intimately involved with my work. Like countless others who felt a thrill after FTPing a bunch of files to the server and seeing a tangible — if thoroughly digital — result, I took pride in my craft. I went on to learn JavaScript and PHP, while dabbling in C#, Python, and Ruby along the way.
Like many things that seem so novel in the beginning, coding got less and less interesting over time. Solving why Internet Explorer didn’t render something just like Firefox lost its charm. From the early 2000s to say 2007, code-killing contenders like Adobe GoLive or Macromedia Dreamweaver offered pixel pushers a way to speed up their work. The caveat? The code they produced was often convoluted or just plain ugly.
At the same time, Content Management Systems were being developed — both in a custom, one-off manner and as SaaS products. Naturally, there were battles and coders chose sides. Countless hours were spent debating the relative merits of DNN vs Drupal vs SiteCore vs Ektron vs WordPress. Not to mention Squarespace and Wix, which developers universally seemed to rally against, if not because they felt threatened, then because the code each tool produced was considered ugly.
With the exception of these latter two contenders, most CMSs functioned in a similar manner. Pages could be created, but the options to customize the layout of those pages was wholly dependent on the number of templates available to the user. In turn, the number of templates available to the user was dictated by who designed the site and how many templates were taken into consideration at the outset. These were the pre-Agile days, when Waterfall ruled the workplace. This activity of gathering requirements, developing mockups, detailing data types — how they would be displayed on the front end and how they would be managed on the back end — defined whole careers for designers and developers around the world.
Sound complicated? Well, it was — and in many ways it still is. Designing, building, testing, writing content, getting approvals, ensuring the site works on mobile… all of this activity is a lot of work.
Code is Dead (for some of us)
If you work in a creative capacity — whether it be as designer, developer, or marketer — you have likely been targeted by ads touting “no-code solutions”. The premise is simple enough: you, the creator, don’t need code in order to create. Have an idea for an app? Use our SaaS platform to create an app that does X. Want to connect to a third party platform, digest some data, do a little integration? Use our connectors (think Zapier).
We have arrived at a point in the web’s evolution where writing code from scratch for simple tasks is inefficient. As a client said, “There is entirely too much code being written.”
Naturally, if we adopt tools that allow us to create without coding, someone has to create the tools to enable us to do so. The Photoshop analogy is useful here: only a subset of programmers understand how the tool does what it does. And that’s okay, because the tool has evolved to a point where the rest of us can use it to modify our photos and not have to learn the finite inner workings of how pixels are manipulated.
Similarly, tools for authoring web content are evolving. They haven’t reached the maturity of Photoshop, but several are making previously repetitive, time consuming tasks unnecessary.
Normally, the objections raised at this point are “but, I love CSS! I love Node! I still like writing PHP…” Certainly, there is nothing wrong with that, but I would suggest that as more and more no-code solutions enter the marketplace and mature, this work will be devalued. Coders will migrate from creating from scratch to building the tools that allow novices to create from “scratch”.
Let me be clear: this evolution will not obviate the need for skilled practitioners, whether they be Photoshop experts or PHP/C#/Ruby/Python/JAVA/Node/Angular/etc… magicians. However, the kind of work professionals web developers are doing now will shift in fundamental ways. Even with tools that are sophisticated and allow for so-called drag and drop development in place, those who can do magic on top of these time saving platforms will be in heavy demand.
So, developers need to ask themselves: do I want to keep building UI components ad infinitum or do I want to opt for efficiency and customization? Endless objections will arise at this point:
“What if the tool that makes X faster doesn’t have the options to allow me to customize to the Nth degree?”
“I don’t like the code this tool spits out. It offends my sense of order…”
“I could write this better. This code is ham-fisted and obtuse.”
“Yea, it works, but it takes me out of the equation.”
The answers to these objections are many. Here are some to consider:
If the tool doesn’t suit your needs and you are offended by it, create something better.
If the tool doesn’t output code you can customize, look for another tool. It’s either out there or about to be released.
A colleague suggested another parallel. Remember Kodak? They ignored the advent of digital and subsequently lost the war.
Those who move from 100% organic, from-scratch coding to a combination of using powerful tools that handle the code for you are much like those early adopters of digital technologies.
Non-linear editing saved massive amounts of time.
No-code solutions can do the same.