Grow your CSS skills. Land your dream job.

Do You Need To Be a Good Designer AND Coder?

Published by Chris Coyier

This question was sent in by Greg Arndt.

Is being proficient in both design and coding fairly common in web design or is a person usually better in one rather than the other. I find my trouble is that I can code easily, but have an extremely difficult time designing a website. If it's common to be good in both and typically do both in a job, any suggestions on achieving knowledge in the other field? Not only would I love to learn how to design better, but find it rather enjoyable when trying.

Ideally you should be a skilled designer, crafty coder, usability expert, customer service saavant, basket weaving master, be able to drive an 18-wheeler, sing in three octaves and if you have some extra time, learn to prepare Fugu so it won't kill you.

But, if you just don't think you can pull all that off, I think it is much better to get really good at a few things than it is to be mediocre at lots of stuff. If you are looking to advance your career, it's going to be a lot easier to get a new job or move up at a company if you are super good at PHP. Or, you have a killer portfolio with stunning work in it. Not many companies out there advertising looking for a "jack-of-all-trades". In reality, that might be what they need, but that's almost never how they hire (in my limited experience).

That being said, I feel like if you are shooting for "web designer" as your career, you really should have a good eye for design, be good in Photoshop, and know HTML/CSS. That's what I consider a "web designer" to have as a skillset.

We are talking purely professionally here though. More importantly you should do what makes you happy. If you are way happier being a jack-of-all-trades type than a narrow-focus type, than you should do that! To be perfectly honest, I see myself as more of jack-of-all-trades, which I feel has been a bit limiting for me, but I'm quite happy doing it.

The most important skill of all? Be a nice, genuine, honest person!


  1. Permalink to comment#

    I find that while I’m an expert in PHP, I don’t really have a good eye on web designs (specifically color schemes and graphics). So you could call me a narrow-focused person. Nice writeup – glad I’m not the only one who’s great in only a few areas of the web development world.

  2. Permalink to comment#

    I am on the other hand, quite skilled at html / css coding, I understand some design though I don’t have enough experience and know-how to do it myself. I find it amusing trying to design a freelance job occasionally, I wish it happened more frequently though. I would be happy if I could get more skill in programming safe, modular, accessible, usable and attractive applications, I would hit one of my personal goals! I’d be probably 60 by then :(.

  3. Nice question to answer and well answered.
    I find myself better at the coding side of websites, xHTML and CSS and proficient at server side scripting, PHP, but I much prefer design.
    In the past Ive had development jobs and still do get PSD to xHTML work but I’m definitely moving towards design where my true passion lies.

    So in that respect I will hopefully be able to design gorgeous websites and slice/code/script them if needed but hopefully not. But its not something I’d openly say to all possible clients as they could end up shifting you to code after seeing you are good at it.

    I’d expect all web designers to know how to slice a website and get it working as a static website in several browsers over the next few years as it can help lighten the load on developers and give freelancers more work per project. But at the moment many only know design or development which I think restricts them if needed.

  4. Permalink to comment#

    I work in an environment where I am the sole web guy with two designers so I find myself doing a lot of production style of work. Slicing PSDs, coding everything. This usually requires a small amount of photoshop work. On occasion I get to break the mold and use some creativity. I personally find work becomes very monotonous when I’m not involved in the design phase. So during the stretches when we’re busy with a lot of web work and I can barely keep up just doing the production work, I have to have a creative outlet, even if they’re personal projects like redesigning my own site, or designing a site template.

    I think you’ll find a lot of companies that have multiple web people have different levels. They have web designers, who are front end people, typically designer, html, css, and javascript. They have web developers, typically back end people, php, mysql, ror,, etc. Many also have web production, these are the people that take another person’s design and codes the front end of it.

    I think most web designers start out as web production, and this process really helps people learn design. When I start a new project I usually take some time and browse competitor sites, and galleries like cssmania, bestwebgallery, etc. Learning what works and what looks good is the starting point.

  5. Permalink to comment#

    I’ve actually been in an interview where they asked “So, are you a designer or a programmer?” And well, I’m neither. I’m not the greatest graphic artist on the planet, nor do I write the most elegant code ever seen. I answered by saying “I’m a web developer, I am confident in my design skills using tools like Photoshop, but I am also comfortable writing HTML/CSS, Javascript/Ajax, PHP, .NET, and SQL.” I always describe myself as a web developer, I feel like that sort of encompasses the “jack of all trades” mentality – I can do graphics, and I can create stored procedures, but where I really excel is making it all come together as a good looking and functional web site/application.

  6. This is one that I’ve been thinking about a lot lately. Back when I first started as a web designer (almost 10 years ago) a designer was exactly that. A designer. There was no requirement to code at all. I’ve always been a big believer that you need to know the capabilities and limitations of what you can produce on the web to be a good web designer.

    I think these days however you do need to be able to code and you need to be a good coder at that. However, I agree with Chris, you need to recognise your strengths.

  7. Permalink to comment#

    You are not a good designer? don’t design.
    Find a good designer who is not a good coder and together you’ll build great websites ^__^

  8. I started to code when I was really young, so I always felt comfortable with it. Learning web languages (PHP, HTML, CSS, SQL,…) was pretty easy for me. For the design part, I had a long run to do in order to catch up, and I’m still not at the point I want to be. But there are lots of good ressources out there (like the “tuts” sites from Envato) to learn the tools. In my opinion, you have to know the tools (i.e. Photoshop, Illustrator, etc.) to be able to let the creative juice come out.

  9. Permalink to comment#

    Very good question. I do agree that the specialization is quite better but i also think that we should never close doors to other languages, skills and profiles. Actually i’m a front-end engineer using css/xhtml, javascript at my work but at my other job i was a pure php programmer (for almost 2 years), so i think i got quite skilled at both groups: back-end and front-end. I think that this helped me to have a very wide perspective of web programming, that lets me analyze better the projects. Actually I still program php at home, working with my social network (see link at my nick). My conclusion: Specialization is cool, but being flexible.

  10. A good balance between coding and design is what makes us freelancers (or employees!) valuable assets to clients and employers, but there’s no denying Chris’s point…do what makes you happy first :)

    Thank you for the great Q&A!!

  11. Daniel K
    Permalink to comment#

    I’m a web developer, and my design skills are lacking. I’m a wiz at XHTML/CSS. I’ll say this to the initial question though.

    It’s not always a matter that your good at both sides, it’s that you understand both sides. If your a designer can you look at a bit of code and understand what it does or know where to look for the answer? If your a developer can you give an honest critique about a design (neon pink does NOT go with barf green) and convey that opinion so that you and the designer can come out with what your aiming for? Without naming names, there is one lady in my area who is a designer. That’s all she does is design. If she wants a major amount of code (php,, etc) then she hires someone else to do it. She’s knowledgeable enough though to tell the person what she needs.

    Now if you can do it all (and drive an 18-wheeler) then you’ve opened yourself up to more opportunities inside this crazy job market.

  12. Permalink to comment#

    At the studio I work for first I did only print, then only web development, and now all I do is design and I think this is where I will stay.

    For personal projects that aren’t through the company, I am a jill of all trades! My php skills arent expert, but I get by knowing the bits that I do and reading up on!

  13. Going to have to say that you assertion the marketplace isn’t asking for both of these skill sets is not entirely accurate. Have you actually looked for a job lately? My experience over the past 8 months has been that employers are very much asking for web developers that can code with extensive abilities there, as well as be photoshop wielding creative design creatures. (of course those specific words are not in their job postings!)

    Now this is just my personal belief based upon my observations as I was searching for a new gig, but I’ve felt this way for a number of years now, and think the job postings tend to support this.

    What skill sets and whom gets hired? Couldn’t tell you as I never really made any traction with any of those possible jobs. Perhaps someone that’s gotten a gig where they were asking for both sides of the fence could chime in?

  14. Kyle
    Permalink to comment#

    Oh man, good thing I am a skilled designer, crafty coder, usability expert, customer service saavant, basket weaving master, able to drive an 18-wheeler, sing in three octaves and if you have some extra time, know how to prepare Fugu, and a ninja master!

    Looks like I’m set……

  15. Permalink to comment#

    To throw another wrench in the works, I work in higher ed and my official title is “web content specialist” and I was hired because I could write web content; they taught me the coding (HTML/CSS) and I’m teaching myself design. My next step is learning a js library, like jQuery, so I’ll have my front end skillz down. But don’t discount the content part – if you can write well, it’s simply another arrow in the quiver. Content is the reason why people go to websites in the first place!

  16. Permalink to comment#

    I’ve spent the majority of my career honing PHP skills, but I’ve always been artisticly inclined (art, music, etc.). I started out in web development because I was in a band that needed a site, and over the years I rebuilt that site about a dozen times, built a site for a friend, and started rolling.

    Now I live off of strictly freelance, and I can’t imagine trying to freelance if I wasn’t a jack of all trades. I may not be winning awards, but I’m staying busy, and I haven’t hit a project I couldn’t tackle yet.

    So, personally, I think knowing design AND coding is essential to my business, and I would highly recommend it to anyone who has the time to learn.

  17. Peter K
    Permalink to comment#

    Speaking as a jack-of-all-trades – I have found over the years, that while companies will advertise for specific roles – they do have a tendency to change tact when they get people in the door. A former employer hired me to “build” his company’s website – no sooner had I started, he was onto me about getting content, 3rd party news sites, CMS systems, and much more, that was beyond the scope of work we had discussed.

    Even now in my fulltime role I considered a team lead, department manager, lead UI developer, nanny to the junior dev/design people on my team and all round “yes” man…hmmm think its time for a raise :)

  18. Permalink to comment#

    sadly i have to agree that the job market is looking for people with all skills, not just folks who are good at one thing. i like to call it the walmart syndrome. it’s unfortunate because you’re always being pulled in different directions… and then you have to drive the 18-wheeler.

    it’s seems as if we’re willing to settle for mediocrity and could care less about work that is done well, forget getting something that is spectacular. although i do agree that having a good understanding of both sides of the fence is always a good thing, you’re never going to be really great at everything. and you shouldn’t be expected to.

  19. Permalink to comment#

    This is always a tricky questions because most jobs I come across list every skill under the sun as a requirement.

    I started off as a designer but have a good understanding for coding. I consider myself a jack-of-all-trades with mastery in a few; but what I am really good at (with 15+ years experience) is seeing the big-picture and pulling everything together.

    What bugs me is that employers/clients list every programing language and every design tool as a needed skill and then use it as a bargaining chip to reduce the salary/rate if you lack a few of those skills.

  20. Thank you anamika! I wanted to put that into my first comment, but figured I’d just risk Chris’ ire! But I totally feel the same way. And it’s really frustrating unless you do have your 18 wheel truckers license!

  21. Brian K
    Permalink to comment#

    That’s a great question and prefect answer!

    I consider myself a Jack-of-all-trades dude with exceptional customer service and social abilities. I accept this because I’m happy and will never work in a Firm enviroment. I feel people find me more interesting because I can do everything. Not perfecting 1 thing. I think this is the most limiting and obvious drawback to individuals.

    I think you have to be brave and wise to be “JACK”

  22. Permalink to comment#

    Good question yes. I’m a “Jack-of-all-trades” too, and I think I have goods skills in design and coding.
    To be honest, I’m really proud of me when I see that I’m better than “focused” designers or developers in my company :)

    I am still young so I am interested in lot of things, in the art, the creation of site generally, SEO, marketing… for me this is really important, it permit to have a global vision of projects.

  23. Patrick
    Permalink to comment#

    Haha, I can sing in three octaves.

    Does it sound very good? Well, that’s up to whoever’s listening XD

  24. Josh
    Permalink to comment#

    I’ve been really bummed about this very topic lately. I live in a big/small city. Its not a small city, but at the same time, its not New York or Chicago. I feel like everyone in this town wants the jack of all trades. They expect you produce both. Well, this is really if your a designer. If you are programmer than you don’t need to know how to design, but if you are designer, than its expected that you are a master at html, css, js, php. The html and css don’t bug me, its the others. I mean, js is cool, but it really throws me for a loop. I’m constantly bummed out because I just feel like I can’t keep up with it all. On top of all of this, we are supposed to be masters at Flash and actionscript and video. I’ve worked for several companies, some big and some small, and in this area they expect you to be amazing at everything.

  25. Permalink to comment#

    Specialization is the best way. I’m CSS/XHTML guru, but design is something that I’m not familier with. So design is on my wife ;)

  26. I started in the web as designer, but I didn’t work for a company. I was just doing designs and building websites based on those designs myself. So I learned html and css from the start. I would consider myself a fairly good designer but more so an XHTML/CSS guru. I’m not so great at coding, but time and more work will change that.

    If you want to get better at something, do it and a keep doing it. Research and understand it. Copying won’t work:)

  27. As a small web design/development company its ahrd for us to be too specilaist is our skill sets. I guess it depends on the scale of your operation. Ideally you would have a team of specilists.

    We get by quite well though with PHP coders and CSS designers. Both really need good HTML knowledge but thats more of a right and wrong situation rather than an art.

  28. Permalink to comment#

    I find that the more skills I hone, the more I can stay busy. Not every job requires a redesign, maybe just a few new pages made, or new content written. Some just need a template designed, or new functionality written. I’m constantly juggling skills and learning new ones.

  29. Martin
    Permalink to comment#

    what i am thinking lately is that all those ajax and related things are pretty much design job, since it has a lot to do with interaction, interface and design, the vision of motion what we want to put into life

  30. Martin
    Permalink to comment#

    still it’s closer to coding… but it will be really annoying to strictly guide a developer to do what you exactly want. what do you think? i’d like to see other people opinion. sorry for the split post

  31. I’m in the same boat. Show me a PSD site mockup and I can code afunctioning site in no time. But ask me to do the layout and make the sparkly graphics and I’ll be stuck staring at the blank page for days.

    I would highly recommend Principles of Beautiful Web Design by Jason Beaird from Sitepoint

    It manages to break down the design process into logical steps that are more friendly to a coder rather than an artist. It’s a great way to get to know the other side. After that it’s pretty much up to experimenting and trying things out. After all, I’m sure coding didn’t come to you all at once without any experimenting. So why should visual design be any different?

  32. Juan Gotti
    Permalink to comment#

    I could be described as a “jack-of-all-trades” because I love to learn everything I can and I like to be the best in everything even if it’s not always easy.

    I have a degree in Marketing and Graphic Design, but work as a Production Manager on a Web Company. In my experience I have been involved in several projects and I can honestly say that being a “jack-of-all-trades” in a real company is not the best thing to so and I’ll tell you why:

    Normally a regular company handle several projects at the same time, and if you are the one doing every part of the project (XHTML, CSS, Javascript, PHP, etc.), that means, wont be able to work on any other project, slowing the workflow and affecting the company’s production.

    IMO it’s good to be a super duper designer/coder but not very helpfull unless you’re a Manager or a person with a higher position and you’re involved in every project and in every part of ‘em.

    I hope I’m making myself clear. I have 36 hours straight of NO SLEEP


  33. Permalink to comment#

    Does this sound familiar? You sit down to do what should be a 2 hour design job. Then spend 3 hours searching and reading through Photoshop tutorials trying to achieve a specific effect and another 4 hours “designing” only to come up with a mediocre product.

    Are you billing for this time? You probably shouldn’t be. If you are a good coder then you’ve just wasted about a days worth of billable time. Pay a good designer to do what they do best and you stick to what you do best.

    Both you and your client will be happier in the end.

  34. Being a “Jack of All Trades” allows me to develop a timeless skill-set. That is, no matter what technology needs to be used I have the base knowledge to get my hands dirty and get the job done. This has been incredibly valuable to my clients.

    Diversity is the spice of life.

  35. Martin
    Permalink to comment#

    @33 I was thinking about this lately, thanks for your point of view, made me thing about it. But what about time spend for reading about your stuff?

  36. I think it’s obviously quite beneficial to be able to design and code. If you have the capacity to do both you probably have a leg up on some of your competitors. That being said… I’m a firm believer that if you become an expert in one thing youre much more valuable than being decent at 10 things. many people need the services of an expert constantly. so if youre having trouble learning to design, or learning to code, i would seriously think about jumping off the deep end in the area that youre good at. learn literally everything there is to know about CSS. become an expert at poster illustration. you get the idea.
    i myself do both. but the grass is always greener and i sometimes wish i could focus on just one thing and invest all my time in it hopefully becoming a household name with that one thing.

  37. Permalink to comment#

    I love having the option to work on both sides – Sometimes the creative juice just doesn’t flow: no matter how long you stare at gallery sites and play Pink Floyd… I find it’s at times like those that switching into left-brain mode and doing some complex programming is just what’s needed. (Or is that right-brain…?).

    And it works the other way around – Sometimes I can stare at my own lines of php or ajax and it turns into meaningless spaghetti before my eyes… It’s at those times when immersing myself in Photoshop works wonders and the creative side flows.

    Yin … Yang … I need them both.

  38. In my opinion, you have to know the tools (i.e. Photoshop, Illustrator, etc.) to be able to let the creative juice come out.

    I started out as a print designer, now do web design and have taught myself html and css, but no means a guru. But the idea that if you learn how to use the tools, that will spark the creative/design is backwards.

    Design solutions start from a concept, and from understanding the basic principles of design, like rhythm, balance, hierarchy, etc. All too often, clients are looking for someone with a pair of hands and software licenses to execute their “design” because that’s what they think design is. Thinking this way does a disservice to designers. Design is not mastering the latest Photoshop effect/look/filter.

  39. Hello, I am responding to the Website needed, we can definitely assist you, please contact us at 602-404-4444 or visit us online at

This comment thread is closed. If you have important information to share, you can always contact me.

*May or may not contain any actual "CSS" or "Tricks".