There has been some internet chatter of late debating whether it’s necessary for designers to learn back-end coding, much of it around Frank Chimero’s Designers vs Coding post which is currently doing the rounds. Being the all-knowing opinion formers that we are, we couldn’t help but let our thoughts be known on the matter.
No. They don’t.
Designers need to do one thing and one thing only. Be amazing at designing stuff. What form this ’stuff’ takes can be hugely varied and cross disciplinary but having an education in coding is certainly not an essential tool. The ability to think of great ideas? Essential. An understanding of how to communicate those ideas in a clear and succinct way? Vital. Knowing how the amazing website you’ve designed works on a back-end technical level? As Mike Sullivan says, Why should I?
There are various ways for the less techy among us to dip their toes into the murky waters of coding, but are they really a good idea? Surely a little knowledge is a dangerous thing and some things are best left to those who actually know how to do it?
As ‘design professionals’, we work with a number of different people who supply us with various services. Developers who build the websites we design, printers who do a great job of producing our print work, photographers, illustrators, couriers… We work with people we trust, can communicate with and enjoy working with. They’re all hugely important parts of the design process and we need them to do their bit so we can do ours. We’ve spent time finding these people, building relationships with them and they’re great. They do what we ask them to do and, the vast majority of the time, they do a brilliant job of it. Would learning to do their jobs myself make my design work better? Would an in-depth knowledge of a printing press improve the concept and layout of a poster? If I had an education in photography, would a piece of design featuring a photograph I’ve taken be inherently better than if I commissioned someone else to do it?
There’s a valid argument that this discussion isn’t necessarily about actually doing the coding yourself, more about understanding what can and can’t be done. Although isn’t this a slightly restrictive way of looking at things? Aren’t we supposed to be ones who come up with ideas? Shouldn’t we be thinking of concepts that communicate messages in a brilliant and inventive way, regardless of what’s supposedly possible? Surely we keep ourselves blissfully ignorant to the fact that our amazing brainwave could be a nightmare to make a reality and go for it anyway? The developers we work with relish the challenges we set them and limiting ourselves to suggesting what we know is possible just that, limiting.
In an effort to reign myself back, I will happily acknowledge that knowing the basics is important. Much of the dialogue between developers and designers is about educating one another on possibilities. But these discussions are about understanding the limitations without being governed by them.
Turning the argument the other way round and asking if developers should learn how to design raises some interesting questions. Is this a valid suggestion? Will the person coding my design be better off if they have a design education? Are designers the only ones who are adaptable enough to make the jump?
Now, I’m in no way suggesting that designers and developers sit at opposite sides of the studio not talking to each other, school disco style. I think working closely together is massively important and understanding the thinking behind how certain decisions have been tackled is essential. But learning how they do it? I think not. Regardless of whether I’m a good designer or not, is my time and effort best spent learning the ins and outs of a hugely complex field (that I’m frankly not that interested in)? I think I’d rather put my energy into what I can bring to the table creatively.
There are a number of interesting points within this debate and I’m looking forward to hearing more about what you think.
Thanks for reading,
Mat
Where there is a will, theres a way.
Comment by Greig — September 1st, 2011 @ 2:22 pm |Developers are developers, it’s an entirely separate discipline and skill.
Designers should be able to write markup and css, with rapid prototyping becoming an essential skill in the design realm, this is critical.
Writing markup and CSS is NOT web development.
J.
Comment by James — September 1st, 2011 @ 2:32 pm |You cite an example of having an understanding of the printing process improve your poster design. Whilst you don’t necessarily need an “in-depth” understanding (as you say, that’s the printer’s job), a general understanding of how it works can certainly influence certain decisions you make, and is vital for setting up final artwork. I’d say that level of understanding is essential for any professional designer.
Likewise with web, a graphic designer doesn’t need an in-depth knowledge on web development. However, it is certainly a huge advantage to have a basic understanding of how a website is structured, built and what is and isn’t reasonably achievable. This not only allows you to have an understanding of the very thing you are designing, but also smooths the process of handing over your design to a developer.
I’m unique within our studio, in that I’m the only one that whilst coming from a straight graphic design background, is able to handle web development. I don’t expect other designers I work with to be able to build me a website, but I do expect them to have an idea on how it would function and be built, so that they can build realistic mockups, and also so they can communicate how it should work.
Comment by Nathan — September 1st, 2011 @ 2:47 pm |James – you did not back up your statement, and so I am not convinced that I need to learn code.
Comment by Kiki — September 1st, 2011 @ 2:51 pm |web development and design are completely different pursuits
Comment by Kiki — September 1st, 2011 @ 2:55 pm |Web design has a lot in common with product design. No one expects a product designer to be able to operate the factory machinery that fabricates their product and no one expects an architect to be a competent builder; what they are expected to do is have a solid understanding of how the medium works – with the assistance of skilled and experienced expert advisors, of course.
Exactly the same applies to web design. And we also have to bear in mind that – for many people – the mindsets required to approach aesthetic creativity and technical creativity can be incompatible. The number of genuinely good web designers who are expert at both design and code is very low and I have a hell of a lot of respect for those very talented individuals. For the rest of mere mortals, we’ll create better websites if we stick to what we’re best at.
Comment by David Cole — September 1st, 2011 @ 3:12 pm |Oh, and James: if CSS and HTML isn’t web development – what is it then? Care to educate me?
Comment by David Cole — September 1st, 2011 @ 3:14 pm |Nice blog post. I totally agree.
As a designer I can code on a front end level, but really only because I’ve had to in the last couple of places that I’ve worked. If I had the choice this would be a world that I would leave completely to the development geniuses that do what they do best. I do agree that an understanding can be beneficial and I do feel it does benefit me on certain projects, however, I think even without this knowledge you can still be a great web designer.
When I replaced and decorated my bathroom I picked out the tiles and picked the paint colour, I chose the roofing and all the fittings. My bathroom looks exactly how I hoped it would look, but it looks good because it was done by a tiler, a painter and a joiner.
Comment by Gordon Bonnar — September 1st, 2011 @ 3:15 pm |Nice post guys. Glad you said .
I totally agree that designers don’t need to know how to code. But having a decent head and understanding of what is possible and how to push the level is essential. Not to be restricted by it, but to be able to push it.
The minute you start coding you stop designing. Thats not to say you can’t be creative with code though
Comment by Paul Lindsell — September 1st, 2011 @ 3:32 pm |We need to separate front and back end development when it comes to talking about a web designers skill set. They are very different.
Frank’s post recommends that web designers know front end development (HTML/CSS) and I would have to agree.
What this does is remove a large barrier that designers and developers often have when it comes to communication. Very little is impossible when it comes to front end web development, but specific design choices can cause more heart ache then they are worth. Being able to identify these choices before they get approved by a client can be a lifesaver for many budgets.
This could be the same comment for a print designer understanding the process of a litho job. And I’m sorry but a print designer that doesn’t know how a litho press works; its limitions/advantages vs digital isn’t a print designer. They are fine art students trying to pass as a designer.
Imo the more you know doesn’t hurt. That goes for any aspect of a designers career.
If having an increased technical level of knowledge limits a designers creativity then they can blame themselves for that.
Comment by Matt — September 1st, 2011 @ 3:42 pm |Hi Matt
Thanks for your comment, some interesting points.
Regarding your comment about understanding the print process, I completely agree that a basic understanding of how a litho press works is essential for a print designer, but do I really need to learn how to operate it myself?
I also agree with you that technical understanding doesn’t necessarily need to limit creativity, but it often does (and the designer has only themselves to blame).
Comment by Mat Dolphin — September 1st, 2011 @ 3:43 pm |I think all web designers should know and fully understand the medium that they work with this includes content, HTML, CSS and also how things from the backend affect their design.
Comment by Stewart — September 1st, 2011 @ 4:12 pm |Stewart – you are speaking what we already know – of coarse a web designer needs to understand the medium fully, but does he/she need to know how to write code? That is the question at hand.
Comment by Kiki — September 1st, 2011 @ 4:26 pm |Hi Mat,
You don’t need to know how to operate the press, but you should know how ink is applied, downfalls to certain pantones hues vs their cmyk counterpart, dot gain, the qualities found in different papers etc. Will it make you a better print designer? no. But when up against a tight timeline/budget, processes need to be as smooth as possible. It will definitely add value to you as an employee.
Just as in web design. You don’t need to know how to create the framework that drives the back end. But understanding basics as CSS properties/rules, browser compatibility, new and emerging technologies (front end) is a must.
As time progresses and the devices we view digital mediums on change this will become even more relevant.
This should spark your creativity in a different way, not limit it. Because its no longer about simply creative concept, but more about human interaction due to the advancements in the technology used. How can you take a creative idea that would be carried out in a installation setting, and turn it into an interactive piece online? Understanding the development side of things aids in solving these problems.
Comment by Matt — September 1st, 2011 @ 4:47 pm |Hi Matt
“You don’t need to know how to create the framework that drives the back end. But understanding basics as CSS properties/rules, browser compatibility, new and emerging technologies (front end) is a must.”
Correct me if I’m wrong but it seems like you’re saying you need to understand the basics of the medium but you don’t need to learn it? Which is exactly the point we’re trying to make.
Comment by Mat Dolphin — September 1st, 2011 @ 4:48 pm |Mat Dolphin, Your point about having a basic understanding of how a litho press works is right, and I believe all web designers should know the BASICS of HTML and CSS.
Also if designing for a CMS/Platforms I think more care also needs to be taken in knowing the system you are designing for as some systems don’t allow certain elements to be displayed in the areas you wish in the design; e.g. showing the cart total in the footer in certain eCommerce software may not be attainable.
From a print designers perspective it’s of a case of knowing what type of paper you are printing onto which is akin to knowing what css is supported to get the full depth out of your design for certain medium/devices.
Comment by Ian — September 1st, 2011 @ 4:51 pm |Mat, the first thing i must say is that you’ve completely misread what Frank Chimero said. He never said that a designer should learn back-end coding.. that’s preposterous!
Frank (and even myself, the builder of Should Designers Know How to Code), as well as many of your commenters it seems) believe wholeheartedly that every designer worth their weight should know HTML/CSS since that’s the medium they’re designing for.
Sorry, I couldn’t get past your first sentence since it was completely wrong..
Comment by Eric — September 1st, 2011 @ 5:06 pm |Hi Eric
It’s a shame you didn’t manage to get past the first sentence as you might’ve seen that our argument is in no way exclusive to back-end coding. The point we’re trying to make is that whilst having an awareness of coding is in no way a bad thing, it’s certainly not a necessity for a designer. It gives you an understanding of the medium but doesn’t improve your creativity or design skills any more than learning the piano or going to an art gallery.
Thanks for getting involved.
Comment by Mat Dolphin — September 1st, 2011 @ 5:07 pm |See, problem is that it’s not that black and white anymore is it. There are designer developers and developers that design. I would go as far to say that if you look further afield, particularly outside the U.K. (say Australia, for example) the two disciplines are moving closer and closer together. I think this new breed of designer developers just got sick of the age old ‘us and them’ senario propagated at least a couple of decades ago. C’mon, you meant to delivering the future here.
Comment by Bojkowski — September 1st, 2011 @ 6:00 pm |Its a shame that designers are now expected to do the front end HTML & CSS stuff. For me this is the ‘code’ part weather it be back end or front end. It does pay to have a knowledge of this but I feel two job roles are being lumped into one to save one money.
Comment by James — September 1st, 2011 @ 6:01 pm |It is not a shame that we designers are expected to be knowledgeable to do at the very least front-end development. HTML & CSS is like the skeleton of the design we are making. The design is just the “skin”. You should know the limits and possibilities of the technology you’re designing for. How would you evolve your WEB designing if you don’t know the technology?
I’m not saying you have to be excellent at both, but if you’re a designer, be knowledgeable of what you’re designing for. You don’t have to know the back end stuff, but front-end? Definitely.
I know a lot of older designers in our country who can’t have a career advancement because they lack the knowledge of the technology. Their designs appear so stagnant compared to the younger generation. The younger generation not only depends on the visual part of the design but the whole experience. By experience I mean, incorporating technologies like HTML canvas, CSS animations, etc. to their designs.
The web is a dynamic medium. Be dynamic learning about it as well.
Comment by Nazel — September 2nd, 2011 @ 4:09 am |Hi Nazel
I agree with your points about the nature of digital design changing and the user experience being that much more immersive, which is something that designers need to understand. The simple point we’re trying to make is that you can be fully aware of the possibilities of technology without having to learn coding. There are plenty of amazing designers around who are living proof of that.
Understanding the medium is one thing. Learning it is another.
Comment by Mat Dolphin — September 2nd, 2011 @ 8:19 am |Architects are familiar with dozens of different disciplines, why wouldn’t the same apply to a designer? Surely adding more strings to your bow makes you a better designer as you are more competent in understanding the different discuiplines in bringing a product or service to market and therefore can do it for less cost, which makes you more attractive as a supplier
Comment by Rob Richardson — September 2nd, 2011 @ 9:27 am |Should developers learn to design?! BEWARE
Comment by Andi — September 2nd, 2011 @ 10:08 am |Why does it seem like a lot of people are missing the point of the discussion?
No-one is saying that it isn’t beneficial for a web designer to understand how the development process works and to know what new trends and technologies are popular. Some would say this is more than beneficial but a must within their job role and it is their responsibility to know how their creative idea could be made possible.
But the question is, should they have to learn the tools to be able to go and build it themselves? No. That’s why we are graced with developers.
“Jack of all trades…” springs to mind.
Comment by Gordon Bonnar — September 2nd, 2011 @ 10:10 am |I can design and code – so very there – seriously though, if you want great design, go to a designer who can then pass it on to a great web developer and put it all into a nice little CMS system so you can add bits and pieces when you like.
I get the understanding the print bit and used to run a design for print seminar to get over issues like bleed, masking, tinting and matching pantones with CMYK and of course the accounting for the ‘creep’- Print is so different to web that it is totally unnecessary to understand code if you are a designer – what you do need to understand is that if your web developer says “that is not possible” believe him….
Comment by Andrew PAlmer — September 3rd, 2011 @ 2:10 pm |I think in an ideal world we’d have designers, front end developers and back end developers. But most of the time small studios can only the afford the luxury of skeleton staff, so that’s where the crossover has happened. But that has not necessarily been a bad thing. There are some truly amazing people who can design and develop very well and who have blurred the discipline boundaries.
I think it’s natural for anyone who loves what they do will always learn beyond the scope of their skills, but that shouldn’t be formulated into a job description as such. It just depends on whether you’re looking for employment for a specific role where it counts.
Comment by Mike Ng — September 6th, 2011 @ 12:24 pm |Mat, You state that we don’t nessearily need to learn how to code to be able to understand how th web works.
I get your point but there is such a fine line between ‘awareness & understanding’ and ‘learning’.
I mean, how is a designer going to be fully aware of the possibilities & limitations of the development process, until he/she tinkers around in code, works out and learns how the languages work?
For the record, I studied as a designer and learned how to code, through endeavour, as I love the web. This in turn made me a hell of a lot more employable. So many graduates each year, the ones who can code will have a better chance than the ones who ‘have an understanding’.
Comment by johnjohn — December 13th, 2011 @ 3:50 pm |I now consider myself a designer/developer. So if learning how to code makes one more employable in the field of web, then I’d have to disagree with you.
Hi Johnhjohn,
Thanks for reading and getting involved.
For us inspiration can come from anywhere and everywhere. Knowing the limits of something could work for and against in breaking them. For us we’re aware knowing a little can help, but it’s not necessary. We’d rather create a brilliant idea and then work backwards.
Why be limited?
Mat
Comment by Mat Dolphin — December 13th, 2011 @ 3:55 pm |I grow tired of the amount of job descriptions around that look for a graphic designer yet require all the skills of a designer AND those of someone who knows advance coding too – two jobs, one role. Kind of cheeky I think.
I understand the need to know elements of both, I know the basics and am reading up on more advanced coding but thats purely for my own want to learn something new.
Comment by Mathew McGinlay — February 28th, 2012 @ 1:16 pm |Forget coding. READ!
Comment by Andrew Lowe — February 28th, 2012 @ 3:43 pm |