Published in Brighton, UK

Clagnut

Why designers should and shouldn’t code

Like the unwelcome advances of an over-friendly wet dog, this debate comes bounding up occasionally. Our canine culprit this time seems to have been this tweet:

Honestly, I’m shocked that in 2010 I’m still coming across ‘web designers’ who can’t code their own designs. No excuse. – elliotjaystocks

Designers need to understand the medium in order to properly design for it. That is a given, whatever your field of design, be it fashion, posters, packaging, architecture or web.

Mark Boulton makes the point that HTML is not the medium. By extension, being able to code HTML & CSS proficiently does not necessarily imply an intimate knowledge of the medium from a design perspective.

At Clearleft, our designers do not mark up their own designs. We require that they can all code well, but they never touch a line of production HTML. By the same notion, our front end developers – the ones who do code up the designs – never push a pixel of design, but we do expect them to have a basic understanding of design principles.

Why should our designers be able to code but not be required to do so? A working knowledge of HTML & CSS gives a deeper understanding of the medium. More importantly, this knowledge provides the designer with a foresight of what difficulties he or she may be presenting to the developer, without having to concern themselves with actually building the design.

The oft-used architectural metaphor holds well here. An architect does not have to be a civil engineer in order to design a building; he or she needs to understand how the building will work for the people or things which inhabit it. But an architect does need to have a sense that construction of the building is actually possible within whatever constraints are present, and they need to know when and how to talk to a civil engineer about the feasibility of their design.

This is the beauty of working in teams of specialists. By being able to rely on the expertise of others, it provides a license to push the boundaries of your own specialism. This only works smoothly when everyone is a rounded specialist. There needs to be a common vocabulary and understanding of all disciplines. Conversations are required; discussion and compromise. The best compromises are reached when both sides understand the issues of the other.

If you’re a lone freelance designer, you’ll most likely be required to both design and build, and the chances are you’ll be better at one than the other. It also means you’ll be having the afore mentioned conversations with yourself. And that of course is the first sign of madness.

Next

Previous

Related posts

Keywords

Machine tags

Comments

  1. 1

    Well put, Rich. Designers don’t need to be able to code, but they should have an understanding of it. And obviously that understanding is attained with greater ease if they can do it, if required.

    Elliot Jay Stocks
    Elliot Jay Stocks’s Gravatar
    18 Feb 2010
    11:18 GMT
  2. 2

    This is the essence for me, and something I’ve banged on about before to devs & designers I know:

    ...this knowledge provides the designer with a foresight of what difficulties he or she may be presenting to the developer, without having to concern themselves with actually building the design.

    This goes both ways, exactly as you said, your devs have an understanding of design principles.

    Hear, hear.

    Remy Sharp
    Remy Sharp’s Gravatar
    18 Feb 2010
    11:23 GMT
  3. 3

    Well put, Rich. I feel there has been a misconception that understanding is always attained by ‘doing’. it’s not the case, all the time.

    I can’t write javascript, but I understand the design implications, and can therefore design for it. If I could write javascript, then I’d no doubt find it easier to design with it in mind. It’s a case of where you want to put your efforts.

    Mark Boulton
    Mark Boulton’s Gravatar
    18 Feb 2010
    11:32 GMT
  4. 4

    As everyone else has said, it’s an excellent article.

    I get the basic principles for design, but I still look at a PSD and immediately wrap it all in tags and CSS in my head.

    Colm Doyle
    Colm Doyle’s Gravatar
    18 Feb 2010
    11:42 GMT
  5. 5

    A working knowledge of HTML & CSS gives a deeper understanding of the medium. More importantly, this knowledge provides the designer with a foresight of what difficulties he or she may be presenting to the developer, without having to concern themselves with actually building the design.

    I agree wholeheartedly with that statement, however I also think we need to push the fact that a better UNDERSTANDING also helps you to realise the possibilities of the medium.

    How this understanding is achieved I don’t really mind, although from a personal perspective I find it easier to understand by doing, others may differ.

    Dave Kirk
    Dave Kirk’s Gravatar
    18 Feb 2010
    11:45 GMT
  6. 6

    An age old argument.

    But don’t forget the end user too – we need to eat our own dog food.

    Robert O'Callaghan
    Robert O
    18 Feb 2010
    11:45 GMT
  7. 7

    I agree, and like Rem says, it goes both ways. I’m a developer – backend Java & PHP and front end HTML, cSS & Javascript.

    But, I’m not a designer. Sure, I’m OK with Photoshop and I’ve knocked together numerous designs for clients who couldn’t afford to pay for a designer.

    I think it’s good that there is a division between design and development. If I tried to design a site, it would be constrained by my own ability. Similarly, a designer who tries to develop their ideas will likely be constrained by their abilities (and that’s why we sometimes end up with sites doen in Flash)

    But as a developer it is frustrating when the designer doesn’t appreciate the constraints of x-browser CSS or dynamically created CMS content, and how this can impact a design with budget constraints.

    The key is to work together

    Howie
    Howie’s Gravatar
    18 Feb 2010
    11:57 GMT
  8. 8

    Excellent article! I totally agree with you.

    Goran Mitev
    Goran Mitev’s Gravatar
    18 Feb 2010
    12:01 GMT
  9. 9

    Great overview of an old & ongoing debate. Personally I never touch code of any flavor, but I don’t believe this makes me a bad designer. I do have a good understanding of what is/isn’t achievable code-wise, this comes from working with some great developers. Only when working as a member of a team of experts do you achieve a great result. You can be good at many things, but it better to be great at one thing.

    Dereck Johnson
    Dereck Johnson’s Gravatar
    18 Feb 2010
    13:23 GMT
  10. 10

    What is the medium?

    ChunkyPants
    ChunkyPants’s Gravatar
    18 Feb 2010
    14:00 GMT
  11. 11

    What is the medium?

    ChunkyPants
    ChunkyPants’s Gravatar
    18 Feb 2010
    14:04 GMT
  12. 12

    Good article Richard. I definitely feel that the architect analogy is the most apt of all I have heard. I find it funny that there is such heated debate about this topic, as Mark Boulton has said a lot recently there are shades of grey. The shades of grey in the web industry are vast, but the approach that you guys take at Clearleft just makes sense to me.

    Owen McGauley
    Owen McGauley’s Gravatar
    18 Feb 2010
    14:05 GMT
  13. 13

    Seems to me that there are plenty of web designers who have both (coding / development) skills out of necessity, but it’s rarely the other way around.

    Having worked on both sides of the equation, I now (as a recruiter in this ‘business’) often work with designers who have furthered their own development skills in order to be successful as freelancers – Attempting to meet their clients needs without adding overhead to their business model.

    You need look no further than the number of designers who are also pretty adept at installing a CMS, working with a Linux command line or modifying a PHP script to suit their needs. All tasks that would be traditionally handled by a developer, but something they need to do to maintain their own portfolios and to run their design business.

    I love / hate it when we get requests from clients for a designer / developer because it’s very rare to find people that are incredible at both. I relish the chance to educate our clients on value of specificity and I spend equal amounts of time telling designers that just because you can install EE or query MYSQL through PHPMyAdmin, does not mean you are a PHP developer or a database engineer.

    I’m not saying that you have to just choose one discipline, but suggesting that you are a true “renaissance man” who can do everything, rarely seems like the core value you bring to a project. It’s always a nice to have but never the requirement.

    David Kavanagh
    David Kavanagh’s Gravatar
    18 Feb 2010
    14:31 GMT
  14. 14

    You say it perfectly with:

    “There needs to be a common vocabulary and understanding of all disciplines. Conversations are required; discussion and compromise. The best compromises are reached when both sides understand the issues of the other.”

    I think this quote speaks volumes about our industry. It’s invaluable to understand and be able to talk intelligently across disciplines. I run into this when building web applications. I work with some very good programmers, but they don’t understand HTML/CSS/JavaScript – so the end product becomes a nightmare.

    Nate Klaiber
    Nate Klaiber’s Gravatar
    18 Feb 2010
    14:51 GMT
  15. 15

    I share your point of view exactly!

    The most effective projects I’ve worked on have been ones where the production team is specialized in at least three ways: Visual designer, interface developer, and back end programmer.

    The three should always meet on design. The three points of view will complement each other, and when decisions require a compromise, it will be based on balancing what is nice with what is possible. Plus the developer acts as a nice intermediary between the designer and the programmer, because he/she is usually able to speak both languages.

    Sample conversation:

    Designer: “We need a tab up top to switch between the two views.”
    Developer: “Let’s not space them like that. Just use what our CSS grid already allows for.”
    Designer: “Ok. And I should probably resize this one widget to follow the grid. Forgot about that.”
    Programmer: “Do I need to redraw the page on clicking that tab?”
    Developer: “It should probably just be an AJAX call. Most of the content will remain the same except for these two widgets.”
    Designer: “Can we constrain the height of the widgets? I don’t want the page layout jumping around when one box has a lot more content in it.”
    Progammer: “Sure, I only return the top six rows anyway. I’ll truncate the text based on my over/under character limit.”
    Developer: “Alright, but that should be a table, not a list. Just give me the variable name and I’ll rewrite the markup.”

    Beautiful!

    Alex Burr
    Alex Burr’s Gravatar
    18 Feb 2010
    14:53 GMT
  16. 16

    Spot on, designers should be able to code, but not necessarily to the high standard of developers and vice versa.
    I think the same argument applies to front end vs back end. Just because I can do back end stuff, doesn’t mean I do, but I know what the limitations and technologies allow, and that came from doing it (albeit the doing it was doing it badly).

    Matt Bee
    Matt Bee’s Gravatar
    19 Feb 2010
    17:01 GMT
  17. 17

    Nice post. I’ve been thinking about this lately too (who hasn’t) and I have to say I definitely agree with you. I think it’s necessary for a designer to at least understand HTML and CSS so when they’re designing they know what’s possible and what’s not. Mike Kus made a great point in his post about how learning code liberated him and I think knowing how to code can be nothing but a benefit for a designer.

    Andrew Philpott
    Andrew Philpott’s Gravatar
    19 Feb 2010
    17:05 GMT
  18. 18

    Started four months ago. Lot to learn about. No conversations yet.Waiting for the first signs.

    I`m trying to do both design and build websites, i enjoy it and try to get better every time.I cannot imagine doing one without understanding the other.

    Great article

    Theo
    Theo’s Gravatar
    20 Feb 2010
    01:02 GMT
  19. 19

    I am a trained graphic designer/visual communicator… For a long time I had no idea how websites where built and the idea of designing a website scared me and the idea of learning how to build one terrified me.

    But these days to be a designer requires a knowledge of web development, so I took a deep breath and got my self a web design job.

    I was lucky with job I got because I still got to design whilst being trained in the coding side of things.

    I could never have tough myself web development to the standard that my company have trained me and it is for this reason that i would say to anyone who is thinking of getting into web design, if you want to be seen as any thing more than a “cowboy developer” you really do need the experience of working for a company who have spent time and money developing standards and ways of working.

    Then you will be able to bring something to the table rather than drown in a sea of mediocre web designers.

    Anna Green
    Anna Green’s Gravatar
    22 Feb 2010
    14:08 GMT
  20. 20

    My goal is to have the kind of command of type in CSS as I have in Adobe software. That’s going to take years!

    Derek Oscarson
    Derek Oscarson’s Gravatar
    22 Feb 2010
    20:30 GMT
  21. 21

    Hey, if you have the resources to not rely on your designers to handle the front end coding, go for it.

    As far as my own opinion goes (and I assume this article is partly to attract interaction on this subject) I don’t see how anyone worth their salt could call themselves a ‘web designer’ today and not have a very solid understanding of XHTML, CSS and Javascript regardless of how often they use those skills. Perhaps my definition of web designer includes more development skill sets than others’ and I know this article doesn’t argue against that but in my experience if I didn’t touch a line of code and only drew a layout in Photoshop (which I rarely do anymore as it is), I’d be out of a job overnight and very unemployable, at least in my country. Just sayin’.

    In the end, whatever floats your boat, I suppose.

    Skyrocket Labs
    Skyrocket Labs’s Gravatar
    22 Feb 2010
    20:44 GMT
  22. 22

    I’m with Skyrocket Labs on this one. Run your business the way you want, but don’t try and jam everyone on earth into your square-shaped peg-hole. Sure, it’s the rare person that can both design and code well, but isn’t that all the more reason to aspire to that level of professional skill? If I had a choice of jobs and one said “you can design, but you’ll never touch the production code,” I’d be looking elsewhere.

    Morgan
    Morgan’s Gravatar
    22 Feb 2010
    20:56 GMT
  23. 23

    <p>I have to agree with you on this one Rich. Often times when a PSD comes down my way, there has been no thought on what kind of headache it provides a coder. Often times things come down with a 1800+ pixel background, that has no way to dumb down or make smaller.</p>

    <p>Regardless, when I do a freelance design, I am the one the builds the code out. So, my designs are usually simplistic and always contained within 980 pixels. They never contain something that is going to be hard to accomplish, and the HTML is usually prewritten in my head before I even get a colour scheme!</p>

    <p>Nice right up. Thank you very much for this!</p>

    Bennie Mosher
    Bennie Mosher’s Gravatar
    22 Feb 2010
    21:02 GMT
  24. 24

    I agree that their are designers and developers and a right-brain/left-brain thing going on but, at the same time, it is essential – especially for students to become versed in both. Most of your smaller companies will want a Webmaster or a Web person that is expected to do both.

    GeekyClown
    GeekyClown’s Gravatar
    22 Feb 2010
    21:09 GMT
  25. 25

    Front-end design and development should be the task of the designer and back-end development should be the task of the developer, in my opinion. If you’re paying someone to design and paying someone else to do front-end markup, then I think you’ve hired two people to do one job, and you’ve also hired a print designer to design for the web.

    Then again, the back-end developers I’ve worked with have been terrible at front-end mark up, so that could have helped form my opinion.

    Chris Adams
    Chris Adams’s Gravatar
    22 Feb 2010
    21:56 GMT
  26. 26

    I design and code, but by not hiring experienced designers who don’t know how to code, you are excluding a large chunk of great designers. I sure do hope that hiring someone “who knows it all” is a passing trend, and that the web will allow people to once again specialize in their skills. Though Clearleft has great, clean designs, that you exclude right-brained folks is evident in your aesthetic :)

    sarahana
    sarahana’s Gravatar
    22 Feb 2010
    21:56 GMT
  27. 27

    have worked in with printed media for over a decade, I know how offset works but would never even turn on a Heidelberg Printer machine

    luiz gabriel
    luiz gabriel’s Gravatar
    22 Feb 2010
    22:01 GMT
  28. 28

    ChunkyPants, I think the screen is the medium.

    Tom Something
    Tom Something’s Gravatar
    22 Feb 2010
    22:36 GMT
  29. 29

    AlexBurr, that is a beautiful workplace dynamic. I want one!

    Tom Something
    Tom Something’s Gravatar
    22 Feb 2010
    22:40 GMT
  30. 30

    I agree, and this is something I’ve said time and time again. Coders and designers aren’t the same – and shouldn’t be. I know some awesome designers who only know the basics of HTML, and some awesome developers who can only tell me what they like about the design, but have no knowledge of design principles.

    I was lucky to go to design school, but I knew I didn’t want to design for clients. I love coding and almost all of my clients are other freelancers or web agencies and come to me to do all of their front-end markup. I wouldn’t be in business (or in this profession) if I “had” to design AND code. It’s just not something I enjoy.

    Amber Weinberg
    Amber Weinberg’s Gravatar
    22 Feb 2010
    23:19 GMT
  31. 31

    I agree, I’m a graphic and web designe.
    I code in HTML and CSS, but leave PHP and AJAX to the developers. But I do believe that developers should never design, I never seen a nice site designed by a developer yet. They don’t understand the principles of Graphic Design and therefore should just leave it alone. Stick to what they do best coding.

    Andre
    Andre’s Gravatar
    23 Feb 2010
    00:13 GMT
  32. 32

    Well put. A race car driver will have an excellent knowledge of the mechanics of their engine… but would never be expected to reassemble one from scratch.

    Pete Usborne
    Pete Usborne’s Gravatar
    23 Feb 2010
    00:14 GMT
  33. 33

    Well, I’d rather them not code at all then to use tables. Which I have seen “web” designers do before.

    CSS is easy to learn, hard to master. But it’s definitely worth it.

    michael
    michael’s Gravatar
    23 Feb 2010
    02:01 GMT
  34. 34

    Clearleft insist their designers have coding skills, yet don’t allow them to do any coding at Clearleft. And Clearleft coders are expected to have reasonable design skills, but will have little opportunity to practise on work time.

    I agree that well rounded skills make for a good team, but how do you maintain rounded skills if they aren’t practised?

    Matt Pearson
    Matt Pearson’s Gravatar
    23 Feb 2010
    10:14 GMT
  35. 35

    I agree that well rounded skills make for a good team, but how do you maintain rounded skills if they aren’t practised?

    Good question. Those skills are practised as our designers are always working constantly on their own sites and projects. Also they are constantly educated by the conversations and developers surrounding them in the office.

    Rich
    Rich’s Gravatar
    23 Feb 2010
    10:16 GMT
  36. 36

    Morgan:

    Run your business the way you want, but don’t try and jam everyone on earth into your square-shaped peg-hole.

    Calm down. No-one’s jamming anyone into any holes. This is a blog, ergo these are my opinions not some dictatorial mandate. Do what you like, but try not to be so rude.

    If I had a choice of jobs and one said “you can design, but you’ll never touch the production code,” I’d be looking elsewhere.

    I think that feeling may well be mutual.

    Rich
    Rich’s Gravatar
    23 Feb 2010
    10:23 GMT
  37. 37

    i think every designer must know how to code a website without use WYSYWYG editor, i prefer this way, web desig born as HTML, not as how to use or make graphics
    SORRY FOR MY ENGLISH

    xRommelx
    xRommelx’s Gravatar
    23 Feb 2010
    19:10 GMT
  38. 38

    When i got the design i wrap it all in tags and css and i am not a designer or dev… !

    Diseño web
    Diseño web’s Gravatar
    26 Feb 2010
    03:14 GMT
  39. 39

    I used to code. I continue to educate myself by reading the latest trends and standards. However, my time is better spent creating concepts.There are many awesome PSD to HTML (and HTML to Code) websites that can, most likely, beat your own hourly rate.

    Joshua Sortino
    Joshua Sortino’s Gravatar
    26 Feb 2010
    03:19 GMT
  40. 40

    There are many awesome PSD to HTML websites that can, most likely, beat your own hourly rate.

    That probably depends on your definition of awesome. But more to the point, if we simply marked up some photoshop comps, our clients would be severely disappointed. We’re in the business of providing design systems that the client can work with into the future. A design system needs to be compatible with business goals and particularly with backend requirements. This always necessitates discussion with backend engineers, and where ajax is concerned collaberative working. Flat HTML interpretations of a handful of photoshop comps simply wouldn’t cut the mustard.

    Rich
    Rich’s Gravatar
    26 Feb 2010
    10:14 GMT
  41. 41

    I get my team to share some of the simpler tasks on ‘certain’ projects to learn a lot about restraints.

    But at the same time, I encourage them to exceed the boundaries they know. I like seeing a designer produce something that makes a XHTML/CSS developer’s jaws drop.

    Freehill Media
    Freehill Media’s Gravatar
    2 Mar 2010
    00:16 GMT
  42. 42

    I’m a coder and if I were to design I would design to make my coding life easy!

    Chris
    Chris’s Gravatar
    2 Mar 2010
    22:12 GMT

Add your comment

Comments are now closed on this post. If you have more to say please contact me directly.

Outside interest

Top Referrers