3. Should Designers Code?
You may have already seen a ton of articles on this subject, but it’s still one of the most popular questions I get from aspiring designers. I want to take a chance and share with you my view and some reasons behind my “yes and no,” because there is no cut and dry answer to this question.
Here’s a little of my own backstory so you know where my opinion comes from…
I actually started my career as a web developer and converted into a designer later. In the beginning, I was coding my websites using HTML/CSS, JavaScript, and PHP. All design work happened right in the browser and it was really more like “styling” than designing.
I always enjoyed the creative part of building websites. I experimented more and more with different CSS techniques to make my websites nicer until I discovered that I can actually pre-design the entire layout in Photoshop.
That changed everything for me. I fell in love in Photoshop and started creating more advanced designs, which were also more challenging to code. I was becoming a better designer and a web developer.
I have always coded my own themes from my own designs. I never coded someone else’s designs, but I often designed only and passed the project to a developer simply because I enjoy designing more than coding.
So, I never really had to decide if I should code. It was always a natural part of my work. However, I understand the dilemma and to help you make the decision I listed some pros and cons of each side and my conclusion is at the end of this lesson.
Why “No”:
-
It’s just too much to learn.
Let’s be honest, learning just design is already overwhelming. If you want to learn how to code websites, you’ll need to at least know HTML/CSS and JavaScript. If you want to code a WordPress theme, then PHP is necessary as well. While it’s not all that difficult as it may seem, it can be too much for you if you’re just starting.
-
You may not be able to make the highest quality work.
It can be difficult to focus and create good quality work if you spread yourself too thin. You may not be able to refine your design skills if you start switching your attention to learning how to code it. It can also be limiting if you start designing only what you can code, and you code only what you can design.
-
You may not like coding.
I like designing more than coding and whenever I can I always choose to only design and pass it to a developer. If you don’t like coding, don’t push yourself too hard on it. You can’t be good at something if you hate it.
-
You don’t need to code.
You can be a great designer and never touch any code in your life. There may even be fewer designers who code in the future, and companies will be OK hiring specialists knowing they can pair designers with developers in small teams. Also, there are more software and tools that can automatically convert designs into code.
-
You want to focus more on different things.
You could be more interested in learning more about design and exploring other areas like UX, product design, content strategy, or maybe even marketing and copywriting. Those are all very important and useful skills that can help you unlock some new possibilities.
Why “Yes”:
-
There is a high demand for designers who can code.
Good designers who are also good developers are very rare, but the demand is high. If you’re a freelancer, a lot of companies prefer to deal with just one contractor who can both design and code.
-
Coding isn’t that hard.
Everything new is scary. There are a ton of programming languages, but you don’t need to know all of them. Like I mentioned before, learning code isn’t really that difficult if you focus only on what you need. You can start with just HTML/CSS in the beginning and slowly move forward from there. HTML/CSS isn’t really even programming and is an absolute must-know for all web designers.
-
You’ll become a better designer.
Knowing how the code works will help you better understand the web technology and all the constraints that come with it. Even if you don’t code your own designs, you’ll start designing in a way that is much easier to work with for developers. Your design may also be much more efficient by choosing more practical solutions. Developers will love you and will want to work with you.
-
You can offer a full web design and development service.
This is really helpful when you’re starting your own freelancing business. I started mine by doing a lot of websites for small local companies where they didn’t require high quality work, but wanted a complete solution. As I was still learning both design and development, I could provide what they needed. It would have been much harder to sell only a design service or try to outsource coding and sync schedules with another freelance developer.
-
You can create your own products.
If you’re thinking about launching your own products, you can bootstrap anything by knowing how to both design and code. Even if you’re not a great developer, it can help you to at least create a working prototype or MVP (Minimum Viable Product) and validate the idea before investing more money.
-
You may discover that you like coding more than design.
Just like you may discover that you hate coding, you may actually fall in love with it! You never know until you try.
So, should you learn to code?
I think it all really depends on where you are right now and where you want to be.
I believe you should learn how to code if:
- You can’t find a job as a designer and you want to add some valuable skills to your resume.
- You want to bootstrap your own product business.
- You want to stay a freelancer and offer a full service package to your clients.
- You want to be more independent and code your own projects.
- You want to make your deliverables more developer-friendly.
No matter what route you choose, if you want to design for the web, you should at least understand some basics of how the code works. It’ll definitely help you become a better designer and communicate more effectively with developers — which is essential to having a successful project.
I’m not currently planning to add a complete coding course to this Design Class, but I’ll share a lot of HTML/CSS code snippets when we learn about typography, layout, and colors that you can use if you already know some basics.
I think learning design while seeing how it is done in HTML/CSS code will help you understand some elements and limitations of designing for the web.
If you’re interested in learning more about coding, here are some websites where you can find some interesting courses about HTML/CSS, JavaScript, PHP, and WordPress development:
Minhajul Islam says
Thank you for your perspective on this. I was really undecided whether I should learn coding and design. You solved my dilemma. It seems I love to have full control over the website- from designing to coding to launching and I love both. So I decided to do learn both. But first I will start with design.
Hashim Warren says
“HTML/CSS isn’t really even programming”
That’s fair. But Javascript and PHP is a must if you’re making WordPress themes, no?
Rafal Tomal says
> “But Javascript and PHP is a must if you’re making WordPress themes, no?”
Yes, if you want to create your own themes. If you want to just customize the look of an existing theme, you can do it with HTML/CSS. Some designers provide only HTML/CSS files and developers implement it in using whatever system they want.
Also, file-based content management systems are more popular now and they will turn your HTML/CSS into a manageable website. See: https://www.vapid.com/
Carlos says
I like the role of frontend designer, between the design and the code, as Brad Frost tells on http://bradfrost.com/blog/post/frontend-design/.
It’s not very spread as a job role but I think it describes very well people attracted for both worlds.