If Engineers Talk to Users, Do We Still Need Designers?

At my current job at Facebook, I’ve been fortunate to work with engineers that do their job at the highest level and that understand the value of design. They do it to such an extent that they talk to users about once a week, and make changes based on user feedback.

That got me thinking, “What’s my role on this team? What’s the point of having designers at all?”. After weathering that brief existential crisis, I believe I have the answer to this question.

I don’t think the mainstream has fully understood how complex internet-connected software has become over the last decade. 20 years ago, when the world wide web began to grow in popularity, websites were very basic in their functionality.

Image result for apple website 1997

They were so simple, that you often just needed one person to manage the whole site — the Webmaster. The Webmaster wrote HTML code, maintained the content, kept up with hosting and did all of the design.

Image result for nerd in a basement
Above: The average webmaster, circa 1997

In those days, there was a distinction between the “Desktop” world of software that you install in your computer and handled complex Workflows, and the “web”, which was simple websites where you consume basic content.

10 years ago, when mobile apps began to grow popular, we experienced a similar growth curve: the first apps were very basic in their functionality, and often it only required 2 or 3 people to build and maintain a successful app. Desktop software was still the king of the hill for complex software Workflows.

Because of this history, I suspect that many people have an unconscious bias toward thinking that designing for the web and mobile apps is easy. And at the lower levels, they may be right.

If you’re just throwing up a basic WordPress or Squarespace site, you need neither a designer nor an engineer. However, if you are on the team of people that are building WordPress or Squarespace, you are working at a higher level of abstraction and dealing with a much greater complexity of workflows. You are still working on the web, inside a browser, but what you are building is no longer a website. You are building web-based software.

The machines that software engineers build are every bit as complex as the cars and airplanes that mechanical engineers build, or the microchips that electrical engineers build.

Web-based software is now just as complex as desktop software and in some cases the distinction is no longer present at all. For example, the most powerful software design tool on the market right now is completely web-based. They have a desktop app, but it is merely a container that opens the web application, and the only reason it exists at all is because there is a limit to how many of a computer’s resources you can access through a browser tab. The Amazon app, likewise, is just a container app that opens the Amazon website on your phone.

When you’re working with this level of abstraction and complexity of workflows, you are not building a website anymore. You are building a machine. It might be happening on a screen, but the machines that software engineers build are every bit as complex as the cars and airplanes that mechanical engineers build, or the microchips that electrical engineers build.

Image result for database structure diagram
Above: Database Structure of Drupal

Building and maintaining a machine of this complexity takes all of your time and focus, and years of full-time study and preparation to handle that level of complexity. You might still care about user needs and design, but it’s simply not at the forefront of your mind because you have so many other things to deal with.

If you want to build a product that doesn’t just work from a technical perspective, but also is something people actually want to use and enjoy using, you need some additional team members. They need to have dedicated the same amount of time that you spent on learning engineering at the highest level, to the craft of making things that people want to use and enjoy using. Together you can build something truly great.

Great designers have a deep understanding of psychology, behavior science and human nature, years of accumulated knowledge about best practices, in addition to knowing the visual stuff.

Engineers build complex machines. Designers(this includes UXR and CS) create machines that people enjoy using. Product managers identify market opportunities for machines that people might want to use, and keep the team focused on the right priorities. Marketers make sure that the relevant people are aware of this machine and want to start using it. Branding creates language and story around the machine that resonates with the relevant people. Accounting and legal make sure all the numbers are right and that we don’t get sued.

So while there is no question that engineering is the most important discipline, because it is the only way to go from “nothing” to” something”, in order to go from “something” to “something great”, you need to have all of these elements working together harmoniously.

This idea of designers creating machines that people enjoy using gets lost in all of the dribbble visual nonsense you see everywhere. Great designers have a deep understanding of psychology, behavior science and human nature, years of accumulated knowledge about best practices, in addition to knowing the visual stuff. Sure, an engineer could learn all of that if they put in the time, but it is much more time-efficient to work with someone that already knows all of that stuff and who they enjoy communicating with. That way, everyone gets to work on what they enjoy working on the most, and together we build something that is greater than any of us could have built alone.

Leave a Comment

Your email address will not be published. Required fields are marked *