📜 ⬆️ ⬇️

Why should a programmer teach usability?

I don’t even remember how it happened that when I was working as a programmer, I began to read books on usability. It seems that the first of them (Interface-1 Golovach) found an incredibly stormy response in my soul and struck by the amount of the meaning on the surface, so important, but to almost no one of unknown meaning. Looking back, I want to share the benefits that my second area of ​​interest (still more than a hobby) gave me for my work as a programmer. I don’t know how unique this combination of skills is, but the fact that the combination of usability-programming is absolutely lethal is I guarantee you. So why should a programmer teach usability?

To write handy code. The principles of perception and usability are due to the structure of a reasonable person, therefore, they are universal for computer interfaces, door handles, electric stoves, and code. Knowing usability, you begin to see around each method, each line not only some immediate or "main" idea, but also a billion other features. Yes, some rules have already been formulated empirically in a programmer culture — the priority of code readability, estimation of the size of structural units, etc. Usability provides a systematic basis for all of this - which is more important and how much, for example.

To write a kolgo-oriented code. One of the main methods of designing interfaces is empathy, the ability to put oneself in the place of another person. Not many people from birth understand that other people are not at all, their problems, ways of thinking, criteria - everything is different. So, to write code that will be useful to someone else other than its author, you must be able to forget about yourself and put yourself in the shoes of another person.

To learn to listen and understand others. Interface designers know well that what people are saying and what they really want are two big differences. The skill to do what is needed, and not what was asked, can be developed in oneself, but here, perhaps, practice is more necessary.
')
To distinguish the important from the unimportant. Programmers have their own, egocentric view on product development, which, unfortunately, often makes it difficult to see the light of good and right things. Knowledge of usability, among other things, makes it possible to clarify some of the related “issues”: who is more important, the programmer or the user (user); who is to blame for the fact that the user can not use the function of the product (the developer); more importantly, a good code or useful function (function); Does anyone care how it all works (no, not at all, as long as it works); is it interesting for users to deal with your program (no), whether the user is a fool (no).

As a consequence of the previous paragraph: to see the place of the code in the general scheme, see the whole picture and the goal behind the clouds. For effective work, this skill is more important than any technical skills. (I, unfortunately, saw what a good technical specialist could do, completely immersed in himself).

To make the interfaces yourself. Not every time there is a dedicated designer, designers for this role are poorly suited, and in general against the background of total militant ignorance, knowledge of usability can be made a competitive skill or at least remove obvious mistakes and ensure that your expensive product is not flushed down the toilet. .

To communicate with the designer and designer in the same language. If the fortune is favorable to you and the interface is done by a professional, then the knowledge of usability from the developer’s side will help to relieve considerable tension in communication (as you know, designers and programmers are pulling a cart on radically different sides), this communication will be accelerated due to a common dictionary proven things.

To do awesome things. Usually, a designer (brain) and a programmer (hands) are needed to create a useful program (it is also desirable that one of them have a taste, but this is beyond the scope of the article). Two good people meet and work much harder than one capable of both roles. True, by virtue of radically different thinking there is a risk of schizophrenia, but this is a low price for creating something new .

Are there any downsides? You will be terribly frustrated by the interfaces and things you see around you. This is a mandatory component of progress, but you never know, maybe someone is comfortable and does not want to move anywhere. In this case, with the study of usability should wait.

Where to start, I listed at the end of my previous article Seven deadly sins of software systems, which I’m ashamed of not to notice in 2011 . Read, develop, change the world!

Source: https://habr.com/ru/post/126446/


All Articles