Engineers Should Not Design Streets: A Programmer's Take

 

This article was written by Andrew Price, a regular contributor to Strong Towns since 2013 and a founding member of the organization. It was originally published on his blog, and is reposted here, in slightly different format, with his permission.

 

 

I stole this title, Engineers Should Not Design Streets from a Strong Towns article. I thought I would give another perspective.

I am a software engineer (also commonly called a programmer). Building software involves many different roles. Different companies have different roles and different names for roles, but a typical setup for me involves software engineers, product managers, and UX designers. Each role has their own strengths and their own skin in the game. The product managers identify the needs of the user and dictate what we should build. The UX designers determine the look and feel of the product—the layout, different screens, wording, images, branding, etc. The software engineers do the actual implementation: they solve the technical problems needed to build the product. This is usually not a one-way flow of command. The engineers get involved early and influence the product based on technical feasibility, or the UX designers might find that a particular feature does not resonate when shown to a user research panel. We work as a team and each person has their role to play.

When it comes to performance reviews, each role is rated differently; product managers have skin in the game to make products that users actually want to use, UX designers are rated based on how well they were able to design something that was both elegant and resonated with users, and software engineers are rated based on the execution and technical difficulties they overcame. A product can be an absolute flop with users, but there might have been many difficult technical challenges that were overcome by the engineers to build it, so the product manager receives a bad performance review while the engineers get promoted—or vice versa if the product was a success but trivial to build.

Now we understand that each role has their own strengths (after all, a jack of all trades is a master of none) and also their own value system. Everyone wants the product to be successful, but the top priority for the UX designer is likely to build beautiful things, and for the software engineer it is likely to solve technical problems.

In the software world (most commonly in the video game world), when you let software engineers design the visuals, we call it "programmer art." Often, programmer art refers to the placeholder graphics that come before the artists are able to produce nice graphics for the end product.

Image via Newgrounds.

Image via Newgrounds.

Sometimes, programmer art is all you have when you are just a team of engineers.

What happens when you do not have artists. (Image via itch.io.)

What happens when you do not have artists. (Image via itch.io.)

The article “This Is What Happens When You Let Developers Create UI” describes what happens when you generalize this to anything user-interface related, not just video games.

What you get when software engineers design the user interface. (Image via UX Collective.)

What you get when software engineers design the user interface. (Image via UX Collective.)

What you get when UX designers design the user interface. (Image via Dribble.)

What you get when UX designers design the user interface. (Image via Dribble.)

There is a big difference in the quality of the end product, even though in both, you still need software engineers to actually build the product. You do not let software engineers design the user interface.

How does this relate to cities and streets?

Too often, we let engineers design our city streets. This applies to traffic control methods slapped onto century-old streets, as well as new streets we build today. Engineers often prioritize the movement of cars.

blog109-8.jpg
blog109-7.jpg

Even when the engineer is trying not to, or cannot, prioritize motor traffic, they are not architects, landscapers, or artists. Their design skills are limited (I am saying this as a software engineer myself who could not design a pretty user interface to save my life) and they are going to struggle to go outside of their toolbox of sidewalks, curbs, asphalt, crosswalks, stop signs, etc. Maybe we can vary the material a little bit, but unlike an artist, an engineer is going to struggle to think of how to make a beautiful street outside of this toolbox.

Compare the above streets to the wide variety of streets we find around the world (and even in the United States). These are streets you can tell were designed first by builders, designers, locals, architects, etc., even though engineers were involved in the actual implementation.

It is easy from an aerial view to tell the parts of a city that were designed by an engineer and the parts that were not. For example, here is Zurich:

Aerial view of Zurich. On the right is the traditional, organic city, and on the left is the city planned by engineers. (Image via Google Maps.)

Aerial view of Zurich. On the right is the traditional, organic city, and on the left is the city planned by engineers. (Image via Google Maps.)

There is such a stark contrast between the streets in the parts of the city that were not designed by engineers...

An intersection forming a charming square in the traditional part of Zurich.

An intersection forming a charming square in the traditional part of Zurich.

...and the streets in the modern, planned parts of Zurich:

Another street in Zurich, obviously planned by engineers with sidewalks, crosswalks, lane markings, traffic lights, curbs.

Another street in Zurich, obviously planned by engineers with sidewalks, crosswalks, lane markings, traffic lights, curbs.

There is an obvious difference between streets designed by engineers (as they almost exclusively are in modern cities) and streets designed by architects or locals. Saying architects or locals should design streets does not put engineers out of jobs; they are important for the implementation, the same way the software engineer is needed to build the software. The engineer still needs to worry about drainage, the placement and capacity of utilities, the structural stability of the street, figuring out the logistics of trash pickup, deliveries, et cetera: all of the important stuff to bring the vision to life. But, engineers are crappy designers.

Even on this street not designed by an engineer in Lucerne, Switzerland, we still worry about storm water run-off, so that the buildings do not landslide into the river, the sett does not buckle, etc. Engineers still play an important role here.

Even on this street not designed by an engineer in Lucerne, Switzerland, we still worry about storm water run-off, so that the buildings do not landslide into the river, the sett does not buckle, etc. Engineers still play an important role here.

Engineers are also important for designing roads—i.e., connectors between productive places.

Motor-roads and railroads in Secaucus, New Jersey.

Motor-roads and railroads in Secaucus, New Jersey.

But, roads are not streets. Streets are a platform for building wealth, not connectors between places.

Streets and roads in Toulouse, France.

Streets and roads in Toulouse, France.

By allowing engineers to lay out our cities and design our streets, what we have done is created the "programmer art" version of cities.

blog109-46.jpg

When our cities could be so much better.

There are plenty of people able to design beautiful places today. They are hired by the entertainment industry: film, video games, theatre, and theme parks.

If we can dream it, we can build it. Places like this existed in the past, and still exist to this day, all over the world. Engineers play an important role in figuring out how to turn beautiful designs into reality. But, please, do not let engineers design our streets. Our cities do not need more programmer art.

 

 

Want to learn more about how we can design more beautiful and prosperous cities?

Check out our Academy course "Urban Design Principles for a Strong Town"!