📜 ⬆️ ⬇️

Do not bother me to work!

Surely I will not be mistaken if I write that every programmer wants to work as efficiently as possible, and every employer wants all his employees to be as efficient as possible. However, in fact, it often happens that even the most motivated and professional programmer cannot work effectively, but works only on 10-20% of his strength. And his gradual motivation fades away, and 10-20% turn into 1-5%.
What can this be about?
And this happens due to numerous obstacles that interfere with work effectively.
Some of these barriers can not be removed without changing the work, but with the majority you can fight and defeat them, and this is what this article will be about.
Below is my personal top list of such obstacles with comments for programmers and examples from my life.
I think about the same list is relevant for other IT professions.



1. Not enough powerful computers to work effectively.
')
The most important demoralizing and killing efficiency factor for me is an insufficiently powerful computer. On such a computer, too much time is spent on everything. Any operation takes more time than it could and all this time in total can be monstrous.
For example, consider the case of the development of a large computer game (the numbers are not taken from the ceiling, but from real projects).
Build a big game can take minutes and tens of minutes. More powerful computers can speed up the build several times. I saw 2 nearby computers where the same project was going to be - at one assembly time was about 5 minutes, at the other - 25 minutes. 20 minutes of wasted programmer time only for the build!
Running a big game, and especially under the debugger, can take minutes on weak computers. In order to check or debug something, you need to download a level - it can also be minutes. At the same time, the same on a powerful computer can take 20-30 seconds.
As a result, I met people who, sitting on a weak gland, spend 5-10 minutes on the same operation that a powerful computer takes in 20-30 seconds. Given that such operations need to be done a lot a day, you can count the real loss of time. Sometimes it is an hour or two every day, that is, up to 20% of the work time.

What solution can you advise?
First, of course, managers and other bosses can drip onto the brain so that they can buy more powerful computers. This is an easy way, but you cannot affect the likelihood that it will work.
Secondly, we must always optimize all the processes that take a lot of time . This is the most universal tip. And, IMHO, the most useful advice in this whole article.
If the project build is too long - rebuild the build system or use accelerating tools (Incredibuild, for example).
If the launch of the game is too long - optimize the launch. Get him to be fast and on a weak car. In the end, users will also thank you.
If the levels are loaded for a long time - speed up the loading levels.
Optimize all operations that take you a lot of time. You will spend a lot of time and effort on it once, but it will pay off in the end, as the whole team will start working faster and more efficiently, spending less time on long operations.

2. The extra meetings and rallies, as well as other factors of distraction.

Workers meetings and rallies are good. They allow you to convey to all the necessary information, create the necessary attitude to work in a team, etc. But at the same time, if there are too many such meetings, it terribly demotivates and interferes with concentration. As a result, if 2-3 meetings are scheduled per day, then you can no longer plan other work - you don’t have time to do it.
I decided for myself simply - if the meeting does not bring me good and does not give new information, then I ignore it (this definition includes 70-80 percent of meetings at the current work).

Other factors of distraction from work are messages via speakerphone or other shouts and noise, frequent questions on various topics, forums, instant messengers and the Internet as a whole (when it is used not for work), etc.
You can remove most of these factors yourself, for example, by an effort of will by refusing to use the Internet while working and using headphones. And the part you can not decide on your own, but only you can try to write a set of rules together with all the staff. For example, I know a team that sits in one big room and in which any noise is officially banned from 12 to 15 (even cellular calls).
In any case, the influence of these interfering factors should be tried to reduce.

3. Hard work schedule.

I already wrote about this in the article about the time of arrival at work and in its second part .
In short, I will write that the flexible schedule allows you to work at the very time when the work is most effective and not to “sleep” at work.
I know cases when people (very professional) came to work on tight schedules, and then filled up the toilet. Or simply fell asleep at the desk. To whom is this better and what is the effectiveness of such work?

4. Unnecessary or inappropriate work.

I understand everything as unnecessary work, ranging from “let's go help unload computers” to “do this unnecessary feature, and then we will see whether it is necessary or not.”
If you have a good manager, then you may never meet with such tasks. If not, then we must be able to abandon them or sabotage them unnoticed.
I usually immediately point out the uselessness of this or that work and try to refuse it. If the manager is confident that this work needs to be done - he will insist and in the end the work is likely to be done. But for really unnecessary work at the moment of discussion, it may turn out that it really doesn’t matter or that someone could make it more suitable.
So, if you see that the work is most likely unnecessary, or you are not sufficiently suitable for its implementation - do not be afraid to argue with the manager. He will receive additional information in the dialogue, which he probably lacked, and will eventually take a more correct decision.

5. Excessive security. Passwords for any sneeze.

This is for me a new item that I have not come across before.
I remember that I had the first shock at the new job, when on the first day I was told to come up with 3 different passwords with a length of at least 12 characters, where there should be both capital and lower case letters and numbers. It sounds scary, especially when you are standing in front of the keyboard and have to type them right now.
Every large company has a bunch of servers and network drives. But in some firms access to them under the password. As a result, to put something in the temp folder on the server - you need to type the password. Of course, Windows caches passwords, but there are still new VMWare images and you always have to re-enter these passwords.
This also includes poorly organized access rights policies for servers, databases, code repositories, etc. For example, in a large company, you can spend a few weeks only to be included in all the necessary groups to access the source code of the project. And then spend the same time setting up ssh and creating your own accounts on different servers. This all can work so inefficiently if communication with admins goes through requests, and not personally. In my current job, any request to admins should be made through a special page on the intranet. Then they can process this request up to a week or two. As a result, a simple “Please add me to the build group on server 1” can be processed for a week.
After the first long wait, I decided for myself that it was better to go and talk in person than to wait so long. As a result, if you ask personally, then all such tasks are performed instantly right in front of you.


6. Antiviruses and other pre-installed mandatory software.

Such mandatory software can slow down, as antiviruses slow down, or get buggy, but you cannot disable or delete it, because the rules say that it is impossible.
For example, a recent case: the complete assembly of one project with antivirus enabled took 15 minutes for me, and without antivirus 5 minutes. What to do in this situation, to waste time in vain?
One must have the courage to depart from the rules in such cases.
For example, I turned off the network, turned off the antivirus, did a reassembly, and then turned everything back on - this is safe and time is not wasted. And then I used my own advice from point 1 and optimized the build system so that it even took 5 minutes with the antivirus turned on.

And what is your top list of things that interfere with work? And how do you deal with them?

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


All Articles