Why Designers Should Learn How to Code

Jun 11 2009 by John Urban | 162 Comments

More often than not, designers have rightfully been accused of retreating into their cocoons of ignorance as soon as their work of creating a web design is finished, leaving the dirty and more hands-on work of putting it up on the web to developers. This apathy is prevalent not only in the web-building industry, but also in software and game engineering.

Why Designers Should Learn How to Code

The hard truth is that the buck of development should stop with designers. For optimum efficiency, designers should not only be concerned with painting the bigger picture but also building it! In this article, I’d like to share with you some reasons why designers should learn how to code.

Designing Realistic and Doable Designs

With a clear image of how the final product will be actualized, a designer will come up with more feasible and practical concepts. Being an integral part of the development process, they carry the responsibility of ensuring their designs translate well into a web-based medium that takes into account: usability, web accessibility, and achievability. A user-friendly website is not only a picnic to navigate from one page to another in a clear and concise flow of logic, but also provides a user with all the information they need without being too overbearing or cluttered. The only real way to know if a web layout works or not is learning how to build it yourself.

 Easier Communication

Virtually all products designed but implemented by different parties never satisfy both sides’ expectations, especially when it comes to intangible products like websites, software, or games. It normally comes down to a compromise between what it should have been and what, in reality, it can be.  Whereas the general idea is captured, it is seldom replicated verbatim. The panacea: designers should preach water and drink it too!  This avoids confusion, misunderstanding, and misrepresentation.

Convenient Iterative Development Process

A design, in practice, should not be absolute. By this, I mean that it should be flexible and affable to change without distorting its intrinsic essence to meet the systems’ technical constraints. These repetitive and necessary alterations can only be realized by the original designer. A designer slash developer can iterate more quickly where necessary, rather than having a developer resubmit the design to the designer, who is rarely at hand, to implement the alterations. This situation can create friction – and it often does – between designers and developers.   

Better and More Harmonious Results

I often like drawing parallels between software, web, or game development to orchestral music where the designer is the composer and the developer is the ensemble’s maestro or conductor. Imagine if the latter had the composer’s score? Wouldn’t the symphonies be awesome, captivating, and unadulterated? Not only were they crafted by a master craftsman, but conducted by their creator!

Shorter Development Time

The designers doubling up as coders implies that the design and coding processes occur at least sequentially, if not concurrently. This results in a shorter development timeframe – and who doesn’t care about efficiency?

Designers become More Marketable

Modern day designers worth their salt need to up their portfolio, and up their game, if they want to remain relevant; it’s no longer enough to have one set of skills. Oftentimes, we’re required to wear various hats: designer, front-end developer, content writer, and project manager.

By learning to implement what you design rather than leaving it orphaned in the hands of developers – you increase your value. After all, citing design and coding skills in one‘s resume does not hurt. On the contrary, it makes one less redundant and indispensable, a life and death determinant in these financially tumultuous times of corporate restructuring (read: mass retrenchments) and downsizing (read: firing).

However, in so much as designers should also code their innovations, there are downsides to this scenario.

Quoting Lukas Mathis in one of the controversial article about the topic called "Designers are not Programmers"1:

If the designer implements his own designs, he is beholden to two different goals: Clean code and great user experience. These two goals contradict each other. If you have to implement your own designs, you’re bound to compromise for the sake of code quality, which is bad for your interaction design.

 

Designers who implement their own designs face two issues: They know when a neat new idea will create messy code, and they know about all the existing code that would be touched by a change to the user experience. The two goals are at odds, because the user experience is all about the little details, and those little details all end up being messy bits of code you would rather not have to write.

This aptly summarizes the hard stance taken by web development purists. They are of the old school of thought that advocates for clear-cut lines between design and development.  Apparently, designers create for humans, developers create for computers. Thus, UX designers should design the best possible user interface and leave the developers to make the best possible programming decisions. While this holds some merit as I’ve found myself trying unsuccessfully to abstract my mind from the code when I’m working on a user interface, it is ultimately more convenient to have the technical and usability constraints in perspective.  

In Conclusion

All said and done, the scope of a project under development may ultimately decide the designer’s and developer’s role. A small application can be pertinently handled by a program manager2 while a large system will definitely need specialized personnel!

References and Footnotes

[1] Mathis, Lukas. "Designers are not Programmers ". ignore the code.

[2] Spolsky, Joel: A term he used to describe designers-cum-programmers. "How to be a program manager". Joel on Software.

Related content

About the Author

John Urban is a sophmore at UCLA and currently majoring in computer science. He is a writer for an online magazine StyleCeo, which deals with fashion. In his spare time, he enjoys sports, being with his girl, or just doing some freelance work. If you like his work on here and you’d like for him to work as a freelancer for you, you can contact him on Twitter.

162 Comments

Paul Irvine

June 11th, 2009

I absolutely agree; I worked with a designer who would only work in Photoshop and it was up to us developers to slice and craft the XHTML. The biggest issue was that the designer didn’t give much thought to how elements would repeat in a page, or to how the design could be made modular and allow design elements to be re-used. I do think the barrier between designers, UI designers and developer should be a soft barrier and more teamwork between the different disciplines can only lead to better designs.

Rochelle Dancel

June 11th, 2009

I agree that designers should have at least some rudimentary understanding of how our designs will be put together, and of course, our marketable skills increase with our ability to program.

My question is, however, does your proposition work the other way: should developers learn how to design?

wexz

June 11th, 2009

so i am designer who wants to learn code. where do i start?

qalih

June 11th, 2009

These days its necessary for both developers and designers to know design and development.
Found its quite difficult explaining to a graphic designer with no development experience to design a website template, simply becuase some dont know the basics of development like the dimensions and other basic structural elements of a website.

Good article.

DJames Nickles

June 11th, 2009

I would not want my web experience relegated to such a limited subset of designers. Developers can always choose to not work for difficult designers. But great developers will always find great designers will always find great developers.

bryan

June 11th, 2009

wexz, learn how to separate content from layout.

HTML and CSS is layout. Your content can come from a DB.

Jacob Gube

June 11th, 2009

@Paul Irvine: 100% agree with you. I think many are still stuck with “well I’m a graphic designer and I’m really good at Photoshop – how hard is it to make web designs when I can make full-colored brochures”. There’s a lot of complexity involved in building sites and applications – a lot of considerations in terms of web browser types (normal, mobile, text-based, screen reader), usability, page weight, page response time optimization, a larger and international audience, and so many things that – unless you know how to build it yourself – you will never understand. I do believe that a web designer doesn’t need to be able to create a complex web application, but at the very least, be able to HTML/CSS a Photoshop layout; that way, you will know if the design works on the web or not.

@Rochelle Dancel: Yes, and having worked both sides – I would have to say that you are at a disadvantage as a developer if you do not know how to design. Specifically, to be able to build a complex but usable system, you need to understand design concepts and common UI design patterns that you can build on top of. Working with a developer/designer is much easier than working with ‘strict programmer’ types: communication is much better, less friction, and there’s a better understanding of each other’s role.

@wexz: Start here on Six Revisions, *cough*, *cough* Tutorials section. :)

Raymond Selda

June 11th, 2009

Designers should definitely take the time to learn how to code. You don’t need to be a CSS guru or something but you should just have a basic idea of how your design is going to be chopped off and marked up.

A simple thing like making the canvas bigger (if you have fancy background that is not going to tile) will be appreciated.

If designers won’t learn how to code, their title should be “Web Page Layout Comp Designer” :p

Michael Flint

June 11th, 2009

I of course agree with your points above John. Any designer who works for me must learn HTML. (It’s not that hard, really.) I honestly don’t know why schools teach After Effects instead of Dreamweaver. Coding is essential. Much of our worrk revolves around web sites, and coding just fits in there.

Michael Critz

June 11th, 2009

I’m a designer that knows how to code and I’m calling “baloney” on this article.

1. Designers should learn to code what, exactly? XHTML and CSS are easy, Javascirpt, ActionScript, and PHP are progressively more difficult. Or would you ask the most brilliant visual artist in the world to learn to code Objective-C because he or she is creating the UI for an iPhone app?

2. Design and development are two very different things. If you’re erecting a building, It’s not important that an architect knows how to pour concrete. That’s not his job.

3. It’s a surefire way to have poorly functioning and badly commented code.

Designers that can code are making themselves more marketable. They are able to communicate specifics to their development team. It also helps the development process.

I think coding designers have done themselves a favor, but the “buck of development” should stop squarely on the desk of whoever has the word “developer” on their business card.

When I create Photoshop Comps, I actually name my layers and layer groups according to semantic structure. E.g. the ‘’ layer is inside the ‘’ layer set.

Jad Graphics

June 11th, 2009

Another graet article. I started off as a designer, and I was very limited until I learned how to code. I am still working on it, but I have gotten better over the years.

@culinaryculture

June 11th, 2009

I totally agree with Jacob on all comments. A website is NOT print media and should not be treated as such. The level of complexity is far deeper, as a site is in a way- a living breathing thing.
It is the difference between runway fashion and a bag of clothes from J Crew. My guess is that they J Crew clothes had a developer involved, reminding the designers that a human being has to wear this stuff.
Testing alone is a huge challenge. As a designer/ developer I can see both sides. Just imagine having to print the same brochure at 10 different printing companies on 10 different presses with ten different brands of paper — the catch — they had better all look the same. Browser technology is changing at rapid speed these days, it takes both the right and the left sides of the brain to really make the magic happen.

Dwayne

June 11th, 2009

I also agree. I’m a budding developer, but need to learn better design skills. There definitely is too big of a gap between the two on average. I think the biggest piece of advice for a designer wanting to learn code is to use Safari’s Code Inspector, or Firebug for Firefox, and dissect the code to learn how the elements fit together. (just make sure you’re looking at a good site, not a hodge-podge put-together type site). Also, practice. This goes for me as well, learning better design skills.

Julie Pogue BArnes

June 11th, 2009

This is wonderful advice. Being a 28 year veteran of design still doesn’t help when you want to design for usability or understand the advantages of various code implementation – which I am just learning about. A designer who is educated in brand and brand experience design still has a lot to learn about how the end user relates to a website.
Yes, it helps to understand visual components, but truthfully – the internet involves the user on a whole different level and therefore the visual part of a site is only part of the picture.
My challenge to you John, is to learn what it takes to find the common ground between the two. At 50 years old, this is what my goal is. Never be afraid to respect the knowledge and experience of a different perspective, but remain willing to learn fro, and be inspired by one another.

Toivo

June 11th, 2009

Great post, and I couldn’t agree with you more.

I think it takes a lot of practice and patience for most designers to be able to teach themselves to code, even at a basic level. I do agree all designers should learn, and even visa-versa, it’s worth the extra effort. The key (I believe) is to approach it as something you must do as part of your everyday routine – it’s a never-ending continuous cycle of your work-life – keep learning, little-by-little, everyday something new.

Perhaps think of it this way… Just like brushing your teeth, you might not have to do it, but dude you really should! You’ll be better off for it.

goldfries

June 11th, 2009

That’s why I do the DESIGN and the CODING.

It’s just nonsense when you leave it to those (some, not all) creative nuts and when they come back to you – arrgghhh! they’ve designed a beautiful (not always) work that’s almost impossible to slice, and even if manage to do so would mean horrendous amount of work on CSS.

Blue

June 11th, 2009

I completely agree with this article, especially the part about having a realistic and doable design. I remember taking a design class where we didn’t discuss anything about development and did purely design. Taking a look at the work some people produced, the only real easy way to make the site function would be in flash.

dissidently

June 11th, 2009

this is it. This is the reason coders, programmers, app builders, solution providers, in fact ANYONE that knows these terms and uses one of them to refer to themselves should, right now, hang themselves.

It’s because YOU don’t know anything other than what you know. You don’t know what you don’t know. At the very least, designers know what they don’t know. And it’s YOUR part of the equation to Do those things they cannot… to understand that what they do is art and what you do is science. That you have solutions, to EVERY problem they present, and that if you don’t, then you don’t know enough about your science and instead of blaming the designer, and ruining their vision, you need to hop back into the books and figure out how to solve the problem.

BECAUSE YOU CAN ALWAYS SOLVE THE PROBLEM WITHOUT COMPROMISING THE DESIGN, BUT WE CANNOT WORK AROUND YOUR LIMITATIONS WITHOUT COMPROMISING OUR ART.

And no, you don’t deserve the kind of income reserved for good designers, your world is finite, ours is limitless. We make choices that you cannot EVER understand, but you can implement them, so shut up already and do it.

dissidently

June 11th, 2009

one more thing… if designers could code, what would codemonkeys do?

eviljohnius

June 11th, 2009

This is basically an issue with all forms of dialogue and conflict resolution – knowing a bit more about the other point of view always makes communication easier, and better communication leads to better results.

The issue is, however, who is responsible for this communication, and managing compromises. If all you have is a designer and a developer, one or both of them will have to take on the additional role of ‘producer’ or facilitator, in which case it really is necessary that they know a bit about the other point of view. However, you are far more likely to run into the problems of bias – either against the other party or against one’s self. The best possible scenario is to have a 3rd party who understands the basics of both sides.. not unlike a court of law. This allows all parties to do their absolute best to fulfill their own particular role.

Whether or not you want to wear this particular hat is just a career decision – it will probably make you more employable, as being multi-skilled is better for smaller organisations, and there are more small orgs than big ones. It won’t necessarily make you a better designer or developer – if anything, you probably risk hindering your creativity (coding or designing) by overcomplicating your process with bias, or diluting your skill set so that you’re not as good at one particular thing as you might have been. There’s also a chance that you’ll eventually end up doing less of your core/original skill, and more of something else, so it’s worth considering if this is the sort of career path you want. The best online producers I know aren’t great at either coding or design.

You might become ‘faster’, as you won’t be creating things that must later be compromised and revised to become practical… but that’s not exactly an indication of coming from a position of quality creativity or innovation. But, depending on time/budget/purpose and ROI, maybe that’s exactly what your clients need. ;)

This is still all an entirely different issue of ‘knowing how to design for the web’. A designer is not necessarily a web designer. A print designer is definitely not a web designer, just as a web designer is definitely not a print designer. Or an interaction designer. Or a motion designer. Learning how to ‘code’ (markup) html or css really doesn’t necessarily turn a print designer into a web designer, either (although I’m sure it can help a little).

Basically, I’m willing to bet that everything that a designer should really know about designing a web page can be learned without ever writing html in notepad or even cracking open dreamweaver. UI design, whether for a designer or a coder, isn’t really about photoshop or visual studio or flex builder.

All that said, it’s certainly nice for a designer to be able to put their own mockup jpgs on a staging server, put a clicktag in a flash banner, and for a developer to be able to cut their own jpgs gifs and pngs out of a psd. Still wouldn’t call that coding or designing necessarily. ;)

Penina

June 11th, 2009

I’m a designer with a print background who leaped at web design when it appeared. I have *basic* coding skills (sometimes I say ‘enough to hang myself with’), but as my projects have grown in scope, code has become the task of a development team.

All that said, knowing code has helped me pull a case together when the dev guys insist a thing can’t be done. I know where to look, and I can pull together a simple test page to demonstrate what I’m talking about.

And guess what? Before the web, if you didn’t understand print – from pre-press through bindery – the same could be said about the limits of your value as a designer. It’s not all that different.

Scott Radcliff

June 11th, 2009

Completely agree that anyone working on websites/applications needs to be able to understand both sides, but it is important to stay focused in your particular skill.

Case in point, I am a developer, code is easy for me. That doesn’t mean I can’t design, I am an average designer and I understand concepts like typography, color theory, and layout. It means that if I want to develop something incredible, I will partner with a great designer. And the same should be true for a designer.

It’s important for designers to understand front-end code, just don’t spend too much time on it. Focus on your skills.

I thought I would mention that I think its great that the graphic for this post is Notepad++. That is so not a designers editor.

chapolito

June 11th, 2009

While I agree that coding is helpful for understanding how websites are structured when coded, I disagree that “Designing Realistic and Doable Designs” is the best way to view a successful web design. I find that some of the best innovations happen when people cross disciplines and haven’t internalized the “rules” of the new medium, or learned the details behind the code.

I am always excited about fresh takes on web design and view them as highly successful; however, they must retain their “usability, web accessibility, and achievability” as you pointed out. In regards to web accessibility and achievability, I think if a developer is worth his beans it shouldn’t be a problem.

Aaron S.

June 11th, 2009

As a manager of a multimedia team, it is refreshing to meet someone who can effectively layout in Photoshop and port to Flash or Dreamweaver effectively. While Actionscript 3 presents a learning curve, HTML/CSS should be second nature because so much design is web-centric.

For designers wanting to learn how to code, both Six Revisions and Smashing Magazine offer excellent well-structured content to cut your teeth on. But focus! Get to know one language well, while learning how the others fit in.

Tammy

June 11th, 2009

That’s one of the differences between a web / graphic design and a ui designer or user experience designer. A ui designer works closely with development and does work with internationalization, disabilities, usability, etc. I personally prefer spending my time becoming a better designer and not learning someone else’s job. UI designers or user experience designers work in multidisciplinary groups.

Francisco

June 11th, 2009

For a truly great team there should be overlapping skills. So a good developer needs to understand some UX concepts and to be accurate with designs. They need to try and figure out how to make designs work, even if it doesn’t seem easy to implement at first. Collaborate with the designer if they introduce a concept that might be difficult and not just shoot it down because it seems like too much work. The best teams push each other to try new things and to learn more.

Nice article. Thanks.

DWcourse

June 11th, 2009

I expected to hate this article but was pleasantly surprised.

It’s really a very simple principle: The more you know about the process (whether print or online) the better your design work will be.

A lot of very good designers create bad web sites because they don’t understand the difference between a web page and a piece of paper.

That said, no one becomes a designer in hopes that they will spend a lot of time coding so learn and understand the web, HTML and CSS but know your limitations and when to work with a professional coder.

James

June 12th, 2009

I think it’s perfectly reasonable to expect designers to be able to take on production work in XHTML/CSS as well as creating page designs.

There should however be a bit of a distinction between “coding” and “production” work though. I’d suggest what you’re talking about is more production than coding per-se because once you start to muddy the waters by expecting designers to also be coders (php/.net etc) then you’re on slippery slope.

@Rochelle, I don’t think developers should learn to design much as I don’t think designers should be required to develop sites in server side code. A healthy understanding of how both work should be enough to work harmoniously and ensure a project gets the best result.

Bas

June 12th, 2009

I’m a programmer, and I do not think that a designer should learn code. A designer should learn what the limitations and possibilities are of the final product. So in case of HTML, a designer should know at least that each screen has limitations and that different users use different screen setups. That’s where the most “problems” arise.
I’ve worked with both designers who know what the possibilities are and designers who don’t. The final product will be finished a lot faster when the design is good and usable from the first moment on.
So, learning code is too much, but learning “your audience” seems better and faster to learn.

Renina

June 12th, 2009

Knowing Ruby on Rails or Flash is like money in the bank.

I am a writer who has an fundamental understanding of HTML.
Tonight I, @m.dotwrites, spent 3 hours on gchat w/my friend and programmer, @simplyann, hacking away at code for a relaunch of my first site.

In fact, in March, I came to the conclusion that there should be a place for women to go to learn coding for low cost or for free, provided they agree to teach others how to use it.

eviljohnius

June 12th, 2009

… and to be fair, doing a really good HTML/CSS/Javascript cut – one that is solid for SEO, degrades gracefully and is compatible across browsers, that fits well into various CMS’s or other server-side magic, is optimised for expected traffic, is accessible and printable, displays well enough on devices, etc… can be a pretty serious skill in and of itself, not unworthy of some specialisation, especially as more and more server-side code is being separated from the HTML presentation. In which case, it’s probably unfair to say this is a ‘design’ skill or a ‘developer’ skill. But it possibly is one that can be outsourced. ;p

John Chen

June 12th, 2009

Great post, web designers “need” to know the technology that is going to be driving their designs into functional working websites.

They certainly don’t need to know how to create the code, but just a functional understanding would help.

As a creative director for a web design firm, I make sure that I am always up to date with the latest technology available. Sure I may not be able to code with ActionScript, but I am aware of the possibilities that can be achieved with the tool.

So many new designers come in, make a super doper website layout in photoshop and when I ask them how do you propose we structure the basic elements in HTML they just draw a blank face…

WebExpress

June 12th, 2009

I think designers at least should know HTML and CSS. :P

henry

June 12th, 2009

its definitely important for a designer to possess a degree of understanding of development (or even be able to do the work himself) as this will allow him to know the potential and limits of the medium he is designing for.

however the decision to split the roles into designer and developer is more of an efficiency issue. definitely a designer can spend time to keep up to date on development trends but the time would be better spend in understanding current creative trends and technique.

more importantly, i feel is for good communication between the two and for both side to understand the other point of view so as to create something wonderful:)

Defifee

June 12th, 2009

I think there is a difference between knowing XHTML and CSS, which is a must for every web designer and object oriented programming. I’m studying media and graphics design and we are learning Adobe FLEX. For someone who has never done any programming, it can be very frustrating. Sometimes i think you need to be a born programmer to understand it.

WebDev

June 12th, 2009

This is true, however, the designers may know the principles, but they aren’t obliged to learn the most of the stuff, including best practices, IE hacks, etc. They just need to have a little bit of idea what can be coded in reasonable time and what not.
What I can say about learning sitebuilding is to start with the basics at http://w3schools.com

Khoa

June 12th, 2009

(Jacob Gube) “that way, you will know if the design works on the web or not”, I think this is the most important point. If a designer does not know how the web, HTML, CSS works, they might come up with a design that looks fantasitc on PS but unsuable and takes ages to load on a web page. I think the key criterion of the web is not about “how good it looks” but more about “how usable it is” and this is difinitely something designers needs to know (via actually building it)

Jon Gunnar Wold

June 12th, 2009

I’m sorry to say I disagree 100%. As a design and usability person with experience from when we coded with Notepad I have done both. Coding your own stuff is lunacy for so many reasons.

You can be a master coder or a master designer. Only superhumans can be both. They exist, but are rare. What you’re advocating implies that coding is easy, since everyone in the design profession apparently should learn how. Coding is a very very tough dicipline to master correctly. It also implies that dedicated programmers are waste, since designers can do it anyway? What have you been smoking?

If it makes me an “old school web development purist” then so be it: It makes absolutely no sense for designers to code. It’s exactly this simple – you don’t design the best solutions when you have to code it yourself. A great programmer on the other hand, will rise to the challenge – and make her dumb machine do clever things that noboby thought was possible as a result of very clever code, in order to give a user great value.

If designers are forced to suffer dumb machines without the dedicated programmers ability to make the machine do what it should, the machine wins. And mankind will suffer intolerable experiences as a result.

Neilc

June 12th, 2009

Web designs done by people who cant code are obvious. They are always less useable and harder to put together.

I’ve worked at 3 agencies over the last 10 years in a position of recruitment and I would never ever consider a ‘designer’ who cant code XHTML and CSS.

These people should stick to print. How can you design for a medium you don’t fully understand ?

Web agencies with pure ‘designers’ never make things as nice as agencies with designers who can code.

Søren Hansen

June 12th, 2009

I think that it’s totaly off. I my world, it would create more problems then it would solve.

If you as a designer is limited by the teknologi you know, you can’t be as creative as you wantet. And it’s is impossible to keep up with both the design and the code world. It’s true we sometimes make things that are to wild, expensive and complikatet, but thats why we are designers. If the code-people took over the power we would have one ore two shapes of a website and thats it. Because it would be easiere, more productive and mere profitibel.

I think the best way around it, is working really close together. Plan a projekt and lay down a path from the beginning, involving both the designer and the coder. In the design-process the coder should be involved and listende to and the other way around in the code-process.

Thats what I learned after doing websites, usability, online shopping and campaigns for the last 8 years.

Tyler

June 12th, 2009

@Wexz: Well they’ve just done the 2 tutorials on creating a design and then converting it to XHTML.

I’m a designer and a programmer, however, I don’t like the design part, sometimes they just turn out terrible. So I often have someone else do the design, and sometimes then code it into a designed website, which I will then add the back-end stuff, which is where my skill set mainly is.

Martin Bean

June 12th, 2009

Designers should design, developers should developer. If designers “learned” how to code then that’s time they could have spent improving their own craft. And if they do “learn how to code” then great designers will unfortunately start putting out sub-par designs based on the lowest common denominator because it may be “too difficult for the developer.”

As primarily a developer myself, I naturally started out “designing”. Unfortunately, I soon got stuck in the mindset of “I stick with what I know I’ll be able to do with HTML and CSS” and as a result became unable to push to boat out. I love getting work from a “real” designer because if it’s challenging then that’s a good thing; it helps my problem-solving and expands my skill set if I happen to learn how to do something new along the way.

Lee Theobald

June 12th, 2009

I agree on some levels with this but not completely. Designers should have a basic grasp of coding (as said above by @Rochelle Dancel) but stop there.

My concern would be that a designer could get too worried about whether or not something is possible/easy to develop or not. Instead they really should be worried about if the feature is useful to the end user or not. It’s really then up to the developer to make that design happen.

Obviously there has to be a small amount of communication though to ensure that the designer isn’t starting to enter the realms of impossibility.

Dan B. Lee

June 12th, 2009

I think we’re giving graphic designers too much credit and developers not enough. Granted, if you want a small job done right, do it yourself. But just as it took years for a graphic designer to convert a amazing sketch into a hundred layer illustration on a computer, it took years for a developer to learn the skills needed to make sure a full fledged website is efficient, usable, and effective.

I’m not talking about being able to take a photoshop file and turn it into an about, contact, and home page. I’m talking about being able to develop a complete back end, CMS, front end, and UI. All the way from SQL to JavaScript. That’s not something a designer can just learn overnight.

I don’t think you need to know how to do one job if you are skilled in the other, you just need to know how to effectively communicate and have a mutual respect for the each. If you put too many hats on your neck will snap.

Ross

June 12th, 2009

Familiarity with all aspects of your chosen profession is imperative for decent results in any field.

However: your specialists are that for a reason. I’d rather not have an auto electricion attempt to rebore my engine etc.

If you are not at familiar with the liquid, dynamic, interactive nature of the web medium then you can’t technically call yourself a web/interface designer.

Project management and clear communication is what it all rests on, and if that is not there, or badly done, then it’s likely that no matter how good the designers and developers are, it’s bound to fail.

About developers needing to design… on the most part I’d disagree. Being that there are many shades of grey, you get (the way I see it):

* Sales & project management
* Graphic Designers (conceptualisation, illustration etc.)
* Interface Designers
* Layout Coders (HTML/CSS)
* Front & back end programmers
* Marketing & maintenance people.

Each of those roles are potentially a full time profession, and the far-and-few-between instances of people doing more than two, I’d safely state that most people only do one or two of these.

I guess it all depends on whether you’re doing small $xxx sized projects which don’t require much, or larger ones that need larger skillsets.

As a last note, I’d like to say that while I agree that a designer and an HTML/CSS coder merge to some degree, it is a different mindset required for each. Some designers are so damn good, that their talents are better utilised in a pure photoshop/illustrator environment. By the same token, some BRILLIANT coders and programmer can barely choose the clothes they wear, and I’d rather have my pet goldfish design my client’s sites :)

Ross

June 12th, 2009

Oh, and I don’t have a pet goldfish… and after reading my comment, I realise I should have proof read it. You get the gist of what I’m saying though…

Mike Howe

June 12th, 2009

This sort of thinking just leads to artful nomenclatures such as “deviners”

Ramsay Taplin

June 12th, 2009

So who makes a better web designer: a coder gone designer or a designer gone coder?

Personally I think that it is more about developing close and honest relationships with your coders if you are a designer. Both coding and designing are artforms and take lifetimes to master. Perhaps it is better to be great at one?

Great article. Got me thinking.

Ramsay

Drew Douglass

June 12th, 2009

But then who is going to design our websites if they learn how to code? I kid, I kid. Very nice article and an enjoyable read.

sonichtml

June 12th, 2009

Nice~ thank you for shared..

Jay

June 12th, 2009

I can say as a designer who can code, all be it not as efficiently as the front enders, that the ‘ideal’ is to be a designer who can code, however in reality, working for a busy agency where we are employed for our creativeness and design ability, we rarely get the opportunity to extend our coding skills.

Why would an employer have a designer code a site, when a front ender can pull it together twice as fast. I can garauntee that all most all designers look at the CSS and jquery coming from the other side of the room and all stare with envious eyes wishing we could have more time to learn for ourselves, as people working in the web world we all know that there simply arent enough hours in the day to learn all the things we want to.

The mark of a good designer is to have a good knowledge of what is and what isnt possible in terms of designing for web, and once the design is finalised and passed over to the development team there will be no problems in getting the site build.

Having said this, we still need to have the bottle to pass on designs that will push the developer into coding more dynamic, slick, original websites. Otherwise we all just become monkeys!

I feel there is still a strong argument for keeping true designers and developers seperate in the right environment, some of the most innovative and original designs/sites I have seen, have been designed by graphic designers who have no grasp on code, yet have the experience and expertise of a good developer behind them to make the vision a reality.

Paul George

June 12th, 2009

I am not sure what your definition of “code” means.

If you simply mean transferring a PS mock into XHTML and CSS with a little jQuery or something then I agree and can do that all day.

What I am against is the current trend of job descriptions insisting that designers are now expected to be able to administer a MySQL database or IIS server, code PHP or asp and then vac the office after hours.

The web designer role is metamorphosing into something rather hybrid of late and I am not a fan. A designer should be left to creative and innovate ideas and rather than worrying about editing folder permissions on a Linux server or tweaking PHP code. It seems that employers are trying to mix the two in order to save money on employing one body instead of two.

I work very closely with developers and I find them great people to bounce ideas off of, I will always consult them before going ahead and trying something off the wall.

I would never consider asking a developer to “design” a website as in most cases it is not what they want to do and they don’t have that instinctive gut feeling of what looks right and what looks wrong.

Jacob Gube

June 12th, 2009

@dissidently: I’ll be brutally honest on this one: if a designer can ever match a “code monkey”‘s set of skills, then the code monkey should find another job. Also, it’s time that we honor the term “developer” and actually create and develop unique solutions: our job, due to competition, has increased in scope. My official role is “web developer” but I work as “project manager”, “client liaison”, “UI designer”, “marketer”, “editor”, and “content writer”. The time of the “code monkey” is gone – simply knowing how to code a million lines of code is no longer enough in our industry and those that adapt, oftentimes are the ones succeeding.

Jamie

June 12th, 2009

I agree, at worst designers should have a grasp of html and css and maybe they could move into php and javascript. I have seen a lot of designers who make simple websites in Dreamweaver and they look pretty bad and even use tables. Plus they often have no consideration to screen resolutions, people with visual impairments and people who rely on assistance technology. This will probably put people off hiring them.

Not every company can afford to hire people who can only use Photoshop and separate people to code the designs. If you have coding skills and design skills that is bound to be more attractive to employers.

Janko

June 12th, 2009

“Apparently, designers create for humans, developers create for computers.”

I think this is one of the biggest problems. Both designers and developers (as well as others involved in creating products/sites/apps..) should build systems FOR USERS. Unfortunately, development processes and methodologies often omit users and move them from the central point to some dusty corner.

However, concepts like Scrum can bring users back in the central point, so we can say that teams should tend towards “user-centered engineering”. By focusing all team members on users and their needs, barriers between designers and developers can be softened.

So yes, designers should have some basic understanding of development, and even beyond. A little bit of generality won’t do any harm, isn’t it?

Adam

June 12th, 2009

I agree too, I know Designers who’s idea of a website is a PNG image with hotspots all over it.

And they assume web design is easy, morons.

theCount

June 12th, 2009

I can´t say I fully agree, sure I need to have a good understanding of how the stuff I design will be produced but to say I need to learn to code is like saying if you want to design a 16 page Brochure you should be able to print it as well… Design and Code are two sides of the same Coin, left brain vs right brain or perhaps put more aptly two edges of a very sharp sword.

bpizzle

June 12th, 2009

How can I put this delicately. This article sounds like it’s written by a college sophomore. Oh look!

The training, experience, and skills required to become a _good_ web programmer (even just front-end HTML/CSS) are not something that designers can just “pick up”. Likewise, the training, experience, and skills required to become a _good_ web designer aren’t something that developers can just “pick up.”

This is why you have specialists. As others have said, it’s essential to know the very high-level idea of how web pages work (different screen sizes + creating designs that work with that, what can and can’t be accomplished via html / javascript / flash), but it ends there. It ends very firmly there. As a person required to do hiring, I’ll usually ignore any developers that try to upsell their “design” experience, because, quite simply, it’s time that they could spend improving their development skills.

Specialization is good. People trying to do too much is the reason that soooo many sites out there don’t meet good standards with regard to validation, SEO, and accessibility.

b

Roukus

June 12th, 2009

Let´s put it this way:
- a coder gone designer is a better web designer than a coder who hasn´t
- a designer gone coder is a better web designer than a designer who hasn´t

But still: a designer is a designer and a coder is a coder. Otherwise: change work titles fast! Can someone honestly say they are equally good in both?

Fahad Hussain

June 12th, 2009

I agree with this article but designer have to be front-end developer its better if he learn php or asp.

If we talk about left brain vs right brain so we should see in the history “Leonardo Di vinci” he was multi task person. He was Renaissance painter and also have great skill of engineering check Leonardi history in http://en.wikipedia.org/wiki/Leonardo_da_Vinci

Reinder

June 12th, 2009

I agree with you completely. This is why Testers know not only how to test, but how to design and build as well! At least this is what most of us should know. In order to understand the party you are creating your work for, you should know what they are capable of and what the pitfalls are!

caleb

June 12th, 2009

Great article. I believe you are right. Designers have to keep themselves relevant by learning more than one skill. Knowing how to do front end and coding will help the design work together better.

Joe Seven

June 12th, 2009

Completely disagree. Should architects also be plumbers and electricians?

This thinking is symptomatic of the “jack-of-all-trades” mentality that the design industry has adopted over the past 15 years. Nowadays an art-director is expected to design, copy-write, code, and animate. What happened to doing one thing – really, really well? I don’t see the virtue in knowing how to do everything at a mediocre level.

Having said that, of course designers should know the limitations of coding and the web as a medium. Basic HTML etc is helpful. Knowing CSS, java, etc is certainly not.

stylekeeper

June 12th, 2009

totally bullshit.

designers have to design but also understand whats possible and whats not, BBBBBBBBBUUUUUUUUUUTTTTTTTTT als find out new ways to create websites, fashion, graphic or art…

in webdesign:
how often i heard in a meeting that this is not possible. the coders/flash coders sad its not possible. after hard discussion they sad they will try the best. in the next morining or a week later the proud developers achieve it… somehow.

the point is. developers are not (many) willing to be creative. they learned ways to solve problems but the most are not able to combine different methods to solve even the craziest problems, or just try it. how often i heard a now an after it works.

i have the biggest respect of the coders who dont say in the begginning “its not possible”. good coders start first get creative and either solve the porblem or come back and say we tried our best but we have to change it. we have another idea.

thats a coder in my eyes. someone who solves something trys to understand the design and after maybe invents something by himself…

i can build html/css/flash action script sites. of course not on a hard core level but i have enough clue about whats possible and whats not.

i was creative director for tribal ddb and ohter big web agencies.

Farooq

June 12th, 2009

nice article what about the coder or programmer should learn designing

Art

June 12th, 2009

I agree that designers need to learn how to code… but the buck does NOT stop with designers. Maybe in a small website design shop that would help with efficiency, but if you plan on developing high quality enterprise software then you’re way off.

There’s no way that a designer can master the complexities of n-Tier web development, database integration, and application support — the same as developers can’t hope to master their craft AND the complexities of graphic design. They’re two totally different areas of expertise, and you’re foolish to think that one person can do both jobs.

Furthermore, just because you know “how to code” doesn’t mean you’re good at it. I’ve met plenty of designers who think they can build websites, and then their sites don’t work across browsers. The same goes for developers who think they can design – and their designs are terrible even though their code is strong.

The bottom line is that you have a good point (that designers need to learn other skills and be marketable), but you fail to recoginize the importance of being an expert at what you do. A “jack of all trades” may make you marketable, but it also makes you “a master of none”.

Charlotte

June 12th, 2009

This is a subject I have been pondering on all week. I decided I want to learn the server side of it all. I have experience with programming (only from school), but how many of you have learned code like PHP, Ruby on Rail, AJAX, etc. with out class room experience? I do not believe there are any classes to continue my education on these programs where I am living but I have no issues with learning it on my own. Just asking how others have self taught and what they have taught themselves. Also, I don’t have much experience, usually do stuff for my amusement, but I have always assumed and from people I know with experience that designers know at least CSS/(X)HTML.

Pete

June 12th, 2009

Surely it’s less a need for a designer to be able to code and more that they properly understand the medium in which they are working.

They understand print. It’s ink on paper. They should know the things to consider when designing for print – such as text size, printing methods and printing on certain materials.

They know for example, that if they are restricted to 2 ink colours then they can’t use full colour photos.

Equally a designer working for on something delivered via the web should therefore consider usability, accessiblity, browser compatibility, user interaction etc. They are factors that should directly influence the design decisions that they make – not something that someone else can worry about later on.

In short, they need to know the theory behind web design and understand how a web page “works”.

For reasons that baffle me some people think that designing for the web is exactly the same as for print – it’s just pretty pictures.

To NOT know the media you are designing for is a big fail. But I don’t think that a “designer” should need to be able to write good code.

From the developer perspective, I don’t beleive there is anything that cannot be coded with enough thought and budget!

Stephane

June 12th, 2009

Every WEB designer shoul be able to at least do a mock-up in html using either basic knowledge or even a custom made CSS framework, that way you can present to client a workable mockup instead of a Photoshop file that will never be exactly like the final website.

Contrarely to what Michael Critz said “Design and development are two very different things. If you’re erecting a building, It’s not important that an architect knows how to pour concrete. That’s not his job.” Actually, every architech as to go to construction site and learn how things are build, you don’t have to know how to pour concrete but you have to know how they do it to desigh something that works.

Here in Montréal, we have a building that was build by a desigher/architect that didn’t know how to build things, guess what, it could never nbe completed like the original design (look up the Montreal Olympic Stadium history).

Web designer shoud be that “WEB” designer, that means they should know what the web is and how it works. BTW, they should also learn whatever they can about UX as it’s so closely related to what they do when designing an interface.

I’ve been a graphic designer for the last 19 years and when I first started in print work I had to learn the basic of how printing is done, it’s true that I’ve forgot hot to trap a desigh correctly for printing and there are people that are best to do it but the fact that you know it’s there is what keeps you for making mistake.

I’ve been designing and building website for almost 14 years now, and yes I know how to code and do CSS, javascript, even some php or xml, that only makes me a better designer, knowing whre the line of possibility is makes it easier to cross it.

Sorry for the long rant, it’s a subject that’s been bugging me for a long time.

Robin Cannon

June 12th, 2009

In principle I agree. It’s really useful for a web designer to know how to layout their page, include some functionality and create good mockups. To know how their design will translate to the web and to be able to communicate it to developers and clients. I’m not sure I’m with you on some of the specifics though.

I think it’s beneficial that in the last couple of years there’s been far more of an acknowledgment that “web designer” and “web developer” are different jobs with different skills (before it was a case of “you’re a web designer…in which case can you develop this functionality for my website?).

I disagree with the first point about taking into account technical limitations in the initial design stage. The best designs I’ve had are when I specifically try to ignore the technical limitations at the first stage, and let your imagination run wild. It’s a more creative process when you seperate it from the technical limitations. http://www.fogofeternity.com/2008/12/just-think-about-design/ The advantage of technical knowledge comes later, both in terms of being able to work on implementing unusual design aspects effectively, and of knowing which aspects simply aren’t practical – but I think seperating technical considerations when coming up with a concept leads to less “samey” results.

Jim S

June 12th, 2009

Great topic. I particularly like the 1st bolded item… “Designing Realistic and Doable Designs”. Print design and web design are 2 different things, and need to be approached as such. That’s web design 101 imho.

If not knowing how to code… at least bring the developer in at some point to review what they have in the comp so glaring bloat could be at least talked about. Silly things like “these 15 items have varying subtle background changes…” could be revisited to 1 background image with positioning in CSS or what have you – a compromise – reducing http calls to 1 instead of 15 (or use a big sprite). That is just 1 example… there are many.
Thank you,
~ Jim
~ @seo_web_design
~ Jacksonville, FL

David

June 12th, 2009

When evaluating a Design degree, I think any modern one should consist of:

2 years of Fine Art
2 years of Computer Graphics
CSS/HTML sprinkled throughout

Kellie

June 12th, 2009

As an interactive and web designer, I know it is beyond important to understand the medium being designed for and it’s limitations. I believe it is essential to have a fundamental understanding of the different programming and coding languages and some of the basics. However, I believe the same to be true from a developers point of view on design, and so on and so forth. This ideal should apply to anyone who wants to execute their work successfully – take an active interest in the roles of the people you work with.

But to suggest that people take on a the responsibility of executing an additional and entirely different skill set than their own starts to teeter on that slippery slope of “jake of all trades, master of none” ultimately leaving the quality of the work to suffer, not improve.

Madalina Iordache-Levay

June 12th, 2009

I am a designer who knows how to code but I choose not to. I prefer to leave the coding to a specialist, to someone who does coding and only coding, and invests time into learning new technologies. Design and programming happen in two different sides of the brain. It is very rare that someone who is great at design is also great at coding. Then why not offer your client the best work possible – best design + best coding (by two specialists in their domain)?

I think it’s important for a designer to know what is possible and what is not and also to take charge not just of the layout and colors, but also of the usability and flow of a website. I believe my programmers have it pretty easy compared to other people that commented here: I give them a layout for each (different) page of the website and everything already sliced. We’ve always worked great together.

One big reason why designers should know how to code is that they don’t have to always believe a programmer when he/she says “that’s not possible” ;)

Frog

June 12th, 2009

Completely agree with the article so… yeah! Great!

mguthrie

June 12th, 2009

I find your opening statement to be a bit harsh, bordering dogmatic, and based on the bio above, not founded from within the design profession. As a good designer, you learn to design to any medium, whether you’re an expert at producing it or not.

I will agree that knowing code would be more beneficial. I ran a printing press before becoming a print designer. It helped, but did I need to do know how to operate a press? No. Almost all print designers were never, nor will they ever be press operators. To just make the blanket statement that we are “retreating into (our) cocoons of ignorance” and “leaving the dirty and more hands-on work of putting it up on the web to developers” is demeaning to both the design and production layers of the profession.

I have talented friend, who can design, but enjoys taking my “hands-on work”, and collaboratively making my vision come to life—and then it becomes our vision. This is a beautiful work experience. I have my strengths, and so does my CSS prodigy friend. The saying goes “The whole, is greater then the sum of it’s parts”.

Over time, like anything, you learn what to do and what not to do. And, because I’m not bound by the knowledge of code, I push the medium further. I challenge those that are experts to find a way, or tell me it can’t be done (I dislike that answer :). I think “how can I make this work better, cooler, faster?”. And someone else makes it happen. And that team effort is what leads to breakthroughs. I repeat, breakthroughs.

What is true, is an individual who’s willing to learn what they can and can not do, and be flexible and work in a team environment will build an amazing career. A good designer is a good designer… code or not. Just like amazing coders, don’t always make the best designers. Yes, knowing code would help, but not knowing is not a hinderance to great design.

Jason

June 12th, 2009

I pretty much have to disagree a LOT here. Why?
Background: I do design and I also do the conversions to markup and CSS and do a large part of backend code as well
I’d actually prefer someone who is doing a design to not even THINK of how difficult there design is or is not to replicate into a page. I don’t want them to limit themselves in anyway. Sure, aspects of it will change in order to accommodate markup, but that’s natural in any web build. The most important aspect is that the design started out as the design first and foremost. Hell, make it as complicated as possible, I really love the challenge of making a very complex design: it forces me to break out of traditional design and go nuts on making it work. You learn what you’re capable of doing and then you learn more to make it work. I’d venture to say I don’t even want to look at “doable” designs anymore; bring on the insane and awesomely complex layouts.

jeff

June 12th, 2009

This coming from a sophmore at uni. jesus christ. The internet gives every unqualified idiot a freaking voice.

designers should know the “interfacing” aspects of coding, like template languages and maybe some basic coding knowledge.

but these are two very different disciplines that operate on opposites sides of the brain. Someone who does one usually can’t do the other well(well at least for a few years). Both require creativity, but very different types.

And this “utopia” web guy you call for who’s does both is probably very average at all his work since he’s a master of none. Who the hell has the time?

lol

Iaman

June 12th, 2009

I agree that web designers (people who will call themselves web designers and not wear any other hat) should know how to code, but I think the bar should be set somewhere concrete.

Being able to code up a template of the page (straight XHTML/CSS, make the page look like your comp) seems fair to me. It doesn’t require any programming experience, you don’t have to do anything complex, but you should be able to make an XHTML/CSS comp that looks almost exactly like your Photoshop comp looks. Even if the code isn’t terribly clean, it shows that you understand the ins and outs (especially the limitations) of designing for the web.

I’d never expect a designer to understand how exactly you would go about interfacing with a MySQL database or how you make a sliding image gallery, but I think being able to make an XHTML/CSS comp is an entirely reasonable expectation.

Jesse

June 12th, 2009

Well, if you search the job boards at all, you’ll see that the “old school” approach of specialization still reigns: designers on the one side, developers on the other, and rarely the twain shall meet. As many have already said, the reality of the industry is such that one cannot bury their head in their specialty and expect to remain relevant – it simply doesn’t work that way anymore. Designers should know a *little* bit about developing and deploying a website, and the converse is true as well. Here’s the stickler, though: what is more likely, a designer who learns to code or a coder who learns to design?

David Parker

June 12th, 2009

I’m neither a designer or a programmer, but I disagree fundamentally with the proposition. Yes, you could teach a designer to code, but could you teach good design to a coder? I suspect it would be much harder. The natural conclusion of this argument is a lot of unemployed coders as designers do it for themselves. That’s not really the point though. What’s really needed is good agile project management that puts emphasis on rapid application design (RAD) techniques with an emphasis on iterative development and good communication between both parties. So, the designer passes on the design, the coder has a first pass, the designer says whats good and what isn’t, the coder makes the changes…etc. etc. until you get to version 1.0. The principles and techniques of good project management are accessible and straightforward, and any web project large or small will benefit from the rigour such a framework will bring.

Rhy

June 12th, 2009

“It is ultimately more convenient to have the technical and usability constraints in perspective.”

On the web, user experience and technology absolutely cannot be separated. The technological foundation must exist for the user experience to function.

As a designer/developer, I have found myself keeping my designs simple for several years. I began web design as a hobby for an aspiring designer and after having some troubles with code I decided to take some time to focus on the “programming” side of the problem. Since then, I’ve found that knowing the result will be more accessible if my code is clean results in me thinking from the code out.

I’ve often worried about it — if I don’t stretch them, my design skills will (and have) weaken. I’ve also been very frustrated to find myself pigeon-holed by designers when I attempt to discuss code-oriented accessibility considerations, “…but, then, you’re more of a developer, aren’t you?”

In the end I stand by the decision that I needed to master code to be the best designer I could be. You simply cannot render a design on the web without the technology. If you do not understand the technology and the art that is involved in the code, you are not a web designer. You are a graphic designer trying to shove a square peg into a round hole.

You can absolutely do both. You absolutely should do both. And you should absolutely be concerned with the quality of the code that renders your design. If you aren’t, you are not only living in a dream world where your entire audience is a race of clones; you are also responsible for delivering an inferior final product.

A web designer cannot afford the luxury of being a temperamental artist whose masterpieces must be pixel-perfect to the the last detail. HA! If any web designer out there honestly thinks that compromising the technology and producing sub-optimal code in order to render a design results in a better user experience… That attitude amply proves that said designer does not actually understand the necessities of an effective website. That particular designer should probably stick to brochures. I’m sure there’s still a market out there for print designers.

RaphaelDDL

June 12th, 2009

2 good points why designer should learn to code:

*You will design something POSSIBLE to be coded and not a weird or impossible to code design that only flash would make something like you want. (i hate full flash websites :/)

*When you work with a programmer, you will know WHAT TO ASK and then, communication will be better.

Parallax

June 12th, 2009

I’d like to be a little more specific and say that “People who do interactive or online design should know how to code. Print designers should stick to what they know.”

Pam

June 12th, 2009

Agreed. I think if all I could do was design page mock ups I wouldn’t get anywhere and would not have the amazing opportunities that come my way. XHTML/CSS should be standard, but having a knowledge of other coding languages and how a CMS functions allows projects to avoid potential road blocks. Knowing the business/marketing side helps greatly too.

Michael Alexander

June 12th, 2009

this is a dumb article. i’m a certified php/.net engineer with extensive css/javascript skills. i do not expect a photoshop/html-css design expert to come close to filling my shoes. i’m sorry, but if you’re a developer for the “web” that has problems with the basic building blocks that are taught to high-schoolers (css/html) then you have no business developing projects for this medium. go build some lame ass banking software apps.

Ola

June 12th, 2009

I definitely agree that every web designer should know how to code XHTML, CSS and at least know UI related Javascript ie. Jquery. I consider my self a hybrid visual designer/ front-end developer, but my inclination is towards design. In my day job, I lead all the design projects for our team and because of the content heavy nature of our site cannot also be the dedicated developer. However, I do find the my expertise in XHTML & CSS has enabled me to overcome objections to complicated designs by our developer. In some instances I provided proof of concepts to my team by coding my ideas for some details. Also, with this knowledge, I am able to tweak our live site in my browser using developer tools like firebug and provide semantic changes that would have required my devolper to do a lot of experimenting to match my design.

Now on the other side of things, I don’t think you can be both the dedicated developer and designer on large content heavy web site projects. There is just not enough time and the level of complexity increases i.e versioning, CDN’s server load balancing e.t.c

Delight

June 12th, 2009

As a designer, I absolutely agree that designers should have some rudimentary coding skills. Not only because understanding the entire process is key to a well-rounded designer, but as the article stated, it makes good economic sense.

Any way or skill that can enhance my marketability in this job market is something I will learn. I don’t need to be a hardcore coder but at least a designer needs some understanding of the whole package.

Luis Ahmed

June 12th, 2009

Good post, and yes, Designers have to know code, I’m not talking about deep coding because, at the end, the productivity issue have it own weight in the market and two people specialized do more than one doing the hole job. My point here is that if you can’t figure out about functionality, semantic, clean css, some SMS like WP etc. then you are out of the business.

CarstenBN

June 12th, 2009

Michael Alexander: The intention is not at all for a photoshop/html-css design expert to fill your shoes. This is actually about the designer knowing the nature of the medium for which he is producing work.

For the designer to understand these things is very important. Rather than filling out your shoes, as you couldn’t possibly fill out his shoes when it came to desing, it is about making way for the ultimate partnership and teamwork. By him knowing the basics of your restraints and you knowing his, a bridge is laid out.

Much better work is the result, and on the individual level without teamwork each of you will be able to produce overall more satisfying stuff as well because you don’t just know one thing and that’s that.

:D

paul

June 12th, 2009

When Frank Gehry visualizes and designs a seemingly impossible building to build, it is up to the “specialists” to figure out how to create it. Frank in essence is the designer, and the builders are the coders. Without individual people specializing and creating ideas together, we would not have many of the beautiful things that exist on this earth. To truly create an amazing product, whether it’s buildings, websites, automobiles…it takes the expertise of many people who can bring different ideas to the table. Creatives, Designers, UI experts, and Developers can all bring ideas that can take projects to another level all together, it just takes team work and patience.

Keith D

June 12th, 2009

Can’t imagine not understanding XHTML and CSS and calling yourself a website designer.
If you use something like Dreamweaver you find yourself slowly drawn into the code until you reach a point where it is quicker to edit in code view.

Perhaps we all need to add the skill of working with a programming language, which these days would probably be php. This gives you the ability to understand something of WordPress themes and how to move the php includes about… even if you can’t write the php code.

Icaro Pablo

June 12th, 2009

In other words. Designer should down from tower of amethyst and to interact with your people (read: Code).

emmess

June 12th, 2009

As a developer AND designer, I can completely agree with this article. Note however that I did not say I was a graphic artist, and that’s where the difference lies. There are a ton of really good graphic artists out there who simply cannot design a web page at all. They’re great for making a banner, a logo, something like that – but they will ruin every single web page they touch if they are allowed. The word design implies that one understands the functionality of things, how they work. Otherwise it’s not design, it’s just artwork.

@Michael Critz – As someone who studied at university to become an architect, I can tell you 100% you are wrong. Perhaps architects don’t pour concrete but we study materials in depth, and we know the limitations and benefits of all the building materials put into a design. True architects can design the structure of the building, the interior decor, the furniture, etc.

So a developer who can design, a designer who can develop is more like an architect than either who can’t do the other. A graphic artist who can’t develop is like an interior decorator. A developer who can’t design is like a draughtsman. And a programmer who can’t do either, is like a contractor.

Ben K

June 12th, 2009

Good and concise article on an interesting topic.

I am a cross-over designer/developer myself and have worked closely with many other developers and designers and hybrids of varying experience and talent for over a decade and my experience is that it really comes down to the funding and scope of the project.

For small projects cost can be saved by limiting the back and forth between designer and developer and many of the other things mentioned in this article.

However, for large well funded projects the cost isn’t as much of a concern and instead the focus is on time and quality – releasing a good product on time for a profit and therefore hybrids are not as desirable as specialists in that scenario.

Another consideration not discussed in this article has to do with career paths. Hybrids have a skill set that can be paraphrased as “pond-link” because it is shallow but broad, as opposed to specialists whose skill set is “well-like” because it is narrow and deep. This difference in skill sets has major implications for the career path especially during mid to late stages. Hybrids tend to move in the direction of product manager, project managers, vice presidents and jobs that otherwise have to do with strategy and risk management. Specialists on the other hand tend to spend more time on the most complex or important work and delegating the simpler work to junior developer/designers. Another trend I’ve noticed is that specialists tend to flirt with consulting while hybrids flirt with entrepreneurship. Both can be extremely successful.

Learningman

June 12th, 2009

I did not get a chance to read all of the article but I have to say I absolutely disagree.
There is a point for being a designer and a developer the two world can meet but one can not be influence by other…if the designer start thinking as a developer it will hinder his/her ability to design unique result. They will be restricted to a limited mind set(a boring one might I add). Creativity, life, uniqueness, freshness… will be lost…no offence to developers but developers are not creative people. They are very structured and can put the creative concept in to practice.

What should happen is let the designer design and let the developer review than if there is a requirement for adjustment than necessarily adjustment can be done by the designer…
Trust me not good idea I started in design and start doing some coding and now I have the mix of both worlds however I notice a lot of times I design with a coders scope and have to constantly stop thinking: “is it doable “ I have been corrupted for life! : )
Now for many projects hire a designer to get their opinion … well if you have both world you can be a consultant……

Razib Miah

June 12th, 2009

I also agree with this. Example if you flash designer you should know Action Scripts better. If you have prior knowledge of any type of programming it’s may help to do better and learn easily.

tapps

June 12th, 2009

very good article. and as a designer/CSS developer i couldn’t agree more. the web is a completely different animal than print design, so it shouldn’t be treated as such. i have been on both sides of the design process, sometimes being both programer and developer on a single project. i have run into some designers who don’t understand CSS and how it works, and those websites have been the worst sites in user accessibility and had the most messy browser “hacks” incorporated. both were bad moves and not solving the purpose of the website, in my opinion.

Eric

June 12th, 2009

thanks. this has inspired me to write “Why coders should learn to write copy/design/project manage/sell jobs”

but seriously, what makes it for me is when I work with a programmer or a designer that has SOFT skills, and empathy (either for the user, or is experienced at selling themselves or their company)

Think about it, just about every bad experience I’ve had with a programmer or a designer (or a marketing person, or a plumber), is not because they are versed in the mechanics of their contributions upstream or downstream (altho I agree that an understanding does help), its because they’re lousy communicators.

They’re rude, don’t follow up, condescending or just won’t collaborate. Give me a Rails guy who doesn’t make me feel like a dummy, and I’ll send him work all day long.

My clients hire me because building websites that drive them business is my job, and they can focus on theirs. If they wanted to learn how to design or code, they wouldn’t have hired my company.

If you really have a problem with working with programmers or designers, set expectations up front so neither side is left feeling like they’re doing someone else’s job.

Sekhar Ravinutala

June 12th, 2009

Adobe is coming up with “Flash Catalyst” too (now in beta) that designers can use to not only design, but also specify some behavior. Catalyst will then generate the code that developers will modify. I.e., designers “code” without coding.

I see this as one way designers can keep their feet on the ground and not design a pie-in-the sky setup. It’s going to hard, if not impossible, for designers not formally trained in computer science/software to be able to produce any acceptable code.

CarstenBN

June 12th, 2009

emmess,

The architect analogy works extremely well. I think this is the best way to put it, and with terms like “information architecture” popping up in the Web and software worlds it looks like there’s at least some merit to the thought.

Web designers should know the physics of their medium, simply put. It doesn’t mean they have to be specialists who overtake every role, it means they have the needed insight to apply their expertise appropriately.

The Web is not print:
http://www.aiga.org/content.cfm/web-design-as-foreign-language
http://www.cactusflower.org/the-web-is-not-print/

So it doesn’t make sense to think of Web designers as simply print designers or graphic artists. Those people design for a much more static environment with an entirely different set of variables.

In order to fully understand the Web medium, designers should have technical insight into how a page is loaded, basic coding skills (basic meaning no professional developer would really risk losing a job, lol) and other things.

It’s the natural conclusion, coding should be a part of a Web designer’s understanding.

Beto

June 12th, 2009

This is part of an internal email I’ve written to our development group about this very page, because this is precisely the way I learned web development – by becoming a designer who had to know his ways around code to make things happen.

When I started developing sites for a living around 1996, you were forced by the circumstances to be a jack-of-all-trades as web design and development was concerned, or else (specially because no one else was going to do it for you!). So you had to become proficient on design as well as coding skills, side by side. Being exposed to that kind of development approach is what defined my working “philosophy” and made me wear a lot of hats over the years. I guess the author went through a similar phase.

I definitely agree with the author that few things are more frustrating than dealing with designers who are totally oblivious to the notions of how web pages are actually put together, or that lack a clear idea of what is really feasible (and what isn’t) to deploy on a site, considering multiple web browser/platform support, and other variables. I definitely prefer to work with a designer who has had first-hand experience putting together a web site on his/her own, even if his/her skills on that respect aren’t stellar. The experience value alone already puts them above the rest. But where do you draw the line? How much is too much to expect? Maybe some HTML and CSS skills, with some basic Javascript and PHP thrown in for good measure perhaps?

Gaining extra knowledge certainly hasn’t hurt anyone, but if my experience is any indication, I’m convinced it is not possible –nor desirable- for a designer to replace the needs of a full-time programmer, no matter how well-versed he or she thinks is on the subject. You can only stretch the multiple skills approach so much before going insane. But a general education on markup languages and how the web works would be highly desirable assets for any designer who is going to work with a team of coders/programmers.

John G

June 12th, 2009

I don’t think the buck should stop with the designer, but I definitely believe that the designer should know the limitations of the medium.

I’m constantly handed designs that would be brilliant in print, but are disastrous on the web. I end up implementing these tragic websites. When the client and the clients customers complain, THEN we go back and fix the problems. It’s tragic yet funny at the same time.

When you design something for print, you know to keep important copy away from the edges, avoid colors that won’t reproduce well in the final medium, etc. The web is no different, except these “designers” refuse to learn the rules.

Luckily, I can do both so it’s not such a big deal in my personal work. I started out using Softpress Freeway and the Dreamweaver. I got tired of being held hostage by the whims of the Adobe and Softpress team and going through a 5-6 steps to create one damn line of code. Finally I just determined to learn it myself, and I am MUCH happier with it that way.

Any designers that refuse to learn their medium are doing themselves a great disservice.

Ray Jimenez

June 12th, 2009

Great idea, in theory. In practice, it will not happen, mostly. Designers and programmers will both become marginal in the future world (may be far far future) of learning. It is happening now. Tools are easier to program and use immediately. Design will be overtaken by learners and workers wanted to learn quickly, not willing to wait for programmers and designers.

I propose the question may be “how should designers and programmers change, debunk, throw away and destruct old assumptions and embrace some new form of design-programming genre that helps learners/workers instantly?”

Joshua

June 13th, 2009

It’s a great move to learn to code if you want to be down in the weeds/trenches as a designer/craftsperson working closely with granular details through the development process. If your career goal is to grow as a design/business strategist, or as an experience designer, or a conceptualist, or brand architect, then maybe you’ll have different priorities and skills to grow.

CarstenBN

June 13th, 2009

There’s another reason good Web designers should know about the technicalities of websites, though not code-related.

http://www.websiteoptimization.com/speed/tweak/design-factors/

It is important that they start learning the science behind how the Web is understood and experienced by its users. Though not a print designer, I can imagine that there has to have been some scientific research into how their medium is experienced and read.

Well, by learning how to code they can quickly come to understand the concept of fewer HTTP requests and whatnot.

Joshua

June 13th, 2009

A follow-up point. HTML/CSS skills are being commoditized much more than are design skills. If I was a front-end developer making a living on HTML/CSS/JavaScript skills, I’d be worried about losing my job to a $15/hr operation in Hyderabad or Hanoi. Designers aren’t getting outsourced like that and probably never will.

Josh N.

June 13th, 2009

@Learningman: Developers are some of the most creative people I know. they have to be in order to figure out how to code all that crazy shit designers come up with! Talented people are creative people. Designers don’t have a monopoly on creativity.

Ryan Glover

June 13th, 2009

I really don’t consider someone a web designer unless they have the ability to turn their graphics into a full functional design. Good article. If you’re thinking about becoming a designer, definitely start with coding.

Olle

June 13th, 2009

I think there’s some truth to it but I can’t agree. What’s needed (in this, still, fairly new medium/discipline) is designers who UNDERSTANDS code and the people who do code. Restrictions and restraints. And of course if you call yourself a designer for web – you NEED to understand usability aspects (many claim but don’t).

Adobe (who I don’t work for but with) has products like Flash Catalyst and Flex Builder and those two programs consistantly get better at alowing the designer and coder to meet. Worth checking out.

Less software specific speaking – it’s a question of understanding each others discipline better.

Dave Bricker

June 13th, 2009

I’m a Flash Designer and also a Design Professor. As a teacher, I make all my basic web students handcode websites with HTML. That’s just basic literacy today.

I dragged myself kicking and screaming through learning actionscript but I can now not only design the look of my sites. I can also design how they behave.

Programming has turned out to be wonderfully creative and it also has a unique typographical order that keeps it organized and easy-to-debug.

Projects like http://www.aSiteAboutSomething.com” would have been immensely cumbersome had I needed to coordinate all the UI evolution with a programmer every time I needed a change. By controlling the design and the logic, I can make changes to one of the most complicated interfaces on the web in minutes, and without having to worry about anyone else’s availability.

Designing and programing also offers the minor advantage of having plenty of work.

Deb

June 13th, 2009

Well, here’s my two cents. When I started in all of this far too many years ago than I’d really like to admit. I was just a designer on a PC in one room of my house. Back then the net and all of this was just so new and Photoshop and Illustrator and all the programs we have now at our fingertips were all in their infancy. Then, it was you were either PRINT or WEB and the two never met in the middle of anything.

I learned very early on that to be really competitive as a designer you have to have at least “some” level of knowledge in the area that you’re working in. If you’re web oriented believe me even as a “designer” and someone comes to you for a site, you had better have at least a working knowledge of how to at least talk to the programmer that is going to work that site for you or else you are going to be eaten up in not only costs but you will not know how to fix it when it goes down and that programmer is on his/her high horse for more money. And yes, that is a programmer’s M.O. They are far more advanced (supposedly) than any lowly designer out there.

Fortunately for me, I have decided to be that designer/developer who designs not only for web but for print as well. Let’s face it, if you can design for web; why not for print? And, if you learn at least the portion of the web development you’re marketing for, i.e., blogs, social media, custom sites, flash sites, e-commerce, etc, then you should know that coding platform or at least have a third party package you know well enough to keep up with or develop into.

In today’s market and economy, there really isn’t a choice of picking and choosing to “just” be a designer. That might mean you could be one of those stereotypical “starving artists” our mothers ALL warned us about when we first told them we were going to do something artistic in our lives.

AGDM

June 13th, 2009

I so agree. Working with a designer who doesn’t understand basic elements of coding is the worst. I have seen comps with one line of Lorem Ipsum in a layout that would be replaced with 2-3 paragraphs. By the time you slice it all up elements below would be funny looking because of the oh so subtle gradient overlay in the background. Nice work.

Being a developer that comes from a design and fine art background this is beyond me. Its really not that hard.

AGDM!

jack

June 13th, 2009

I think your article makes a lot of sense. My personal opinion is that if you want to design new media and like that niche — learn to code as much as you can. It will only help you become a better new media designer.

However, if you lack interest in new media design — refocus and become a even better “print” designer. You should attempt to only do what you love and become a beast in that niche.

Trends seem to point to the continued trend of print declining so it might not be a great idea to not to enjoy new media design but you can’t fight what you love to do.

Magdy

June 14th, 2009

you are absolutely right, and so I used to make websites’s PSDs and at the coding step, I didn’t know much, but I’m learning :]

Robert

June 14th, 2009

I’ve explicitly requested my designer not learn anything whatsoever about how his designs will be technically realised. The reason for this is, if he does, his creativity will be stifled by his new-found knowledge. I want his juices to flow freely. How that translates to a user-agent is entirely my problem. It allows him freedom and challenges my front-end development competencies and pushes me into new places – just the way I like it! :)

Nick

June 14th, 2009

I have a friend in the industry who says there are only developers. There are the developers who code, and those that design the interface. BOTH need to know how to code.

I know rudimentary coding simply because I need to know if something I design is possible to implement by the coders. (and sometimes a bit of thought by the designer can save the programmers hours of work)

bpizzle

June 15th, 2009

jesus, there are a lot of people that build (poorly coded) websites from home and are calling themselves “web developer/designers”

why is it that in REAL agencies, you don’t see people doing both — here’s why — the people that are ACTUALLY GOOD at either of those skills are good at one and one alone.

Jack of all trades, master of none indeed.

Bobo

June 15th, 2009

I was just thinking … if you’re really passionate about designing for the web doesn’t it almost come naturally to be interested in / curious about how designs are actually implemented and ‘brought to life’? For my part, I work as a project manager (in web-development), but find it hard to hold myself back from digging in to both design theory as well as mark-up and coding in Actionscript, Ruby on Rails etc …

I know that one problem is that there is not enough hours in an average day … but that’s another discussion : )

Heidi Cool

June 15th, 2009

With so many job titles around it’s hard to know what to call oneself. I design and build W3C standard compliant sites with search engine optimization and accessibility in mind. So I work with HTML, CSS, PHP, Photoshop, etc. but I don’t write server-side programming. I guess this makes me part designer/part coder, but I’ve always worked in situations that required one to know a bit of everything.

I find this helpful, because it’s hard to work in a vacuum when every aspect of Web development is interconnected. Just as a copywriter needs to know enough about search engine optimization to include appropriate key words in the text, a designer should know enough code to design something that will provide a good user-experience on a multitude of platforms.

For those who work in team environments where one can specialize I think the important thing is to know enough about the other aspects of the process that you can communicate well with other team members and know when to compromise.

We all come across failing Web sites on a regular basis. I’ve been to stunning Flash sites that are sized too large for my screen with no option for scrolling, well-branded sites whose navigation broke when images were turned off, and cool experimental sites whose menuing systems were so experimental that they were hard to find–you know,the kind where you have to mouse all over the page until something happens.

I can’t help but think that a wee bit of cross-training might have prevented such problems.

Michael Critz

June 15th, 2009

@Stephane My metaphor may not be 100% analogous, but I think people get my point.

Let me ask everyone, would we rather have the most incredible design you’ve ever seen and then apply our skills & critical thought into developing it, or have (yet another) generic or derivative design that’s easy to develop for?

Designers are pushing what’s being asked for. The developers that set up to the plate and deliver will be rewarded and praised. Those that would rather complain and point fingers have defined themselves differently.

Glenndavid

June 15th, 2009

i am currently studying a course in belgium fusioning both development and design, we are the “Deviners” of Digital Design and Media-people: the course consists of 50% programming languages and 50% of design courses

Dave

June 15th, 2009

I completely understand! Designers develop a ‘shiney’ front-end which is bulky and cumbersome; and then leave it up to the developers to streamline their ‘baby’… I SAY NO MORE LET THEM LEARN!

bpizzle

June 16th, 2009

“So I work with HTML, CSS, PHP, Photoshop, etc. but I don’t write server-side programming.”

Uhhh… is there a new kind of non server-side php that I’m unaware of? :-P

Jacob Gube

June 16th, 2009

@bpizzle: Yeah, haven’t you heard of client-side PHP, it’s better then JavaScript. :D Seriously though, I think he meant not good at server administration, like say, managing a LAMP stack.

Steve High

June 16th, 2009

I am a backend developer, who is tasked with taking the sum total of a client’s business data and converting it into a readable format which can then be passed off to a page carver to glue the design together. A good page carver is worth his or her weight in gold, IMHO.
That said, I believe an essential skill that any serious designer should have is the ability to write xsl stylesheets. The designer can maintain complete control of their UI, and the developer doesnt have to stay late every night creating convenience functions that translate business code into html.
I have a particular fondness for xsl/xslt because it is easy to work with, easy to understand, and easy to implement. The parsing is fast on even the most restrictive servers.
Other templating solutions, such as Smarty, are good to know as well.
What designers should NOT do is use code snippets from online tutorials or script sites without knowing precisely how they work and how they affect the server environment. Many PHP4 and even (groan) PHP3 scripts are still out there in the wild and actively used by freelancers just trying to get the site done quickly. When these things break, freelancers like me get called in to clean up the mess, and oh what a mess it is.
If you’re looking to do something in PHP/Javascript/Actionscript/Python/etc, your best bet is to grep the mailing lists for said languages, or visit the IRC chatrooms. Developer communities are nerdy and can be hostile to people who dont observe the etiquette, but if you just hop on and ask your question, you’ll get an answer.

yomomma

June 17th, 2009

xsl/xslt? irc? mailing lists?

wow, it’s like we’re back in 2002. excellent!

joe

June 17th, 2009

i am a old school designer. when i started, back in the early 90′s, there weren’t such things as developers & designers. we were all one. for the first 3 years of my career i had to design & build all my sites. from that my design skills have ALWAYS kept how ti was going to be built in the front of my mind.

unfortunately as things go…now i find that it would be MUCH more helpful if developers would take a sec and learn good design practices too. especially OPTIMIZATION…when you work with developers who INSIST on optimizing the images from your design…but don’t know how to do it…get’s frustrating.

so, 2 way street ya’ll. don’t come down on designers when the same amount of developers have NO clue what good design or optimization is…aggrevating on both fronts.

yomomma

June 18th, 2009

bwah hahahahahahaha.

you’re giving developers a hard time for “insisting” on optimization?

what a maroon!

if it’s on the web, it should be optimized. end of story.

Madeline Ong

June 18th, 2009

I think it’s a good idea for web designers to learn how to code. I often see popular web design comps on DeviantArt.com that are very attractive — but which would be impossible (or very difficult) to code without using Flash or JavaScript. The non-websafe fonts they use on all the text, including body text, is a strong indication.

On the other hand, it’s true that designer-developers “know when a neat new idea will create messy code,” which might lead to limitations in the way they conceptualize design. There are two possible solutions to this:

1) Designers should learn how things work on the web, even if they don’t know how to code per se. Or,

2) Designers who know how to code should also know how to compartmentalize so that during the design phase, they only consider design and UX. During the development phase, they can make minor changes if coding the design exactly as it is would not be possible.

Duh

June 18th, 2009

Methinks those designer that protest on artistic/creative grounds should take two things to heart:

1) 99% of all websites aren’t there to be pretty, they are there to be used. If you want to be an artist, go ahead. Art exists for art sake, design is functional.

2) All designers I’ve worked with that couldn’t code actually designed *less* impressive user experiences, because they had no idea of what was possible. Designers like to think they are the creative ones that push the boundaries, in the real world of web development the opposite is true: designers that don’t know the code don’t know what thousand-and-one new things became possible since they’ve last been tought how to design for the web.

As a developer, I’m sick and tired of designers actual holding us back in exploring the frontiers of innovation and creativity because they fundamentally don’t get the thing they are designing for.

Let me be clear, I’m perfectly okay with having to take a designers messy code and having to do it over to create properly structured code. I do not expect designers to be responsible for the final production code. But if you cannot code at all, please stick to designing for two-dimensional, non-interactive objects and leave web design to the professionals.

(On a sidenote, it’s always interesting how there’s never any question about developers needing to know at least the basics of design, UX, system administration, networking infrastructure etcetera, because after all, they are all computer nerds. The segregation between computer nerds and “creatives” is soooo 90s. Designers are the last ones that still try to put up a wall between themselves and the rest of the people who should all be working together to create the best user experience possible.)

Arscherz

June 19th, 2009

Are there still web designers out there that don’t code?
Ones with jobs, that is?

yomomma

June 19th, 2009

arscherz, you mean other than every one working at an agency, and not making websites in their bedrooms?

Joey

June 20th, 2009

I totally agree with this article. Designers should be able to code the Presentational stuff like CSS, HTML and the visual parts of Javascript like animations, overlays, sliders or at least be very familiar with JS libraries that do the build of this work for you. I think it is a very reasonable requirement, any kick ass Print Designer would know how to prepare their work for printing, the same should be said for Web Designers, we should know how to prepare our work for web publishing and that’s coding the interface. I think in a few years you won’t be able to get a job as a web designer if you can’t code.

Arscherz

June 22nd, 2009

yomomma,

Good luck with that!

Brandon

June 22nd, 2009

Some good points, but don’t agree 100%.
As a designer I am already overwhelmed with staying up to date (both visually and technologically). As a designer I already have many hats to wear having to know Photoshop, Illustrator, Indesign, Flash, Cinema 4D, Lightroom, AfterEffects… and the list goes on and on. I think if I invested the time required to fully learn XHTML, CSS, Javascript, Actionscript etc.. I would be spreading myself a little thin in other skill sets vital to being a designer.

Should the programmer now have to learn design… and what does that really mean? Should they be required to get into photography, illustration, 3D modeling, video, animation?

I have always been interested in learning to code and I have felt the pressure to do so. My problem lies in the time required to learn and stay on top of these skills. The web is always changing and unless you practice coding often you will forget. Take it from someone who has taken the lynda intro to ActionScript course 7 times.

I think the key to good functioning design is the communication between designer & developer. This conversation bypasses many of the problems that can occur from lack of knowledge on either end. I have worked at a web shop for a few years and this conversation has taught me a lot. It is totally possibly for a designer to be aware of issues and best practices without actually having to implement the code.

yomomma

June 23rd, 2009

arscherz, thanks, but don’t need luck. i’m working in the real world already!

Kris

June 24th, 2009

Interesting, so should the hybrid you speak of be paid more than your typical engineer for fulfilling both rolls? After all the company is filling two positions at the cost of one head.

I have been this guy for some years… My next position I aim to make this very point. I can’t see why some companies value front end developer designer types less then backend engineers. I found myself in a position recently that I was implementing more than just the presentation layer, but answering questions and doing the work of more senior level engineers. If you do produce code as a designer, be sure the additional value you bring is noted…

Carina

June 25th, 2009

I’m a graphic designer and illustrator, I know a little HTML, CSS and Flash and I have to admit that coding can be fun – sometimes ;)

anne

June 27th, 2009

Any additional advice for designers wanting to learn coding would be great. I’ve read several the sixrevisions tutorials, but for a total beginner it’s a bit daunting. Where did you all start?

Melek

July 1st, 2009

best thing i ever did to further my career was learn to code. people use me bc they don’t have to hire a separate designer and coder. Turnaround is faster and there is less information lost in translation.

Website Designer Katy, TX

July 5th, 2009

I have a partner in business and we both can code and design. He is better at design and I am better at the code. All in all we make a great team. You don’t have to be good, just useful.

Guillaume

July 9th, 2009

I agree with this.

A Web designer should be a coder anyway, otherwise he is a Print designer.

No graphic designer can pretend being a web designer without knowing about code. The best websites are generally made of a synergy between design and code (e.g. Ajax / Javascript / CSS enhancement can play a major part in the result)

designers_arent_coders

July 14th, 2009

wow, there are a lot of clueless folks out there.

synergy. lol.

please, anyone, show me one of these sites done by designers who also code. i’ll bet dollars to donuts that they’re absolutely crap. either poorly designed or poorly coded. or often both!

Innerclick

July 15th, 2009

I think that designers that don’t want to learn how to code are foolish.We only expand are minds when we are learning.

Ziggy

July 21st, 2009

Rochelle Dancel wote:
> My question is, however, does your proposition work the other way: should developers learn how to design?

As far as I can see none of my developing colleagues has a bit of a sense for esthetics, colors or composition. Designing developers what a nasty idea… *shudder* ;-)

thatsthepoint

July 22nd, 2009

Ziggy, believe me, real coders shudder just as much at the thought of design wonks touching code.

Colette

July 24th, 2009

I started as a 2nd line support techie, moved into dev, then moved into usability. That took about 15 years working in IT.

These 3 skills I picked up over the years created a 3 legged stool that works well for me as a freelancer, rather than being just a dev, design or usability person.

When I did dev, I was asked to build designs bloated with graphics for TV set-top boxes, and it was a nightmare – just the logo and some copy would blow the 50kb page limit. I kept saying the graphics needed to be smaller, or not photos or it was going to die a horrible death. Sadly the “account manager” would have already taken the designers flat images to the client, and got sign off…..and I “just had to make it work”…. It was less hassle for me to get a new contract…

When I have worked with designers, they can create unusable stuff that takes ages to load or is really cryptic to understand, like icon based navigation, especially if they are print designers not web designers.

I was really lucky and sat next to designers who taught me how not to come up with “bad design”…I wasn’t ever going to be “creative”, but I could be a “clean and crisp” designer. That helps me sketch out a recommendation, even if it’s not marvelous to look at, that could be “pimped up” by a graphic designer.

With usability, usability people design interations that are a nightmare to code – something easy for a human brain can interpret but cost 10s of thousands to turn into a working IT system. If it’s not affordable for the customer, ir doesn’t matter how much usable it is. I have an idea about cost and times because I was a developer.

My point is you don’t need to be a master of all 3 disciplines, just aware of 2 and specialising in 1.

If you have no awareness of the consequences of your recommendations on the other team members, it gets pretty old pretty quick, unfortunately, and the end product suffers… Sadly I have seen this many times…

Colette

July 24th, 2009

I started as a 2nd line support techie, moved into dev, then moved into usability. That took about 15 years working in IT.

These 3 skills I picked up over the years created a 3 legged stool that works well for me as a freelancer, rather than being just a dev, design or usability person.

When I did dev, I was asked to build designs bloated with graphics for TV set-top boxes, and it was a nightmare – just the logo and some copy would blow the 50kb page limit. I kept saying the graphics needed to be smaller, or not photos or it was going to die a horrible death. Sadly the “account manager” would have already taken the designers flat images to the client, and got sign off…..and I “just had to make it work”…. It was less hassle for me to get a new contract…

When I have worked with designers, they can create unusable stuff that takes ages to load or is really cryptic to understand, like icon based navigation, especially if they are print designers not web designers.

I was really lucky and sat next to designers who taught me how not to come up with “bad design”…I wasn’t ever going to be “creative”, but I could be a “clean and crisp” designer. That helps me sketch out a recommendation, even if it’s not marvelous to look at, that could be “pimped up” by a graphic designer.

With usability, usability people design interations that are a nightmare to code – something easy for a human brain can interpret but cost 10s of thousands to turn into a working IT system. If it’s not affordable for the customer, it doesn’t matter how usable it is. I have an idea about cost and times because I was a developer.

My point is you don’t need to be a master of all 3 disciplines, just aware of 2 and specialising in 1.

If you have no awareness of the consequences of your recommendations on the other team members, it gets pretty old pretty quick, unfortunately, and the end product suffers… Sadly I have seen this many times…

BebopDesigner

July 24th, 2009

Wow! This is one brilliant/controversial post. HTML coding is not that hard. CSS takes more time to master, but still not that hard. Now PHP and JS, they’re tricky. Let alone ActionScript (at least for me). However, learning usability is a must for everybody. My background is advertising, so I do feel that SEO and webmarketing is a great plus to market yourself as an insufferable know it all. What do you reckon? I’m enjoying so much reading all these comments. Thanks for posting!

Thomas Pridgen

August 21st, 2009

“Wow! This is one brilliant/controversial post. HTML coding is not that hard. CSS takes more time to master, but still not that hard.”

Yet, 75% of the people out there have no idea what they’re doing.

Either people are much dumber than you think, or HTML/CSS are much more difficult to do well than you think…

Jim Hill

September 11th, 2009

I totally agree that designers should learn how to use mark-up Languages, but I don’t think they need to learn to programme. The use of ‘code’ is used too loosely here and is referring to everything written in a language, but mark-up is not programming.

Using mark-up is simply knowing how to layout your work out properly in it’s medium, the same way you would know this information in any other field of design.

I am a freelance consultant that has been both Creative Director at big agencies and lead developer, and I can tell you that XHTML/CSS is not hard and is a core part of building a good ‘design’ (designing a website is not just about the way it looks…)

Architects know about materials (but of course can’t build), car designers understand aerodynamics (but of course don’t engineer cars) and print designers understand print restrictions (but of course don’t run know the intricacies of being a printer).

Lazy Photoshop only designers need to improve the integrity of our jobs by becoming professional designers. The web is not all visual (for many it’s not at all) and the design process is a lot more complex than just “that looks nice”. Simple.

RH

October 17th, 2009

I believe communication is definitely important in the design process. Expectations can sometimes be misinterpreted on both sides when designing a site.

Simon

October 20th, 2009

So much to this whole ‘webdesign’ game, and far too many people standing on soap boxes declaring ‘this is the ‘right’ way!’ The fantastic thing about this digital design industry, is that it is forever evolving and we have the opportunity to lean something new each day and share our knowledge too.

The more skills you have….the better the end result can prove to be. Get stuck in I say all you designers out there, chew on some code and see how it can open many doors to good design, and great functionality.

Ken D. Webber

December 2nd, 2009

I disagree 100% with this article. There is a VAST difference in the way codemonkeys think compared to artistic designers and they are in opposition to each other. A great codemonkey usually lacks artistic vision. A great artist could usually care less about PHP, actionscript, or C++. It is like requiring a golfer to know how to work with metal in order to forge a golf club. What If I dragged all these codemonkeys into my lair, the artist’s lair, and forced them to learn 3D animation via Carrara and Maya before opening up notepad? Absolutely ridiculous! All this stems from companies who want to save $$$ by not paying artists what they’re worth and code designers what they’re worth. They want to find a single person who can whip out a website in Photoshop, Dreamweaver, HTML, CSS, and Flash, then take their corporate database and program it using PHP, and while they’re at it, write the corporate script in Movie Magic Screenwriter 2000, film all the corporate video promotions themselves, be proficient in editing video in Pinnacle, take the engineering files from the engineers solid edge programs in IGES and SAT for import use in creating animations in Carrara, then jump over into Ableton Live pull a guitar out of your ass and lay down tracks for the soundtrack… all for say $20,000.00 a year? And I say this to you in all seriousness because I AM THAT GUY and that’s exactly what I do for a living. Laugh all you want… I draw the line at PHP!

Gandalf

December 7th, 2009

Haha, Ken. Sounds like you’re not that good at what you do, as I do half that, and get paid 4 times as much.

Jack of all trades, master of none, indeed.

Specialize. It’s what Jesus would do.

Elijah

March 16th, 2010

Yes! i agree your points.

Me

April 21st, 2010

Ken D. Webber, you da MAN! LOL

First of all this article is written by a “kid” who, although is making decent points, is far too young and inexperienced to make the assertions that he is making.

“Coding, mark-up, programming,” whatever general terminology that you want to use ultimately doesn’t matter here. What dose mater is that “design” and “coding” are two VERY different skill sets. One is left brained and the other right brained. There is not way around that fact. Also, the idea that coders and designers have to be at odds is childish and unprofessional. A talented team is a great team, period. And the digital space is far too large and ever-expanding so as to think that anyone person can master enough to be self-sufficient.

I have yet to meet someone that is great at both. And, just because you rip of the code from sites that you like then alter it slightly (or don’t), dose NOT make you a designer and it certainly doesn’t make you both! In actuality, that is the definition of a “hack”.

As a designer I will happily concede that we need to understand code in at least a basic level and certainly understand which design practices are pro-web and which ones might cause issues in the digital space, and thus avoid them. However, to think that anyone can keep current and be a “pro” at both for life is beyond unreasonable. And, honestly why would you want to?

This article is supporting a trend in the creative services (agency) world, which has gotten WAY out of control. And it is a negative trend for the creatives that work within the industry. It is however beneficial in a superficially financial and short term way for the those on the business side.

The truth is that most agencies are 10+ years behind the times and are still catching up to the web, all while the social networking/app/mobile revolution is in full swing. They are all running to bring in talent that really can’t be at a professional level in most instances as the technologies haven’t been around long enough to be mastered. So there is a lot of perfecting on the job. That is why there are all these job descriptions that were seemingly written by idiots with no real understanding of what they are talking about or what they are ultimately in need of. This is why they want all of us to know as much as possible.

And to Ken’s point. He is quite correct that agencies/companies are all ways finding ways to charge their clients for the salaries/production costs of 10 employees all while employing only a few so that they can pay themselves as much as possible while keeping their costs down. And, for the record, don’t think these type of agencies are going anywhere or will be around for long, because they won’t be. An even worse practice is outsourcing the work to “freelancers”. And all of you who think freelance is such a great thing are ultimately undermining yourselves and the industry in the long run. If you are not charging a B2B cost for your services (and I’m SURE none of you kiddies are) you are enabling the very MBA grads who are decade after decade encroaching on your financial worth and turning you all into “art slaves”. So, make this ridiculous argument now and see what happens in 10 more years where you all have to learn and know even more than what you do today.

There is a bigger picture going on here, lets grow-up and get beyond the bravado. As it really serves no constructive purpose.

Ben

January 10th, 2011

I think designers at least should know HTML and CSS.

Glendora Brailford

July 15th, 2011

You are not the typical website writer, man. You actually have got one thing potent to increase the internet. Your own style is so powerful you could nearly pull off as a bad article writer, yet you’re also awesome from expressing what you need to say. Keep in the great work man!

Justreid

August 15th, 2011

Designers design, coders code. One designs, the other builds. In this new can’t get a job employers want everything for nothing society, they are forcing designers to code. But honestly, designers should not have to code, that’s why coders are employed.

It’s a total double standard, designers are expected to code whereas coders are never expected to design. Why? Because coders can’t design; you can’t learn design whilst at work, they’d need to go back to college for at least 3 years. It’s nice if you know some basic HTML if your area is web based to give yourself more options but most of the designers here seem to ignore the fact that half of design is print based. I went straight from college into a publishers and had no need for coding. You don’t NEED to learn it! Otherwise they would teach coding in design courses but they don’t. It’s a totally different discipline.

When I have needed to design things for web like e-creatives, you talk to the coder and make sure what you’re doing is easily for them to code. If designers start coding everything too, then not only is there no jobs for web coders anymore as the two totally different jobs have merged together but the more time they spend coding and learning how to code, the less time they’ve spent being bloody top notch designers.

I know designers who boast about how they can code too, they are not very good designers. Once you learn both, your abilities in one have to take a back seat. That is a fact and I’ve seen it so many times. To anyone here saying they know both and that you NEED to, I’d not only say that you haven’t been in the industry very long, but I would also challenge any of you to design something as good as “design only” designers do. As if you think you’re great at both, then your artistic talent has taken a tumble and you haven’t even realised it.

Like I said, if you want to learn some basic HTML then go ahead IF your area is web design but it’s not necessary and companies and employers commenting here who expect it are not living in the real world. You wouldn’t expect an architect to start shovelling cement and work a crane. If you think car designers have any clue about how to fix and engine then you are deluded. You cannot be a master at both!

If you think that designers have to be great at coding, then you HAVE to, on that basis say that designers should be a master at print making, screen printing, carpentry and anything else that involves designing. It’s not all about web you know! Printers print, that is what they do, coders code, designers design.

Like a previous comment said, companies are trying to catch up to technology and don’t even know if they need a coder or a designer or a DTP so they end up hiring someone who can do as much as possible just in case they need it as they don’t want to hire 3 people who will do their job brilliantly when you can hire 1 person who’ll do the same poorly.

If you had showed me code when I started college and they said “that’s how to design a poster” then I would have quit and become a full time photographer. This isn’t the matrix, get real!

Leave a Comment

Subscribe to the comments on this article.