@nehbit

Should designers be more technical? Three case studies

One of the questions I am asked often is related to whether a designer should be more technical or not. Due to my own field, this question usually comes in the context of coding or programming. As one of the few people who has gone almost all the way across the street to the engineering side of things [1], I wanted to share my experience regarding whether you should aspire to be as well. All of the following is very much informed by my personal experience of design; for whatever it’s worth, I am a product designer working with web and mobile, and I currently work at Google & YouTube. This is nothing but my personal opinion. Caveat emptor.

The trend du jour in my field is to get anyone with paws to be more technical: in my specific field that usually means computer programming. This push is at best a misguided attempt to reclaim print design’s dominance on the medium it operates on; something the mainstream practice of two-dimensional design has lost in the transition from the printed matter to the web. However, for a whole swath of designers, becoming more technical makes not much sense. There is only a limited amount of hours in a week, and the time you spend learning to be more technical is always taken away from the time spent practicing and getting better at your craft.

For a change, instead of vaguely waving my hands into the air and ending up with another mystical essay from a half-incoherent designer, I’ll state my thesis at the beginning, then I’ll attempt to answer the question for a few personas I encounter often and make their case in simplest terms possible.

Design is used here to refer to the practice of building works of engineering (from textiles, websites to cars, spaceships) into forms humans deem to be more attractive. Anything that is not strictly necessary for a machination to perform its basic duties while attempting to make it more palatable to humans is a work of design.

A stack is used here to represent the technical aspects of the field you are operating in that are not strictly necessary for producing design in that field. The stack for web design is HTML, CSS and Javascript. The stack for designing mobile apps for Android is Java and Android Studio. The stack for print design is printmaking and so on.

While this essay assumes out of convention that you are a two-dimensional designer who works with print, web, mobile, motion or in similar fields, the main argument is fairly general and is not specific to any particular field of design.

General case

To determine whether there is a benefit for you to become more technical, there are three axes you should be considering: opportunity cost, how long you’ll be using the experience, and how lenient your field is to a non-professional gaining technical expertise.

Opportunity cost

This is the cost of not doing something else at that particular time. In this case, the time you will spend training yourself in any particular stack will cause you to be not gaining experience in design [2], because you could be working as a designer instead. If you are charging $90 an hour, the opportunity cost of improving yourself in your stack per hour is $90 plus the experience you would be gaining.

If you are just starting out, opportunity cost is on your side, you should try to learn as much as you can. If you are already an expert, every hour hour you spend on something else other than coding will cost you dearly. Depending on your situation it might or might not be worth it.

How long you will need the stack expertise

The second is for how long you would be using the skills gained. Technologies die and are replaced over time, but you are much more likely to be the one to be departing that stack before it disappears into oblivion. This happens because as people get more experienced in design, their experience becomes more widely applicable to more fields and to more media. This reduces the value in being an expert in any one stack. An additional factor is that as you get experience, you tend to work with people of similar experience levels, and they are often capable of providing a surrogate to the insight you’d be getting out of the expertise if you had it yourself.

That said, remember that the most legendary designers are those who are committed to a single path, and have both the stack and design expertise.

Value added by stack expertise in your practice

Expertise in a stack can be considered a ladder which leads to a general expertise in design. If you already are an experienced designer, it might not be very useful for you to spend your time becoming only a beginner in a stack that you would likely be using only in that single project. Or you might also be working in a field that the technical aspects of your field are simply not available to anybody without a relevant engineering degree. This usually means the field is new or has unsolved, undefined properties. Aerospace is one of those fields. There are no designers building spaceships, because it’s still an unsolved problem of engineering: we simply do not yet have safe limits, boundaries we know to how to handle, in which human-centred design might take place. Thus, the design practice in that field is dominated by engineer-as-designers. Not only the field is not lenient to a designer gaining expertise in the technical aspect, it doesn’t yet even allow designers doing nontrivial work to exist as separate practitioners distinct from engineers. In this case, trying to get operative in the stack makes no sense.

On the other hand, if you see yourself as a mobile designer for the medium-long term, Android and iOS are going nowhere. The earlier you start, the better off you will be.

Before considering these three axes however, make sure that you are viable in design. If you are still mainly preoccupied with learning to design, you should probably focus on that. Stack expertise is only useful as a complement to your existing design skills, it does not replace being a good designer.

Personas

You’re a design student or a recent graduate of a two-dimensional design major.

This is the simplest one. Even if you are dead-set on being a print-only designer, you should try to get exposure to as many things as you can. A familiarity with programming is useful even in the context of print, from Python in FontLab to Javascript in InDesign. Remember, you don’t need to be proficient in code to be able to interact with it, just like you don’t need to know how to make paper from the pulp just to be able to design for print. Just make sure you get it well enough to be able to understand the constraints and opportunities you will be operating within. Your time is usually worth $0 / hour in college, that’s a freedom you won’t ever have afterwards. For you, it’s cheaper in opportunity cost than everyone else to learn it.

If you are a designer and a techie, all the better. In that case you probably already are programming to some extent, even if you’re not aware of it. However, set your sails appropriately so that you will end up a decent designer at the end of the college. If you define yourself as a designer, it is your prime craft: make sure that you are in fact a good one. It’s very easy to get comfortable with tech and start confusing your slabs and serifs. I know quite a few people like this.

tl;dr: Learn as much as possible, but plan on ending up a good designer.

You’re just out of college, and you got yourself a job.

Your time isn’t worth $0 anymore. This is good, but it also means that the time spent learning to be technical now has a cost. This is incurred not because of your hourly rate, but because the time you spend coding will subtract from the experience in design you would have gotten, should you have been designing instead. Another thing to consider is that from this point on it depends on the type and field of work you are expecting to produce. You should be thinking about how useful it is to have stack experience in your particular field. Two examples that are easier to justify are mobile design, and web design.

If you are a mobile designer, you should probably learn about the workings of your main platform. Android Studio or Xcode aren’t hard to learn, and some experience in Java for Android or Objective-C goes a long way towards making your design work actually implementable. At this stage, any amount of work you put into getting your design to work in Android Studio or Xcode will remove ten times the work from engineering side and they will love you dearly for this. This happens because to you putting your own design in native stack a) removes the inherent ambiguity from the flat mocks, and b) it makes you see and fix in advance the things you haven’t thought about but the engineers will have to in your place when they need to implement your work.

If you are working with the web, CSS, Javascript and HTML is now the best they have ever been. You should, without doubt, be as proficient as possible without compromising the rate of experience you are getting from being a designer. While there still are designers that send the mocks done in Photoshop or Sketch to the engineers and call it a day, most new graduates starting out are expected to be able to produce directly in the stack. This generally means clean HTML, style sheets and rudimentary Javascript for interaction and motion. Depending on the size of the work this could end up being the work that goes online, it can be a reference starting point for the engineers, or it can be used as an illustration and built from scratch by the front-end people which would then be passed to the back-end engineers.

Even if you are working for mobile, you should still have a cursory understanding of the web and vice versa.

However, if you are working in a field that is still engineering-driven, you might want to abstract yourself from the stack, because that could mean that you’d effectively become an engineer if you choose to follow that path. If you don’t want to be one, there is no need to do so.

tl;dr: Pick what you want to specialise in. Start looking deeper into your preferred stack. If your stack is suitable, gain technical skills. Maintain familiarity with the general environment.

You’re a senior-level, experienced designer

In this case, you already are a good designer that gets projects that are interesting challenges on their own without involving the stack in it. These type of projects most likely also have front-end and back-end people that are better than you can ever be in their crafts. You likely have already picked your specialisation and have the expertise in it. This is useful for you because design and stack expertise are two separate things; knowing something well means you can get proficient in another faster than someone who knows everything a little bit—you can jump off and work in another stack for a while without compromising your quality of work.

At this point, if you haven’t already gotten it, gaining an operating knowledge of your stack starts to make less sense. There are three reasons for this.

The first is because it is now easier than ever for you to switch to a new stack, because you have the expertise to be able to make the switch quite fast. This means the value of expertise in a specific stack decreases for you.

The second is that your time is now valuable enough that spending time trying to figure out the intricacies of Javascript etc. is time taken away from you thinking about the problems you are faced with.

The final reason is that you now have experienced people in your projects that are helping you out and providing a passable replacement for the insight you would be getting from being an expert in the stack you are working with. This however doesn’t mean their insight could fully replace yours; having both in the same person is still more valuable than getting it externally. It just means that the opportunity cost of getting that kind of expertise in your stack is now more than the exclusive insight you could only get from being an expert yourself. The people you are working with are probably pretty good at their jobs. Trust them.

tl;dr: You are experienced enough to jump from one platform to another, so deep knowledge about any single stack is less useful to you. Either make sure that you have the knowledge of the stack already and pick your projects based on this, or make sure that you have smart, insightful people around you to cover for what you don’t know. It doesn’t make much sense for you to learn to be technical in any stack, because you’re the expert and can take projects from all across the spectrum of different stacks, and your time is likely too valuable.

When you follow the rabbit hole all the way down, it turns out, the trend to push all designers to being stack experts is but a reflection of our newfound insecurity against the people who build our work. Up until now, the designer were to be in charge of a relatively static medium, where the production of a work of design meant a predominantly one way process in two-dimensional design. This is not the case any more; the medium is often more complex than the design which it is shaped by. For that reason some designers feel they are at mercy of black wizards who make it all work. If this argument strikes a chord, it could help you to get a bit more technical. If not, I’d recommend spending the time becoming a better designer instead. [3]

[1] I am the designer and the engineer behind Aether. It’s a free app that people use to read, write in, and create community moderated, distributed, and anonymous forums, an “anonymous reddit without servers.”

[2] This actually always improves you as a designer somewhat, and occasionally pretty evidently, but bear with me here.

[3] There are two exceptions to this: the first is if you want to have your own product eventually. In that case, pick your technologies well, and with some luck, it should be possible to get the stars to align. It definitely is an amazing feeling to launch a product that you engineered and designed, but be aware that it’s a long, long path to take. The second is if you want to get promoted as a designer in a big company, some capability on the stack you are working in will win you the appreciation of countless engineers.

You should follow me on twitter here.

Thanks to Tara for proofreading. <3