Programmer's brain

Published on August 24, 2013

Programmer's brain

    Thanks for the article habrahabr.ru/post/191210 ! They raised a good topic.

    I will share my experience. Below is the identical content of the first and final lectures in the training program for interns.

    In programming, in addition to computers, techniques and software from different angles, there is also such a key element as a programmer.

    Why is he the most important? Because, as many people know, most of the solutions can be created without a computer, without techniques and without software - with a pencil on paper or even in imagination. And without a programmer, you cannot create a program. Because he, the programmer, just creates the program.

    We will talk about the programmer as a decisive factor and his brain as the main tool.


    Rational use of resources


    The machine operator familiarizes himself with the design of the machine before starting work. The motorist is studying the device of the car, its mechanics and physics, at least at a basic level. Seamstress studying a sewing machine. Many artists are practically familiar with the behavior of the pile on various types of brushes in different conditions, with different pressing force and angle of touch ...

    To create computer programs, the programmer, among other things, uses the / dev / brain device, also known in the world as the brain.

    In addition to the analytical part, the operating principles of which are still little known and doubtful, the main functional parts of / dev / brain are the channels of perception and memory. Including “random access memory”, the work of which can be associated with thinking.

    It so happened that the channels of perception correspond to sections of memory, and have some related properties. Using one or another channel of perception, the corresponding type of memory is activated.

    Channels of perception


    Kinesthetic perception is what you can feel. Still, the best way to transmit information between generations is the head slap.

    Visual perception is what can be seen. The demonstration of naked female breasts often works as a decisive factor in life-making decisions.

    Auditory perception is what you can hear. The absence of noise, music, the words of colleagues, discussion, yelling at someone or listening to someone's screams - it's all from here.

    Memory areas


    Kinesthetic memory

    The strongest. In childhood, the future physiologist Pavlov was bitten by a dog. The dog bit and forgot. But Pavlov grew up and did not forget ...
    I don’t know how to characterize the volume. Access speed is the highest, this mechanism is very close to instincts and reflexes.

    Visual memory

    It has the largest volume. Access speed is perhaps lower than average. However, as will be shown below, it has tremendous scope for application, and is the most effective.

    A simple test to understand this well. You can remember the faces of almost every person you have ever met in your life. Can you imagine how much information this is? And remembering will take 1-2 seconds.

    To solve programming problems - quite acceptable, and even excellent parameters.

    Audio memory

    And here, different people have different ways. For some, it is well developed, while for someone it is not developed at all. But everyone is useful. How - I will show below.

    Abstract memory

    None of the channels of perception corresponds to abstract thinking. In order to present something abstractly, you need to very, very hard strain your brain.

    Has the smallest volume! A person is able to simultaneously hold from 3 to 7 abstract facts in his head. If his last name is not Wasserman - at the moment when he tries to take into account the eighth factor in the analyzed system - one of the previously updated ones will disappear from the scope of logical visibility.

    And all this can and should be taken into account.

    Yuzkeysy


    Let us show how the perception channels work in various cases from the work of a programmer.

    Stupid monitor

    The most frequent and lowest performing case. The programmer sits and dulls into the monitor. Reads texts in different languages, searches for something, tries to solve something. Moreover, the main resource used is abstract thinking. The most expensive, expensive and low productivity. Therefore, the products are indeed brilliant, but they come with huge time and energy costs. This is the most inefficient of all cases.

    How to get rid of the dull problem in the monitor?

    Very simple. It is enough to place the clock in the field of view, and every 20 minutes it is imperative to leave the workplace for 10 minutes. A good idea is to take this time with physical activities or socializing.

    Not the best, although popular, solutions are to smoke or watch TV. Harmful, but also helpful.

    Draw a picture

    Using the capabilities of visual perception and visual memory, it is possible to make decisions and analyze multicomponent systems. Even if the number of elements in the system exceeds seven, it will not be difficult to work with a visual representation of this system in the form of a diagram.

    There are academic techniques for using this technique. First of all, this is great UML. Secondly, these are XP (extreme programming) and SCRUM methods. The effectiveness of these methods is undeniable.

    You can read about XP on Wikipedia, and about UML I will immediately note some of its great features:
    • Easily allows you to control the levels of abstraction and control the detail when developing any kind of programming solutions. In practice, this is the only method for truly effective solving problems of decomposition (“Divide and conquer!”).
    • The only effective method for reliable transfer of abstract information between colleagues. Everyone will understand exactly what the author of the scheme intended when they see it with their own eyes. Surprisingly, when the content of the scheme is transmitted on the fingers - text or by ear, the quality of perception is significantly reduced! People just don’t understand each other, or they don’t understand at all the wrong way.
    • UML in particular and visual methods in general is a well-known management technique, when you need to quickly and reliably transmit information between colleagues of various qualifications, various specialties, and receive feedback, organize communication and exchange of views.
    • UML in particular and other visual methods is one of the most effective methods for transmitting advertising messages.
    • UML is very cheap - drawing a diagram with pencils, felt-tip pens or in a vector graphics editor is quick and easy. Effectively replaces many hours of dulling in the monitor, actually reducing the amount of time and energy spent on solving logical problems.


    In general, visual methods are the most effective for training. Remember high school girls? (Caution, now there will be a kind of humor - sarcasm) Most of them are fools ... But nothing prevents them from getting fives systematically. If you looked in their notebooks, the information is always well-structured and represented by COLORED graphics. Therefore, they perfectly remember the material, and easily use it even for abstract conclusions.

    Smart people don’t cram. They outline and draw.

    It’s easy to improve the quality of illustrations - it’s enough to work out the color codes (apply colors, and make it meaningful and systematic) and solve the decomposition problems at this stage. Avoid visually complex schemes - divide them into fragments and highlight more levels, if necessary .

    Reducing the quality of illustrations is also easy - just draw all in one color and / or make complex diagrams. So that they are perceived slowly and with difficulty.

    Discuss with colleagues

    Some of the most ingenious decisions come in the process of discussion. Therefore, discussions are so useful, even if not all participants in the discussion are competent. Remember the rubber duck method.

    What happens with this?

    Before the discussion, in the minds of the participants (or at least one key participant) there is already a visual and (or) abstract representation of the task.

    Discussion, as yet another perception channel that uses audio memory, regardless of how much the audio presentation is pumped from specific participants, creates a three-dimensional representation of the subject! Therefore, it is during the discussion that even more ingenious thoughts are born than with the exclusively abstract analysis of tasks, with blunting into the monitor.

    Vivid examples, many of the readers have met hundreds of times in smoking rooms and on planning meetings with talented leaders.

    We organize internal seminars several times a week. Each of the colleagues shares with other colleagues their current tasks and tried out ways to solve them. While they are telling, bright ideas come to mind.

    There are a lot of them, ideas. They are brilliant and their price is low - usually for a half-hour conversation from 5 to 10 great decisions are born.

    From TRIZ. Japanese engineers at the internal seminars (planning meetings, brainstorming - not the point) use an interesting method. Initially, all participants express as stupid, wild and extravagant ideas as possible. The result is, sorry for the terminology, a critical expansion of incomplete gestalt, which leads to an instant expansion of the mentality and the reception of new perspectives of perception. Thus, they give rise to truly ingenious, effective solutions.

    Happiness will come if you go through the article again and google the terms. Select a word, then right-click and select “Search ...” in the menu that opens.

    Thank you for your attention and good luck to everyone!