Do designers need to learn to code?

Do designers need to learn to code?

Often, after a web design is completed, the designer ’s ignorance is exposed and they are criticized. They left the heavy lifting of creating web page code to programmers. This phenomenon is not only seen in the web development industry, but also in the software and game development industry.

The harsh truth is that development progress can be stalled by designers. In pursuit of optimal efficiency, designers not only need to draw, but also need to be able to make it! In this article, I want to share with readers some reasons why designers need to learn to code.

Make realistic and feasible designs

With a clear idea of ​​how the final product will turn out, designers will come up with more realistic and workable concepts. As an integral part of the development process, designers are tasked with ensuring their designs transfer smoothly to the web medium, taking into account usability, web accessibility, and implementability. A user-friendly website not only has a clear and concise browsing order, but also provides users with all the information they need without appearing intrusive or cluttered. The only way to know if a web layout is feasible is to learn how to build a web page yourself.

Make communication easier

In almost all products where design and implementation are separate, the design and implementation groups never meet each other's expectations, especially those intangible products such as websites, software, and games. This usually comes down to a compromise between product expectations and product feasibility , which currently seems difficult to achieve perfectly. The solution is that designers should personally try to realize their designs to avoid confusion, misunderstanding and miscommunication.

Convenient iterative development process

A design in practice should not be absolute. What I mean is that the design should be flexible and friendly, able to be modified to cater to the technical limitations of the system without distorting its original meaning. These repetitive but necessary changes can only be made by the original designer . A designer/developer can be more efficient than a developer taking the design back to the designer for changes. And there can be — and often does — friction between designers and developers.

Better and more harmonious results

I often like to think of software, network or game development as an orchestra, with designers as composers and developers as conductors. Imagine if these two were the same person? The symphony will be stunning, enchanting, and pure! Not only is it a masterpiece by the master, but it was also directed by him personally!

Shorten development time

The fact that designers also play the role of programmers means that the progress of design and coding is sequential, if not simultaneous. The result is a shorter development cycle - who doesn't care about efficiency?

Designers are more market-oriented

Modern designers need to improve their abilities to maintain their personal value. Having a set of skills is far from enough. We often need to wear different titles: designer, front-end developer, article writer and project manager.

By learning to implement your own designs, rather than letting them become orphans in the hands of developers - you increase your own value. After all, it can’t hurt to mention design and coding skills on your resume. On the contrary, in this era of financial crisis, with corporate restructuring (see: mass layoffs) and cost-cutting, it is possible to emphasize one's importance without getting fired.

However, even with all these reasons for designers to learn to code, there are also some objections.

Quoting Lukas Mathis’ controversial article “ Designers are not programmers ” ( note 1)

If a designer implements his own design, he is constrained by two different goals: clean code and good user experience. These two goals are contradictory. If you were to implement your own design, you would inevitably compromise on the quality of the code, which is not conducive to interaction design.

Designers who implement their own designs face two problems: they know that a great new idea will create a mess of code, and they also know that if they improve the user experience, existing code will be disrupted. The two are at odds with each other because user experience is all about the small details, and those small details are ultimately ruined by their reluctance to clutter the code.

This aptly sums up the hardline stance taken by the "Web development purists." They are old school and advocate for a clear distinction between design and development. Obviously, designers create for humans and developers create for machines. Therefore, UX designers should design the best possible user interface and let developers make the best possible programming decisions. While there is some truth to this, when I was working on a user interface, my efforts to find inspiration in code were often unsuccessful. In general, it is helpful to have a correct understanding of the technical and usability limitations in mind.

Final Thoughts

Ultimately, the scale of the project being developed may ultimately determine the roles of designers and developers. A small application can be managed by a project manager ( Note 2) , but a large system will inevitably require different professionals!

Note 1   Mathis-Lukas——“Designers are not Programmers”——ignore the code

Note 2   Spolsky-Joel - Describing a position called "Designer-Programmer" - "How to be a program manager" - Joel on Software

The author, John Urban, is a sophomore at the University of California, San Diego, majoring in computer science.

English original   http://sixrevisions.com/web_design/why-designers-should-learn-how-to-code/

<<:  Docker volumes file mapping method

>>:  Front-end JavaScript housekeeper package.json

Recommend

Detailed tutorial on installing nacos in docker and configuring the database

Environment Preparation Docker environment MySQL ...

mysql 5.6.23 winx64.zip installation detailed tutorial

For detailed documentation on installing the comp...

Velocity.js implements page scrolling switching effect

Today I will introduce a small Javascript animati...

How to get form data in Vue

Table of contents need Get data and submit Templa...

Steps to deploy ingress-nginx on k8s

Table of contents Preface 1. Deployment and Confi...

Is mysql a relational database?

MySQL is a relational database management system....

How to set up virtual directories and configure virtual paths in Tomcat 7.0

Tomcat7.0 sets virtual directory (1) Currently, o...

Detailed tutorial on installing Tomcat9 windows service

1. Preparation 1.1 Download the tomcat compressed...

Ten Experiences in Web Design in 2008

<br />The Internet is constantly changing, a...

How to open external network access rights for mysql

As shown below: Mainly execute authorization comm...

How to create a trigger in MySQL

This article example shares the specific code for...

Native JS to implement breathing carousel

Today I will share with you a breathing carousel ...

Using CSS3 to implement font color gradient

When using Animation.css, I found that the font o...