How to easily solve complex problems

Hello, this is Kristina Babich backend developer KOTELOV. Today I want to tell you what to do if you are faced with a task that causes torment and thoughts about quitting IT and going to bake buns at the nearest bakery.



Let’s look for a solution in neuroscience.

Imagine a developer who needs to migrate data from an old version of a product to a new one. The new version has a different structure for storing information, there is no documentation for the old version, and the amount of data is ~ 5-10 GB, or 3 years of active use of the product.

This is a typical task that you want to put on the back burner. But the longer the task is delayed, the more difficult it will be to solve it. As a result, the project deadlines will fail.

Why do we procrastinate?

  • Fear of failure. When we are faced with a voluminous task and cannot fully see its boundaries, there is a fear of failure.

  • perfectionism. Without knowing the path to the ideal result, we’d rather not do it at all.

  • self-restraint. Subconsciously, we may not want to stand out from the background of others.

  • Tendency to underestimate one’s abilities. We may underestimate our ability to solve a task and refuse to complete it.

How to make the task easier:

1. We use rest time.

The default mode network (aka default mode network, DMN or DMN) is a neural network of interacting parts of the brain that is active when a person is not busy performing a task.

I think many people have experienced a situation where the solution to a problem pops up in their minds unexpectedly, for example, while washing dishes, jogging, preparing dinner, or even in the shower. It is possible that a similar effect is precisely due to the SPRM. But for a solution to arise, our brain needs to know what to decide.

How to upload a task to the brain:

We make a map of the task, write out short facts that are associated with it and will help to solve it. The goal at this stage is not the final beautiful and understandable map for other people. This fixes the developer’s focus directly on the task, so it’s easier to do it by hand and not use complex tools. An example of such a map, in a simplified form, is shown in the figure below.

Approximate map for solving the problem of data transfer

Approximate map for solving the problem of data transfer

In the default system of the brain, the task should spin for more than one day, there is no need to deal with the task itself.

You can do routine things, solve simple tasks that do not require much concentration.

2. We make the solution of the problem a source of dopamine.

Dopamine is the neurotransmitter responsible for the motivation and feeling that comes with success. It gives us an initial charge that pushes us to achieve goals, and then increases the feeling of satisfaction.

How to use:

  • Break the task down into small, manageable parts.

  • We determine the starting point. However, this point should be very simple. For example, create a script file in which we will transfer data. Get high from how good you are.

    3. Remember the Dunning-Kruger effect.

    The Dunning-Kruger effect is a cognitive distortion. The tendency of people with a low level of competence in a certain area to overestimate their capabilities, leads to erroneous conclusions and poor decisions.

    In the case of solving data transfer tasks, we can overestimate our knowledge of the old project, which is the source.

    How to avoid:

  • Refine your knowledge, consult with experts.

  • We are looking for data that can have several values, to clarify the criteria for selecting “garbage”.

  • We try to objectively assess our competence in working with a large amount of data, the technologies used.

    People with high expertise, on the contrary, tend to underestimate their abilities and suffer from a lack of self-confidence, considering others to be more competent.

    Another misconception that this effect breeds is the overestimation of the competencies of the people in the team. Developers forget that team members from other specializations (testers, managers) do not know some things and unconsciously expect them to be involved in solving problems, they think that they are being ignored. This also works in reverse. Therefore, it is important to describe the problems in detail.

    4. We take into account cognitive distortions when assessing the task.

    Hello, unforeseen difficulties, pitfalls, fatigue and burnout. When we understand that the deadlines for solving a task are unrealistic, we subconsciously want to refuse to complete the task. The ideal option is impossible, so we will not do it at all. As a result, the task is postponed, the execution time tends to infinity.

    What to do:

    Use the contingency factor, usually ~3. Indicate an optimistic deadline for completing the task, taking into account this coefficient, i.e. if at first glance the data transfer takes a month, multiply by 3 and indicate the implementation period of 3 months. Because in reality it may turn out that the structure of the new application will require changes, the expert on the old project is unavailable for a long time, the transferred data did not agree according to the verification algorithm, etc.

    5. Fight laziness.

    Set aside time in your schedule to work on a specific task. We plan it in advance, we try to have at least 3-4 hours of continuous work, without switching to other issues. We coordinate this time with the manager, family, dog.

What are your life hacks for dealing with procrastination? Share in the comments!

Also, tell us about the task that has become the very one for you …

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *