This summer I’m interning at a tech company that is very design centric. When building new software, our first consideration is what will be the best user experience and what will look great, not what is technologically feasible.
How often do you see an app that’s absolutely beautiful and a joy to look at but doesn’t really do anything? That’s an all-too-rare problem to encounter. It is much more common to see applications that have a mediocre (at best) interface.
Computer Scientists Need to be Better Designers
It’s tempting to say that design and computer science are different fields, but that’s really not true.
To implement a design you have to be a good programmer, and to build an interface for humans you need to be a good designer.
It’s not good enough to have a graphic designers build pixel-perfect wireframes and then trust non-designer programmers to implement them. There are a million and one little decisions that must be made when this implementation occurs1, and if these aren’t done by folks who understand design, your originally-beautiful-idea is going to have terrible execution.
I get it—not all computer scientists have design chops, it’s unfair to expect that, and you need people who focus strictly on the backend. I’m not saying all computer scientists need to be excellent at visual design, but the problem is that they’re currently non-existent in proportion.
You’ve probably never done this before and you’ll be shocked at the result. Your software will be so simple that the average user is (1) delighted by the unusually good user experience (2) delighted that your app does so little that it’s actually usable.
We need less functionality and more user experience. This sounds like a terrible idea to 10% of the population, and they voice their opinions very loudly. The other 90% are the quiet bread-and-butter user base who are desperately craving for their digital lives to be simplified. Simplicity liberates them and they pay good money for this. The market has proven this over and over again.
How Can Computer Scientists Become Better Designers?
Artists have many books that talk about design: hues, values, composition, and textures. Graphic designers have books that talk about the intricacies of fonts: families, sizes, line heights, and characters per line. These books should not be confined to just artists and designers. They should be referenced by computer scientists just as heavily as textbooks on backend programming. They should be a core part of postsecondary academia. They should be a major component of discussion for every software project that’s intended for humans.2
In short, computer scientists can become better designers by studying and practice. That’s how they learned how to program in the first place, right?
The Danger of Not Becoming Better Designers
Making visual decisions usually requires more creative thinking than building software that’s functionally matching a specifications memo. You can teach a monkey how to program.3 Design is more stimulating and satisfying. And right now, it’s much more rare.
If you don’t get good at design, you will:
- Confine yourself to enterprise and legacy backend systems where visual chops don’t matter
- Never have an opportunity to participate in the startup world, where design is the #1 deciding factor of whether you’ll make it or not4
- Never experience the sheer delight of users of your software. Laypersons who use your software get excited about an incredible design and UX, not about reducing database queries by .015 seconds
- Outdate yourself as inexpensive labor and futuristic coding-writing-programs make your job obsolete
If you’re a good designer who is capable of executing your designs, you will never be out of work. You can work on what you want to work on. You can build your own stuff. You can write your own ticket.
Now go design, computer scientist. You know how to code, which means you can implement those designs. That’s dangerous. The world needs you.
2Many programs in enterprise are written to be consumed by other programs and systems instead of humans, which is why I make this distinction.
4Okay, I just made up this statistic, but I’ll die defending it. I firmly believe you can sell ice in Antarctica if your design is good enough. And by “good enough” I’m mean better than 99% of what’s passed today as good design. That’s how starved the computer science community is for design skills. There’s lots of design talent in the world, but this talent doesn’t control the code base generally speaking, and that’s a shame.