Code Machines

How automation might force us to rethink our job in the digital industry

Ruben Bos
Design and Develop

--

The streets of New York fill with angry protesters. Once in high-demand, they suddenly seem to be out of business. They’re raging against automation. Against the machine.

It’s a familiar image. Taxi drivers blocking the street against Uber. Postal workers suddenly losing their job. But these protesters look different.

You take a closer look. The protesting signs seem to be in Times New Roman. Why is that guy wearing a black t-shirt with <body></body>? What is that Ninja doing there? You squint… is that Grumpy Cat?

Are they… developers?

Luddites destroying machines in 1812 believing that they did not only took away jobs, but art and craftmanship too.

Ever since we started programming, we’re optimizing how we work. With better programming languages, frameworks and libraries. It helps us to focus on the important things while keeping up with the fast-pace of our industry. But will this automation in combination with Graphical User Interfaces, potentially be able to put developers and agencies out of business in certain areas like web and app development?

Table of contents

Designer vs. Machine

The most interesting article I read this year was Design Machines. The essay makes clear that conventions, standardization and data-driven design is bringing us to a point that we’re designing like machines on the web. Heck, there even are dozen services like Squarespace and The Grid that are machines.

Design Machines concludes that we have designed ourselves into a corner. Designers are at the risk of making themselves obsolete. Now the machines are here, how do we prove that we’re better than the machine?

Luckily the author also points the design community in the right direction. We could stay relevant with an emotional aspect that machines are not capable of.

The Hoe Web Printing Press was built in 1871 and used for the first time by the New York Tribune. It could print on both sides of the sheet and produce 18,000 papers an hour.

Coder vs. Machine

Design Machines didn’t just make me think about design. The discussion feels strangely familiar. Oh yeah, right, I’ve been hearing it my entire career (ok, that’s just 10 years) about… code!

The rise of Design Machines isn’t just about Design. It’s about Code too. Squarespace (to stay with the most obvious example) lets you set up pages, shops, galleries etc. It outputs quality code. It deploys and runs on scalable servers. Even my own website is set up in Squarespace. And I’m a front-end guy! It’s just faster, cheaper and (in some terms) more flexible than coding it from scratch.

In 2008, I co-presented a talk at Fronteers called Frameworks killed the Front-end Star. At that time, we saw a rise of frameworks, tools like Apple’s Xcode and services like Squarespace. We asked ourselves the question, will our work, our agency, become obsolete?

It was a thought. An open question. We didn’t lose our job. On the contrary actually. The amount of digital work has surged in the past 7 years. The digital industry, including agencies, grew enormously. Even in times of crisis. Developers are in higher demand than ever before at agencies.

But it doesn’t mean the thought didn’t make sense. It’s more relevant than ever.

It’s about realizing the idea

From a design point of view, you just want your digital ideas to be realized. A ‘developer’ is just necessary to do so, to write the code and complexity that runs the idea.

We’re already automating on a large scale to make it easier to realize those ideas. Even simple ‘hand-crafted’ websites are often heavily relying on grids, frameworks, pre-processors and so on. This isn’t only a Front-end thing though. If you’re building a website in Ruby on Rails, you’re probably heavily relying on Gems. Libraries that can add complex functionality in just seconds.

But the fact that you’re (probably) doing this from a Terminal, doesn’t mean you’re writing custom code. You’re adding functionality that also could’ve been added by a GUI.

It’s not that we want the code, we want the functionality.

Different platforms, different roles

Don’t forget, with app development we already don’t need a ‘front-end developer’. The software solves it. Xcode enables designers to build the interfaces that interact with code from the developer. Xcode is a machine.

Tools like Framer bring the promise of revolutionizing the way we design (and produce code) for more specific interactions, like animation, too.

Also the back-ends for these apps are standardizing in a fast pace. Parse is a Back-end as a Service that lets you scale to millions of users without ever looking at anything else than your credit card invoices. Even more interesting in this context, is that it also delivers a complete framework with libraries and functionality. Limited programming skills let you build an app (on your own) that would have needed a huge team just a few years ago.

Current state of the Machines

Squarespace, Shopify and similar services don’t spark our imagination enough to make the Code Machine case convincing. These services work amazingly well for a large share, but are very limited at the same time.

New initiatives are making a more compelling case. Bubble for example promises you can build complex digital products including API’s without an engineer. Or Webflow, a service that promises designers that they can build custom, dynamic websites. Without writing code or managing databases.

A more serious explanation can be found on Webflow’s website

The list of similar services grows rapidly. Froont, Jetstrap, AppMachine and many others. Compared to more traditional CMS solutions, most of these products focus on the designers instead of the developers. It’s a promise designers secretly look forward to: being able to realize their ideas, their designs and it’s interactions, themselves.

A common developer reply to these services is: what’s the quality of code? Understandably this looks like the most limited version of development ever.
But what if code machines actually produce better code than you could ever write with top-notch developers? What if you can launch on other (new) platforms faster and quicker?

Because the machines are still limited, developers working on more complex stuff still won’t feel a big threat. I’m not convinced that they shouldn’t be. Can you do everything? At this moment: No. But as a programmer can you say the following with clear confidence? “There never will be a service that can create the majority of programming use cases.”

Human vs. Machine

What distinguishes us from code machines?

From a code perspective we have frameworks, tools and graphical interfaces that can create complex technical solutions to design problems. From a design perspective we’re getting better design tools that are also capable of producing quality code. What if we combine the design machines with the code machines?

We’re not only designing, but also coding ourselves into a corner. Just like the designers, coders seem to be at the risk of making themselves obsolete. So, what if we ask ourselves the same question from a code perspective? When the machines are here, how do we prove that we’re better than the machine?

What would we do? We could work with the machine, build the machine, ignore the machine or be strategic about it’s rise.

Work with the Machine

With a perfect machine generating the code that you would otherwise have written yourself, there is still lot’s of work to do. If you’re a fulltime programmer, it was never just about the code. It’s what it does. How it works.

A man working on a Punching Machine

With Code Machines it’s still about being creative with the technical possibilities that are available. The technical challenges we have to solve are still very complex. Your skills are still in high demand.

What if you could put your knowledge to work by mastering the machine? People only care how it works, not how it was built. But the digital product still has to be designed, created and set-up. It will involve less programming, yes, but the fact that you understand relational models and the technique behind it, will give you a major advantage.

This clearly puts the focus on User-Experience Design. You will work even more closely with designers on creating the digital products we need. Develop new skills. Understand that User-Experience is the differentiator.

Build the Machine

Instead of being eaten by technology, it’s also possible to create the technology yourself. Working at the ‘Code Machine’ will absolutely be an interesting position for a developer. For example, Squarespace, one of the pioneers, has grown to a company with hundreds of employees. Amazon Web Services runs the majority of high-traffic digital services.

A War Machine by Matteo di Pasti

Although there are lot’s of opportunities here, it also displays a highly centralized industry. Will we be able to build whatever we want, with just a few big players as suppliers?

I think that we’re still miles away from having a completely central system to build applications. There are also many business and job opportunities in different segments. For example in payments, Notifications, Scalable servers, Mail automation, and so on.

Or… don’t get distracted by the machines

Programmers are more essential than ever. And they will be.
As written earlier in this article, those who have worked in the industry for a longer time know that this discussion is not new at all. It’s a fear that keeps popping up.

“Don’t be intimidated by code machines, but don’t be surprised either.”

Jacob Dreghen, a watchmaker, tested his flying machine in Paris in 1812 (and failed).

Futurism can be intimidating. But fact is, clearly there is plenty of work in our industry. Buzzwords like Digital Transformation keep popping up, as if this is something brand new. Clearly we haven’t entered the final stage of ‘code singularity’.

Because you think people will completely replace bread by Soylent, doesn’t mean that being a baker isn’t a profitable business right now. Because you think that self-driving cars are coming, isn’t a reason to ditch your driving license. And so on.

Programmers are in popular demand. It just might not be in the market you’re in now. Coding ‘websites’ might become obsolete. There still is plenty of (much needed!) work in our industry, and this will probably remain so for years to come.

Find an industry with less impact from the Machine

Not your coding skills, but your business will define if you’re still needed. If you’re coding basic low-cost websites at a high pace, you might run out of business faster than you might expect. If you can do it by repetition, a machine certainly can do that too. If you’re building crucial online services with a lot of custom functionality, the machines will have a harder time to keep up. Don’t worry about the need for your skills, worry about the need for your current business.

Both designers and developers will remain essential to create something truly unique. By understanding what the user really wants. By creating interfaces that really work. There is a lot of work to do.

So, don’t be intimidated by code machines, but don’t be surprised either.

Images and artwork are from OldbookIllustrations.com

Like the article? Help me spread more words by pushing recommend.

Interested in Designing and Coding for the Web? In November I’ll be the host at Dsgnday, a friendly in-depth conference in Amsterdam. Speakers include Daniel Mall, Stephen Hay, Simon Collison, Typekit, and many others. More info.

--

--