You might see the term “unicorn” thrown around from time to time. It refers to a mystical creature — that is, the perfect combo of developer and designer together in one package. As the story goes, this kind of creature is impossible to find in the wild. You’ll hear that developers can’t become designers, that they should just hire out the work to a professional designer.

I disagree wholeheartedly. As a web developer, you have a unique blend of coding skill and the ability to turn visual design ideas into reality. If you can take a comp from Photoshop and turn it into working HTML and CSS, then make no mistake, you possess this skill.

The missing piece, then, is the ability to design that Photoshop comp in the first place. It requires practice, but it’s not an impossible skill or something that people are “born” with. You can learn.

For many reasons, it’s very important for developers (web and app developers especially) to pick up a working knowledge of design principles. In no particular order, here are some of them:

1. Creativity Fosters Creativity

Writing code is a creative endeavor. There is a level of craftmanship that goes along with writing code. It requires creative thinking and execution.

Design, as it turns out, is very similar in a lot of ways. It requires intense focus, a desire to sweat the details, and yes, even problem solving skills. All the same things that software requires.

Working on design stimulates the creative parts of your brain. Writing software pulls from this same source of creative energy, such as when you’re trying to figure out the best way to refactor some piece of code.

Both of these skill sets draw from and (even more importantly), exercise the same pool of creative energy. Think of your creativity like a muscle. Exercise it by practicing both development and design.

2. Work Better in Teams

If you write software 9-5, you likely work with a designer. And even in the best of times, it can feel like you and the designer aren’t speaking the same language.

Learning more about the design process is a great way to make that dialogue easier. You’ll be able to converse on the same level, drawing from a similar background of basic principles.

It can help to immerse yourself in the designer culture. Read sites like Designer News, and follow people you admire on Dribbble. The community is different than the group of developers that you normally hang around, but you’ll notice a lot of similarities.

3. Work Better Alone

You’ve probably had this experience with a personal project. I know I have. You’ve got this great idea that you just know everyone is going to love. You build it up with the newest versions of Rails and AngularJS. Awesome!

But it looks awful. You pull in Bootstrap to try to pretty it up, but it still doesn’t look like a professionally-designed product.

Learning more about the “why”s and “how”s behind design will help you overcome this problem. If you’re a developer, you probably love finding out how things work “under the covers.” Treat design like another one of those things. Learn about spacing, and layout, and colors, and typography, and how they all work together to create a cohesive design.

It will make your projects shine.

4. New Learning Opportunities

One of my favorite moments as a developer is when I figure out why something works the way it does. The longer I’ve gone on thinking it was pure magic, the more satisfying it feels to have that moment of discovery.

Maybe you’ve noticed that those moments seem to happen less frequently as you get better at writing software.

There is a treasure trove of those moments to be had in the world of design. There are reasons behind why a certain font is chosen, or why the spacing between a heading and the following paragraph works out to be 80px. It isn’t all pure magic and artistic vision.

Not all of design is just picking things that are visually appealing. That’s part of it, sure, but designers do use logic and reasoning to make design choices. You can too.

5. Keep Your Career Moving Forward

More and more, software is differentiated from its competitors through things like user experience, visual design, and how it makes users feel.

It’s not enough to build in a ton of awesome features that you know everyone will love. They need to be delightful to use.

In order to really make this happen, the developers need to be on the same page as the designers. Doesn’t it make sense for you, as a developer, to invest some time in learning about how the designer does their job?

As you get better at design, you will have a new selling point to present to potential employers. You’ll be able to confidently say that you have worked both sides of the fence, and that you’re well-versed in the language of design. Managers will think this is great, because it means less friction within the team and less time to get things done.

Bonus: It’s Fun!

Not everything has to be about work! Building beautiful and functional designs is very satisfying, and the process can be a lot of fun, provided you have some basic knowledge.

I hope this has given you some ideas to think about. As a developer myself, it took me a number of years to realize that pursuing my interest in design was even worthwhile. There is a lot of negative writing on the web about how developers shouldn’t try to do their own design, how they should hire a real designer, and other stuff like that.

To that I say — of course you can’t go from zero design experience to grand excellence! You’ll never get better if you never even try. But there are plenty of reasons why you should try to learn the trade.

Just try to improve a little bit at a time. It’s a journey, not a race. You’ll be amazed how quickly it goes.

About Dave Ceddia

This is a guest post by Dave Ceddia, JS developer by day and blogger at designwithdave.com. Dave helps other developers get better at web design. Grab his free tips on common design mistakes and how to fix them today.