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

Analysis of the locking mechanism of MySQL database

In the case of concurrent access, non-repeatable ...

The difference and usage between div and span

Table of contents 1. Differences and characterist...

Vue uses OSS to upload pictures or attachments

Use OSS to upload pictures or attachments in vue ...

How to create, save, and load Docker images

There are three ways to create an image: creating...

Docker generates images through containers and submits DockerCommit in detail

Table of contents After creating a container loca...

MySQL 8.0.12 installation and configuration method graphic tutorial

Record the installation and configuration method ...

Nginx operation and maintenance domain name verification method example

When configuring the interface domain name, each ...

JavaScript custom calendar effect

This article shares the specific code of JavaScri...

mysql create database, add users, user authorization practical method

1. Create a MySQL database 1. Create database syn...

React and Redux array processing explanation

This article will introduce some commonly used ar...

Brief analysis of the various versions of mysql.data.dll driver

Here is the mysql driver mysql.data.dll Notice: T...

Docker starts in Exited state

After docker run, the status is always Exited Sol...

Mybatis fuzzy query implementation method

Mybatis fuzzy query implementation method The rev...

Share the problem of Ubuntu 19 not being able to install docker source

According to major websites and personal habits, ...

How to handle MySQL numeric type overflow

Now, let me ask you a question. What happens when...