Coders Who Can’t Design, Designers Who Can’t Code

Sue Clark on Flickr

Photo credit: Sue Clark on Flickr

You’ve probably encountered these two endangered species in the wild before. The developer who “has no eye for color”, “does not understand typography”, and “absolutely cannot design”. Or the designer who “sucked at math even in primary school”, is a “left-brained person”, or “doesn’t want to mess up the code”…

To help you steer clear of these dangerous specimens, here are some distinctive signs to identify them:

Coders who can’t design…

  • Need a Photoshop mockup for every single screen, including the “I forgot my password” dialog and the Terms of Use page
  • Assign different values at random to every margins and paddings
  • Think 11px is the perfect size for body copy (and 14px is great for headlines)
  • Ask you to export a background image even for a 1px black line
  • Do not understand the concept of aligning things together

Designers who can’t code…

  • Never think about what the site will look like past the dimensions of their PSD
  • Have been using web fonts since 1998: they just export all text as JPEGs
  • Design a site in Illustrator Indesign
  • Think they can set an image’s blending mode to “overlay” in CSS
  • Actually use Photoshop’s HTML “generate HTML from slices” feature

To be clear, I’m not saying you should try to do everything yourself. For example, when I work for clients I only provide a PSD or sliced images, I don’t code sites. But at least I know enough about coding to communicate with any developer.

What’s more, people often use their ignorance (real or feigned) as a way to avoid extra work and extra effort. And when each person is trying to do as little as they can, projects are rarely successful.

Reaching out to the other side and learning a bit more than the absolute minimum will not only make you produce better work, it also goes a long way towards smoothing the wrinkles in the designer-developer relationship.

Share:

69 Responses to Coders Who Can’t Design, Designers Who Can’t Code

  1. Patrick says:

    I think this blog post makes a dangerous assumption that programmers should be expected to be artists, and artists should be expected to be programmers. I agree that a programmer should be able to align things properly and make a rudimentary design on their own, but I do not agree that a developer should have to have an “eye for color” or be “avoided” in the work place.

    A lot of employers have a pie in the sky hope that they’ll find the perfect person, someone who rocks beautiful design backed by strong programming skills. The fact is, people like this are few and far between, and the ones who do exist are “too good” for most standard 9-5 positions. Thought processes like in this blog post kind of feed into that, and it further corrodes the marketplace of unrealistic expectations.

    • Sacha says:

      I see where you’re coming from, but I don’t really buy that. If you read an article advocating learning a new framework or language, would you say that it was giving employers unrealistic expectations?

  2. Rowan says:

    What an overblown and terrible article. An absolutely archaic definition of these two types of designer.

    I’ve never come across anyone that is this much of a stereotype — that is this poor at their profession — and I know plenty of coders who can’t design and designers who can’t code.

    What you seem to be describing here is a terrible coder and a terrible designer. Displaying this much ignorance and bad practice in any job is just going to lead to you being completely crap at it.

    There is absolutely nothing wrong with specialising in a particular field of web design. Specialisms advance fields, not hold them back. Part of which is being able to apply that field to any other it may adjoin.

    And no. I’m not one of these types of web designer.

    • Sacha says:

      I do think specialism can be taken too far, and is not always the best strategy. There are lots of examples of fields who were advanced by people who had experience across multiple domains and could see the connections between them.

    • Rowan says:

      And how often are people like Da Vinci going to come along? What you’ve described here are people that are crap at their job. They exist everywhere and can’t be taken as a stereotype.

      • Pingback: Дайджест №7: Stupid Techs | ByteFrames

      • lazzarello says:

        I’m a programmer, sysadmin and DBA that loves design. I have opinions about design. I have favorite styles of architecture and I can tell you why they are my favorite. I also fit into your category of “coders who can’t design”. This is because when I’m working on a software project, it’s not my place to make design decisions. I’m not on the team to be a creative director and if I make some aesthetic decision it will most likely not be relevant to the project. So it’s best to stay out of it. Just like a designer has no business designing a database schema or optimizing code performance.

  3. Aaron Moody says:

    Totally agree with you, and that’s coming from a non coder.
    I think it’s a must for you to at least know the basics, to be able to code your designs, even if you choose not to. Purely so you know the limitations when it comes to coding it.

    I outsource my client designs to a coder, but I always provide a detailed write up of exactly how I meant the design to function. I use a grid system, and keep up to date with the latest technologies.

    I don’t think designers need to code, and I also don’t think developers need to design – but they should know enough to effectively work with whom ever they choose to outsource to.

  4. Gregone says:

    I believe in your big idea, but your arguments just sound fallacious. I stand by the fact that every designer should know enough to be able to communicate with developers, and I know, since I also work in Europe that we encounter more of the bad types over here. But seriously, too many clichés in your articles kill their message, although most have good reason behind them…

    • Kim says:

      I agree; this article shows an archaiv view describing people who, frankly, don’t actually exist in the industry. When I clicked the link, I expected it to be more along the lines of “programmers who need mockups to continue carrying a design” and “designers who may do things that do not translate well into code”.

      The article makes a point but does it in a manner that blows the issue out of proportion in a manner that doesn’t quite achieve the humor it’s attempting. More subtlety, less sledgehammer next time, and the humor won’t go quite so amiss with readers. ;)

    • Brandon says:

      im agree with Rowan, i dont know anyone who takes the stereotype to this extreme. ill admit im a designer who WONT code though. not that i cant do it, but i just hate doing it. its so boring, man! and because i rarely get web design projects anyway (mostly branding) its better if i hire someone to code whose faster and all around better at it than i.

  5. Jen says:

    While I understand and agree with your overall argument – a few of your statements to back them up are HORRIBLE. I take pride in the fact that I can code well and design even better. And I use Illustrator to design my sites (or a combo of illustrator and photoshop).

  6. C says:

    This post is too wishy-washy with words. Furthermore I can’t think of one web designer that doesn’t think about coding restrictions when designing. Even if they don’t code.

    Although I do agree that no one should ever grind out a PSD to XHTML with the built in option or third party app. Along with coders really shouldn’t need some pages or elements.

    @ryan – I love you for that statement

  7. Dylan says:

    Wow… this is an awful article. I’m a developer, and I can’t design at all. I’m not at artist. Give me a PSD, I can slice, align, setup proper margins, font sizes, anything. But don’t expect me to whip something up from nothing in PhotoShop because I might make your site look like the 80’s exploded all over the 70’s. Can you imagine a neon stained shag carpet? Yeah. But give a beautiful persian rug and I’ll make it fly all around the world.

    • Same “problem” here ;)

      As a developer I know how to program, but since I’m not creative I’m not a designer. That doesn’t mean I can’t design. I still know the difference between blue and green, that the Golden Ratio is 1.6 (Phi) and that Arial is a different font than Verdana.

      But does a designer know that a website isn’t a A4 in landscape? Or that not every visitor has a 42″ monitor?

      The biggest problem is that designers try to do webdesign, which in fact is totally different. A webdesigner does know the limits of the internet, even when he/she can’t code. A designer (making posters, leaflets and other printware) does not know how to work for the internet, and these are giving the problems.

    • Sacha says:

      Don’t worry, there are plenty of designers (web and otherwise) who are not creative at all (just like there are coders who are not creative).

  8. Grey says:

    Am I the only person that thinks the stereotypes exaggeration by the author is intentional for a humorous effect and the main message is not about how developers should know their Andy Warhol and designers should speak Python as their second language?

    I agree that designers and developers should at least know the basics of the other half. It will only make our lives easier :)

    • Sacha says:

      Yes, obviously I exaggerated the stereotypes. But it seems like there are some sensitive topics where people are so quick to react that they easily overlook attempts at humor.

    • Rowan says:

      You wouldn’t’ve gotten this reaction if you’d succeeded in portraying humour. A bit more care would be needed next time.

  9. Brandon says:

    I agree with the overall premise and idea. I agree we should all strive to know fields associated with the field in which we specialize so that our communication with others is more intelligent and productive.

    However, I think your argument is a given. I may even go as far as saying that your argument doesn’t need to even be said or made. Don’t take that the wrong way, I’m not saying you shouldn’t have posted this, because it still has sparked discussion, and that’s a good thing.

    I just tend to think that your stereotypes and examples really don’t exist. Maybe on the fringes, there are a few people like this, but they’re just as rare as the person that can do both things exceptionally.

    Your examples would probably be more truly categorized as “horrible designer” and “horrible coder”. (Rowan said this above.) Any good/skilled designer or coder doesn’t exhibit these issues. I don’t think you’d survive very long today without at least a rudimentary knowledge of fields that are complimentary to your own.

    • Sacha says:

      Although I did caricature the situation a little, I still think the point needs to be made, and these two basic profiles still exist.

      It’s natural for people to dislike working outside their comfort zone, but sometimes you just need to dive in and take the risk.

      • exador says:

        I think the gist of the article is correct, but the opening statements are pretty off-putting.
        I’m the creative director of a medium sized consulting firm. I’ve been working in the online space for about 11 years now. Previously I worked as an art director and designer in various ad agencies.
        I don’t code.
        At All.

        however, having been doing this as long as I have, and being as big a geek as I am, i tend to read a lot of tech articles. I hang out with developers. I read every possible scrap of news on Jquery, Ajax, CSS blah blah etc i can get…..just out of interest.
        I do this to stay current. But also because I’m just plain fascinated by it all…
        all of this, of course helps inform my designs, and allows me to understand the medium better.

        I think a lot of people in this space don’t code per se….for example i know of a few folks in this company that do UX and UI work…..I’ve never seen them drop one line of code in my life, but you’d never hear me say that they weren’t experts in their field.

        And to end it all…I don’t know of one designer…not one, that thinks you can do photoshop blend mode stuff with CSS or whatever you’re getting at there….i get that it’s an exageration, but i think you blew it on that one…..

        and seriously….you end things off by saying you dont’ code for clients either????

        I get the article….i just think maybe you could have written it a bit better…

      • It’s a given fact that Developers and Designers can’t live without each other (Though a designer typically have more power in small projects)

        As much as we would like it, there are bound to be such cases. As a developer myself, I admit I couldn’t do any graphics on my own at all except for aligning things and knowing of simple typography principles thanks to the learning of LaTeX back in school.

        From my experience, when a non technical (programming) designer work with a developer, the important thing to take note of is knowing the medium, respect for the developer and knowing what are the uncompromisable grounds from each side. The newer a designer is to building a website/software, the more he should follow the developer is my advice.

        Developers may not be able to design, but they know something about software usability which designers could not ignore. Especially if you have been a print designer all along.

        I remember several times when a designer insist on something being done just because it is technically possible, but the developer tries to block it on the ground of maintainbility, practicalness.etc. (Recall the designer who wanted total control on the look and feel of the site without regard to site load speed, practicalness, insist on flash with the backing of a non technical project manager.etc)

        Such issues could often be solved with the designer knowing more about coding and assessbility.

        A developer could also work better with a designer too by learning some common design terms and good CSS to achieve what the designer wants.

        I suggest a basic course on coding and design for both designers and developers when they are in school. This would greatly reduce the problem.

  10. Sepp says:

    Thats actually an interesting article but I think there are to much of cliché in it. But i think it’s a good start.
    But there could be way more interesting articles with this topic. For example how would a useful workflow between designer and Programmer look like?

    I’m a designer who also does coding. And now for the first time I have a project where I just design and a programmer does the code and I hate it.
    I would rather code it myself than sending stupid image mockups and coment them. I feel tied and would like to have at least acces to the CSS files.
    How do you guys handle this?

  11. Simon says:

    I’ve seen both, and must add this to designer who can’t code:
    “Don’t know/use/care about the concept of seamless or cross browser config. The just open a new psd file, make it 1300px wide, make a website with a width of 1200px (and forget that a lot of visitors have CRT screens). Then they make some super funky Background that won’t ever scroll.

    And after that, the client ask for it being slices, so the designer give his PSD to a coder friend to TERMINATE the final code using what he knows from psd! (worst is generally, take a basic WP theme and try to fit the design in the frames).

    And to those that say: hey that don’t exist: search a bit you’ll see, there’s a lot of thems! I’m a coder who design and seriously it’s the best of both world, and my clients are happy because I can fix every details they want on the fly! Try it if you don’t I recommend it.

  12. Pingback: Weekly Articles Roundup (Feb. 26 - Mar. 5) - Noupe, Smashing Mag, Speckyboy & more! | Pixel Deep

    • Trevor says:

      I absolutely disagree. I’m a coder who can’t design. “Knowing the basics” doesn’t cut it when it comes to design. With the implementation of CSS and Javascript to the front end, simply making something look good using tables etc. isn’t enough. I started coding before the full on adoption of CSS and have watched it progress. It’s a pig of a language that is full of the pitfalls of 100 different ways to do something and yet nothing really standardized (re: hacking to make it work in various browsers etc.). Bottom line is that there are UI coders and there are back end coders. Designers run the gamut from “pretty makers” as you describe in your article to the guys who slice it up to confirm to the teams standards in UI templating. This notion that the backend developers days are numbered really make me giggle. So many times have I been hired on at companies to clean up behind a “jack-of-all-trades” crackshot developer who’s great with design patterns and proficient in photoshop and CSS and javascript, but doesn’t have a clue what a memory leak is or what cleanly executed code is, or how to present a login page without 1500 queries per second load on the database.

      This is the first article I’ve read by you and I’m not really making a judgement on you per-say, but this is indicative of trend in the software engineering world where it’s more import the level of whizbang you can present than it is to ACTUALLY know what you are doing and the impact it has on the ecosystem of your company’s infrastructure. People scream “There’s no excuse for not knowing how to implement javascript into your sites, there’s tons of frameworks out there like jquery. Designing a website is easy, you can write a blog in (Insert-your-favorite-“magical”-framework-here) in 5 minutes!”. But none of these people REALLY understand how it all works and when it blows up in their faces it fall to guys like me who have to clean up behind them. Yeah, we’re an endangered species alright…that’s just he smug talking.

      • Sacha says:

        I think we’re talking about completely different things. I’m talking about margins and paddings, and you’re talking about memory leaks.

        Am I saying that a COBOL developer should know how to use Photoshop? No!

        What I’m saying is that someone who codes websites (i.e. already writes HTML and CSS) for a living should know how to design a basic login form.

  13. abdusfauzi says:

    i support this article. being programmer / designer with some knowledge about the other parties can help a lot in developing a project: faster, cleaner and ease people’s job.

  14. Pingback: The Relationship Between Design & Code | Ralph Saunders—The Blog

  15. Mike Mai says:

    I agree with this post completely, both sides should spend some time learning the fundamentals (or have a basic understanding) of each other. This doesn’t involve creativity or artistic sense at all. You are only researching rules and guidelines.

    I come from a traditional graphic design background (BFA in graphic design), but I also know basic HTML/CSS. I can build a static site on my own without any help. And when I’m working on bigger sites with other developers, I never had any issues because I understand best practices of web design.

    Designers, if you don’t do research, your project is going to fail. I’m sure you learned that in school. Having a basic understanding of coding is your research, do it.

  16. Shane Hudson says:

    Personally I match neither of these descriptions. But I consider myself a developer and am very wary of any design jobs that come my way.

    I can USE fireworks, illustrator, photoshop etc. and I do. But I cannot design well. Colours do not flow to me. I can wireframe perfectly well but I cannot add those extra bits of detail that wow people.

    However I can develop a site from one mockup, no need for multiple pages!

    If anyone has suggestions for going from wireframe to wow, then I would love to know them. I saw an article on here (which was linked from Forrst) about it, which was a very good article!

  17. Mike Rees says:

    I think this is alm0st not relevant. You say that designers should code, and that coders should design, but I think this is removing a very relevant level of abstraction. Markup is not coding, and arguably it’s not design (though I’d say it falls firmly in the hands of designers to use, since it does not affect application logic at all but is imperative in design consideration). Both groups should have an understanding of markup, yes, but this doesn’t make either of them the other.

    I cannot design at all. Colours, layout (other than things being in line), etc… I just can’t do it. I can appreciate it, yes, and I understand the mathematical side of it, such as the golden ratio, but to be frank an adequate design is not enough in industry anyway. I’m a brilliant coder, and I’d much rather work with a brilliant designer than use my mediocre skills to get the job done. I’m sure our clients prefer it too.

  18. Dave says:

    “Ask you to export a background image even for a 1px black line”

    – that’s not a coder who can’t design, that’s a coder who can’t code!

  19. MightyTrashCan says:

    An add on post cause I felt my previous wasn’t complete. The bottom line is, the web is an area where one cannot be totally ignorant of other fields. A designer couldn’t ignore the coding, assessbility aspects and the skill of the developer, while the developer need to understand the designer and improve on his ability to implement designs.

    In the event you do met such stubborn designer/developer/project manager who couldn’t take a balanced view. You are left with either educating him or give in to fate (If he couldn’t see the big picture)…

  20. Charlie says:

    Very funny post. Sad that so many people took it a bit too seriously. But for me it’s also so funny because some of those things are very, very true. I know one server-side coder who can’t do any front-end code and needs mock-up screen for EVERY SINGLE STAGE OF THE PAGE, including login, forgot password, password recovery – of course at least twice, for visitors and internal users separate screens – and so on. It’s really huge pain in the arse to work as a team with people like this.

    Personally I’m web designer and web developer. I found funny thing that people expect that I can design EVERYTHING. No, I can not. I’m not cars designer, furniture designer, even company identity, packaging, logos design and design for print industry is not my field. But when it comes to design a website I can do in Illustrator virtually everything. And I know how to code it. But after couple of months just designing and giving it away to another coders I realized my layouts became pretty difficult to code.

    There’s no ideal solution, but I believe that every web sites coder (i’m not talking about applications programmers) should be in 10% designers as well (at least to not complain about missing mockups for “time out, you’ve been logged out”) and every designer should be in 10% a coder (at least to be able to do ANY html/css code based on his own layout).

  21. WPWebHost says:

    This is cruel but somehow I find it very true. I have encountered many blogs that posted about designs tutorials but not really applying it on their blogs.

  22. Neal Carroll says:

    I screamed aloud when I read this. Coders, and Designers, are such a general term!

    First off I agree with you, buuuut you need to clarify here. It’s driving me insane. When you say coders, you are talking about people who deal with HTML/CSS/Javascript… when I think of Coders, I think of Ruby, PHP, Python, etc.
    Those are two different beasts. Coders never have to worry about design since they live behind the wall.
    Designers can mean so many different things! There are so many different types of designers out there. What you are talking about are Web Designers. And yes any Web Designer worth his salt should know HTML/CSS/Javascript. A Web Designer should worry about the whole front end and how it is interacted with.

    In the end, you described 2 different Types of Web Designers (‘Coders’, ‘Designers’) that I would consider ignorant fools.

  23. Neil says:

    I was actually hoping this article would contain tips for those who fall into these categories, and not ways to spot and avoid them like the plague. I for one, understand good design, and can appreciate it, but can’t seem to come up with it. It would take me forever to come up with a color scheme for a website, because I can’t picture how the entire site would look, the color by itself just looks ugly to me. But give me a photoshop mockup and I could easily write the CSS for it. I’m not being lazy, in the past I have designed and coded some websites entirely by myself, but I would rather that a more skilled artisty person handle that aspect.

  24. Shawn says:

    I think it is imperative for programmers to have a sense of design and designers to understand how code functions…however I don’t believe one needs to master both. I feel it’s better to be great at one, than average at both…which is often the case.

  25. Brendan says:

    You seem to think all coders write webapps. I’d argue that most good coders (who btw, mostly don’t write webapps) don’t do design and probably shouldn’t.

  26. Nic says:

    I think the real problem is the grey area called CSS/HTML. As a developer, when someone talks about coding I’m thinking programming (Javascript, PHP, Ruby, Python, etc). When designers talk about code they also group CSS and HTML in the mix.
    I think CSS/HTML should be the place where designers and developers meet. Both types should know it -and know it well- regardless of who ends up writing the mark-up.
    It’s because both groups usually frown at the thought of having to do that part of the work that it ends up getting outsourced to some quick-turnaround outfit that usually does a craptastic job.
    Designers and developers, learn to love your mark-up. It will only make you better at what you do.

  27. Cielo S says:

    I am lucky to be good at both! What you said might be a broad generalization, but probably true more than not….

  28. shitwizard says:

    I disagree with this. A “sense of design” implies visual creativity, something that should not be shoehorned into someone, let alone someone that specifically identifies himself as a person without it. Coders should understand the technical aspects of design, things like the five design elements, how contrast extends beyond just color tone, difference between serif and sans serif beyond “it does/doesn’t have that little tail thing”, golden ratio, etcetera. As a coder, I can be handed a printed version of a website and recreate it in Photoshop; that’s knowing the technique. I can point out the various design patterns and elements and guess as to why they were chosen. But expecting a coder to be visually creative is asking a bit much. Coders express their creativity in abstract coding, and it’s up to the visual artists to work with that and vice versa.

  29. Sacha says:

    It’s weird how many people in these comments say they “disagree” yet go on to make the exact point I’m making: if as a coder you understand design elements, contrast, typography, and golden ratio, well then I couldn’t ask for more. In fact you might just well steal some poor designer’s job some day.

    “Being visually creative” (whatever that means) has nothing to do with the matter at hand. It’s a bit like saying that you need to be “mentally creative” to write a MySQL database query…

  30. shitwizard says:

    I was disagreeing with Shawn, not you. That’s why I quoted him. I more or less agree with everything in your article.

    To clarify what I meant by “visually creative”: I think almost everyone is creative in one way or another; one’s application of creativity, however, can vary dramatically. Coders are indeed creative, but their creations are abstract and manifest as code (cf. object-orientation; cf. design patterns; cf. architectural patterns) whereas the creativity of “designers” (whatever that means, HAW HAW HAW) is manifested visually, as in the case of a user interface, illustration, animation, video, etcetera.

    Wanna hug it out, pal? Here’s a relevant video: http://www.youtube.com/watch?v=XXi_ldNRNtM

  31. Sacha says:

    Oh ok, sorry then. My “whatever that means” was directed at the fact that many people think design is some magical artistic ability to imagine rainbows and unicorns in your mind, when 50% (if not more) of it is basically knowing (and following) the rules.

    So all I’m saying is that coders can learn those rules, too.

  32. Sacha says:

    Very good point. I think we need more tools that make it less painful to create HTML/CSS. Developers already have theirs (HAML, SASS), but designers lack software that can quickly generate CSS code for gradients, borders, etc.

  33. Shane Hudson says:

    Its funny seeing programs people recommend. At one point everyone used Photoshop… then it seemed to go to Illustrator and now Fireworks!

    I used to think Fireworks was the inferior of the lot, but now I use it daily.

  34. Simon says:

    I design using Dreamweaver in coding view, a pen and a paper! You want something to be “pixel perfect”? You’ll get it!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>