27 comments

[ 4.4 ms ] story [ 68.9 ms ] thread
Are there still web designers who don't know how to code HTML and CSS? I haven't come across one in a while and would probably never hire one, so that's reason enough to learn how to code.
Yea- we've got a guy working with us now that lives only in Photoshop. He doesn't do illustration, he doesn't do animation, he doesn't code- just Photoshop and design. I'm not 100% certain that this is for the best. Many of his designs are difficult to implement and I feel that a stronger understanding of the code would help his designs a lot.
(comment deleted)
True, definitely, I absolutely agree.

But have you not also worked with coders who are fundamentally inept at design, making it seem like they're almost blind? I know I have, but for some reason we seem to more often accept this kind of very similar lack of tangential skill level.

Right- the argument on the other side of the aisle is, "coders don't know anything about design and produce nothing but horridly ugly pages". They cite a few programmers that didn't meet some art-school design standard about font spacing and then want to take away the ability to effect design from the coders at all.

Functional and elegant rarely equate to a designer as they do to a coder. For example, I know that many of them would really dislike Hacker News. Not enough, "pop" or "zing" to it.

Design isn't pop and zing (I'm aware of the reference). Design is not a coat of paint. Maybe you're just joking, but it doesn't matter because even if you are, there is no lack of programmers who don't have any better of design fundamentals than exactly that poor an understanding.

My point is simply that before we complain about designers lack of coding ability, perhaps we should first educate those in our own trade about the fundamentals of design — because coders are no better at this. Glasshouses, and all that.

HTML/CSS may seem so simple as to not even count as coding, to us coders, that is.

But consider the fact that many coders don't have the most basic grasp of design. Not even really fundamental things like alignment, proportions, which colors go well together, or even how to phrase a sentence so it makes sense to the user — which isn't even design, it's just english.

I think it's kind of a jerk move for coders to expect designers to like or care about coding, even really simple fundamental stuff, when many coders are notoriously lacking in the design or even taste departments.

Having said that, it is obviously a huge benefit for both coders and designers to at least know the basics of the other's trade.

One could even argue that you're not really a truly talented developer nor designer until you do; but, before we come down on designers, let's look at the state of design skills in the coding community.

> Are there still web designers who don't know how to code HTML and CSS?

Lots. Big agencies I know of have designers who spend all day in Adobe products and don't touch the code. These are the people creating official sites for movies, video games, Fortune 1000 brands, etc.

So it depends on where you find web designers: If it's through blogs and such, then yeah, a bigger percentage of them will also do front-end code. But from my experience, agencies tend to compartmentalize.

Add yet another reason. Designers who can code know the cost of the pretty frills they add to their designs, and so naturally can select pretty designs that will be easier to actually render in HTML.
This is hugely important. I wish I could +1 you 10x.

Understanding what you can do in CSS and what will require an image file or javascript to work is pretty important in designing an efficient site. I've seen designers with pretty looking ideas that are really difficult to implement. They say, "but you can do it right?" and it can be done, but they don't realize what they are asking for.

I once was asked to help a designer make her own webpage. She made everything circular... and the menu rotated. sigh
As a coding designer, there's a two-edged sword here.

1) Considering the costs of implementation limits the space of possible designs thus reducing originality.

2) Considering the costs of implementation limits the space of possible designs thus inspiring creation.

Which is just an obnoxious way to say that sometimes it's pretty damn useful to design things that are hard to implement. If you're too tied to the CSS, you won't try dumb enough things often enough and that's a direct line to insipid design.

If there is value to designing something that is hard to implement, by all means do so. I don't object to that.

But when there are two designs that are equally good, start with the easier to implement one. If you know how to code, then you'll have a sense which one that is. If not then you'll consistently make things unnecessarily hard to do.

In my experience, that's not how design works. You don't "start" with any design. Eventually you whittle your way through a bunch (100s?) of bad designs to something you want to spend the effort to perfect.

And at this point, I agree. If you know how to code you can use the principles of practicality to guide your final decision to a design that fits the medium.

But I'm always starting with pen and paper drawing things that could never exist in your browser. I think it's integral.

I think it’s odd that some Web Designers can’t code their own designs[…]

How can I make a `0_o` take up half a page? Oh, right, HTML is sanitized in HN comments.

Who dare call themselves anything shorter than "Graphical Designer for the Web" and not be able to mark up, not even code, but mark up their own designs?

Many people view code as a restriction to a designer but when I learnt to code I found it liberating. Far from being a restriction, it opened up a whole new realm of creative possibilities.

Code is language. Code is math. Code is both, and none of the above.

Code is a natural extension of thought, same as with language and math. It belongs in the same category as these two. I think everyone should code, it'd do much good to absolutely anybody doing anything anywhere where their job includes using gray matter.

I think the biggest reason designers should learn to code is this:

Knowing how to build a web page lets you begin to grok how the web works. A better understanding the medium will produce better results, in general.

In practice, however, in a startup working on an app of sufficient complexity, it's not scalable for the creative to be designing and coding at the same time. More time spent fidgeting with HTML means less time iterating on UX and aesthetics. At some point, someone needs to completely own the design.

My personal experience is that a prolific dev team will easily backlog you with features that need UI. I often have to run with my first or second mock-up because time is so critical.

All that said, I can't agree more that designers should learn to code. Print isn't dead yet, but at some point it has to get there. Being fluent in new media is about survival.

The combination of a designing in Photoshop (or whatever software you use) along with HTML & CSS is greater than the sum of their parts. Many people view code as a restriction to a designer but when I learnt to code I found it liberating. Far from being a restriction, it opened up a whole new realm of creative possibilities. Basically, learning code made me a much better Web Designer.
Personally I prefer a designer who understands code but focuses on design. Designing and coding are both full-time professions when you work at a high level. Focusing on one of them allows you to achieve better results in the field.

A good process can ensure that designers and developers find solutions together that both look great and are reasonable to implement. Main thing, as with many things, is just good communication and an open mind on in all sides.

Same way that a printed designer doesn't own and control the printers that the final designs are printed on. However, they do understand the properties of different types of paper and effects of different printing techniques.

I would say coders should design, too.

Sure, they don't have to be great designers (much like designers don't need to know anything more than HTML and CSS).

However, a good programmer can create really bad software if they don't know anything about design. Many of the same "reasons" from this article can be applied to programmers designing, too.

I would disagree. There are a lot of different kinds of coders out there, and many should not waste their time learning anything about visual design.

For instance I find myself in back end roles. Take my current job. That is a mix of analyzing software for what needs to be monitored, writing said monitoring, and fixing or escalating when said monitoring indicates that something has gone wrong.

Nothing I do comes anywhere near anything resembling an end user. So what point is there in my learning about graphic design?

On the other hand every good person I know who does front end development also knows something of design. If for no other reason than to establish a common language with the designer.

But taking your point one step farther, I think it is important that everyone learn something about the jobs of the people we interact with every day.

I hated his architecture analogy and I commented on that post as well:

A real architect can build his design. An architect has to learn to build before she learns to design.

I just think that's a profoundly different thing

I learned to code before I took up the design end. I always keep in mind in how to code the site when I design, and it makes an over all trouble-free experience when I get to work on the code. But I learn all the time that a simple design aspect can be a bear to code, something that I wouldn't think about if I didn't have to code it.
Does HTML+CSS really count as coding?

When I read the title I assumed it referred to HTML+CSS gurus and why they should learn javascript + some server side languages + databases.

Yes. You're assembling sequences of characters which tell a computer to do something. Those characters are then processed by a lexer and a parser, turned in to an abstract syntax tree of some sort and used to generate a result. Just because the languages you are using are declarative rather than procedural doesn't make them not "code". And if you're writing code, I'd say you're coding.
If you want to be that technical, writing this comment is "coding". I'm encoding into English sentences, and you, the reader, decodes into thoughts. Designing in photoshop is also coding. The designer encodes the "look" of a web site into an image, the image is then decoded by the user in that the design "makes sense".

I'd say a more logical cut off point is between presentation and business logic. Presentation includes html, css, photoshop. Business logic is server-side scripting and databasing.

So, who shouldn't learn to code?