Web designers should learn to write code
It started with a tweet from a designer who showed his disdain for the new generation of web designers who can't even write any HTML code. His tweet grew into an explosion of replies, retweets, blogs, comments, and debate on this subject. Both sides chimed in speaking of how he's right and others on how he's wrong.
I myself subscribe to his beliefs. I can't imagine doing web design without the knowledge that I've amassed in coding and just simply "how things work". I've borne witness to many incidents where a lack of knowledge in code on the part of a designer has ended up making a project into a large mess.
Remember "The Homer"?
I don't know if any of you are Simpson's fans, but back in Season 2 (1991), the episode Oh Brother, Where Art Thou? featured Homer Simpson playing lead designer for an automotive company. The situation where he came up with his monstrosity (aka "The Homer") is quite similar to when a designer with no real knowledge of code tries to design a web site.
I've read articles and blogs from developers who were shocked that a designer handed them a 300 DPI Adobe Illustrator file and expected them to build a site from it. I've seen instances where you have a designer putting in large images and loads of styled fonts, but on the other end the client and possibly an SEO expert are complaining how the website needs to be picked up by search engines. Meanwhile, the VP or Creative Director is simply screaming "I don't care...make it happen!"
This has been a story I've seen played out over and over. The typical story of a design handed to a developer who then hands it back with a short or long list of reasons why this design won't work for the goals that were set. Likewise, I've seen other occasions where creative departments were taken for a ride by some shifty developers because no one could really question the how or why in terms of what was being built, the timeline, or the price.
It's hard to talk "tech" when you can't speak the language.
Why you should learn to write code
I can't imagine why anyone wanting to work in web design would not want to learn. I can fire off a number of reasons right now:
You will better understand how the web works. I know some designers and Creative Directors hate this ideology of where you design based on what can be done rather than "pushing the limits". I do agree to an extent and will tell why in a bit, but I also think it's ideal to think about how this website will be built as you design it. I'll think about if I want navigation pieces to be styled text or images, what kinds of functions I'd want in place and where a developer can get those scripts. You push to keep up with new discoveries and thus will think about putting them into your own work.
You can explain and justify your choices in design. The best example was when a developer was going to build a site using Drupal as the back-end platform. He looked at my design and came back to me saying he can't put in rounded corners on some of the content areas. I simply pulled up and emailed him a blog article I found on how to do those rounded corners in cross-browser CSS. Even now I'll hand over a short list of links to scripts and sites showing functionality examples and code for items I put into my design, so there are no curve balls and no excuses.
You can make more money in freelance. Let's be honest, clients who hire a freelance web designer aren't paying for just a design. They want a fully-working website, and aren't going to shell out the money for a designer and developer. Not when they can find an "all in one solution". We're in the age of clients wanting $500 work off freelance websites, and foreign competition making that price happen. Are you ready to split up an already lower wage with someone else? What if the developer wants a bigger share, claiming it's more work on his end?
Many new systems are being built outside of a designer. From something as simple as a Wordpress site to as complex as a multi-faceted content management system, I'm watching more work bypass creative departments and go directly to developers. I'll see Creative Directors grumble how a project was done without bringing in the creatives, or how the only creative request is the client's logo as a jpg in a certain size.
This is part of the future, and to know how to code means you're not the one who gets pushed out, but instead invited to sit at the table and have a say on why you think a better design should be utilized...as well as how to make things work from a functional standpoint.
You can call out shady developers. I mentioned this before, but I still see it happen. I'll see a job that is honestly worth $1000, but a developer is quoting a $5000 price tag because the client doesn't know any better. I'll see developers push an inflated price tag and timeline for a job that only should take a few days, so they spend all that extra time playing video games or what not. I'll see plenty of amateur developers simply install a Wordpress site with a pre-made theme, and then charge a client a larger sum for nothing.
With a knowledge of code, you will know how long a task will take, and what is a realistic price. Even if you want to outsource your own web development to someone else, you can still find the honest ones from the shadey ones, and thus not hurt your bottom line due to ignorance. You will also be seen as the resident expert by your colleagues, which can land a freelancer more solid clients.
You'll make more money. Isn't this what we all want? Go look at salary listings for designers versus those of developers. Every year, trade schools are churning out more kids who are trained in the Adobe Creative Suite and some basic design. It's getting harder and harder for more experienced designers to land a good paycheck with loads of cheap competition. However, there is still a high demand for developers, and they are paid well. I know some creative houses are adamantly against hiring design/developer hybrids, but I simply see them as short-sighted thinkers who will pay a hefty price down the road.
How much should you learn?
Now I know that learning a technical language might sound like a horrible headache, but in reality you only need to know enough to understand the conversation. My own exploration into being a true hybrid designer/developer is motivated by self-interest as well as a DIY ethos I like to live by. It doesn't mean you need to run out to learn hardcore programming.
If you really don't want to write code in life, then just learn and keep up with the best practices in HTML and CSS. Also get knowledgeable in HTML5 and CSS3. Study some User Interaction (UI) and User Experience (UX) practices. Get to know some of the basics of Search Engine Optimization (SEO). Most of this you can learn just by following a few Twitter feeds and reading some blogs. For learning HTML/CSS, you might want to buy a book or check out a course (online or offline). If you want to dive deeper down the rabbit's hole, then get into the basics of PHP or ASP.net.
The real goal is just being knowledgeable. To know how to make solid and effective interfaces that can be built. Even if you think it's pointless and you should just bully the developers into "making it happen", think about every time a non-designer handed you a horrible brief for a project. Wouldn't you like to be able to make a great brief for the developers to make your design a creative reality?
The door swings both ways
Just like I pressure designers to learn the basics of development, the same has to happen for developers. I cannot stand it when I meet developers who smugly believe the internet would be just fine with websites being simple text and links, or generic layouts solely focused on UI/UX. I see some who believe designers made a mess of the internet and it's why information is harder to find.
I think all the complaints are ridiculous. Just because a plain text site looks good to a techie, it doesn't mean the rest of the world will be interested. Branding is still a strong priority in a website no matter if it's a general company site or a special website for a product or service. People need to see color, familiarity, and be dazzled enough by a good layout that they'll come back and even spread it around. You notice simple sites like Yahoo did evolve into well laid out designs?
The image I posted above is the website of a cafe and coffee shop in the UK. I found this site from another blog that posts what the owner believes are wonderful web designs. I follow many of these kinds of sites and even set up Pinterest to keep showing me pins of users who share what they think are great designs both in print and web. To me, this is as important as learning new MySQL standards or diving into how to make some cool effect with jQuery.
When I mentioned how some Creative Directors are not fond of hybrid designer/developers, it was because many of these hybrids tend to let their knowledge of code limit them in how they design. They'll think in simple divs with borders and nice even spacing. I personally think no matter what you know, there is someone out there who will make something new happen. This is why I'm always checking out design blogs and other resources of web layout design. Most of what I end up doing is inspired by what I see done. I guarantee one day I'll make a site that was inspired by that cafe site.
One last thought
In our line of work, one can't afford to fall behind. Believe me, I speak from experience. When the dotcom crash came in 2000, I found myself out of work and struggling with employers wanting guys who were learning ASP and JSP, not guys who just knew Photoshop and HTML. Since that hard time I vowed never to be the one left behind, and to this day I still see many end up in my past predicament. You never know where things will go in this industry, and thus you're better off being highly skilled as opposed to "easily replaceable".
What do you think? Should web designers know how to write code?