I read many articles about procrastination and motivation, but constantly found in them a complete or partial misunderstanding of the problem. Or just the discrepancy personally to their realities - people are all different, in the end. I will describe what I know from my own experience and what helps me personally. Suddenly someone else will help.
What causes procrastination? Why is this problem usually less severe in other professions? How are programmers so special?
It's all about the specifics of programming (system solutions to complex problems). It is impossible to program "half-power" - such work is finally equal to zero. The code with one small error does not work as it should, even if the remaining 99.99% is correct there. Moreover, even if the code works, but at the same time it's terribly crooked, most often, as a result, you have to rewrite it from scratch - it will be easier than trying to straighten it with crutches. Those. in fact, writing insufficiently high-quality code is absolutely a waste of time and effort
- the conversion “for fair” will not be accelerated.
And writing good code requires a special state. Regardless of the person’s level of training, writing good (from his point of view) code is only capable of a few hours a day (and this is not guaranteed). If you think you can write good code all day every day, you probably just outgrown your current job and it’s time to take on more serious tasks (for example, learn how to automate it).
In most other works there is no such thing - “drawing molds”, talking on the phone, writing letters and documents - all this can be done “half-heartedly” all day. The result, of course, will be worse than we would like, but not “to zero”. And then the shortcomings easy to fix.
About creative professions
In this programming is often equated to the creative profession, which, in my opinion, is erroneous. Yes, the problem of procrastination is similar to the problem of a stereotypical free artist or composer, who necessarily needs inspiration to create a masterpiece. Because everything that is not a masterpiece is mediocrity - it does not deserve the attention of the public and will be forgotten (unless the drafts themselves were destroyed before). But this is a completely different specificity, where programming often requires many hours of focus, rather than minute insight.
This is part of the procrastination, which is present in all programmers - in the office and on the remote. But there are also two parts that are characteristic only of remote work - a free schedule and the lack of direct communication.
With a free schedule, everything is clear - if a person is not limited in the possibility of entertainment, he will have to use his willpower so as not to spend all day behind them. But here, as with homework when studying - most people eventually develop the necessary skills and priorities in themselves.
But the lack of communication affects a lot more than it seems. The main thing is the effect of presence. Why do pupils and students better assimilate the material and more diligently do laboratory work in the presence of a living teacher? Why do teachers repeatedly read out the same lectures in a voice when audio recording and broadcasting technologies have been around for decades? The answer is human psychology. It is much easier to focus on information when everything around is also focused on it, and when it comes from a person (real, physical) endowed with authority.
Yes, of course, there are correspondence departments, video lectures and distance courses, and you already want to write about them in the comments. The point is not that they do not work at all, but that they are much less effective, at least for most people. In my experience, the same external students in universities are generally equated to “backward” ones, exposing triples / credits for the ability to answer a question after searching for information in the training manual.
But back to work. The programmer may well leave the writing of complex code to go help his wife hang out the laundry. And do not even think about how absurd his decision. Because the problems of a distant overseas customer are perceived to be much less “real” than the problems of the person next to him. It is much harder to concentrate on a problem when it needs to actively imagine oneself in order to believe in its existence.
To sum up: in fact, a programmer on a remote site for work must first make efforts and imagination to convince his brain of the existence of a “virtual problem”, then again make an effort to limit himself to entertainment, and then the remaining efforts should be enough to write an error-free and quality code. And if they are not quite enough, then it is better not to start writing, it is still wasted. It does not seem such a simple problem of laziness, does it?
Actually, “who is to blame” have understood, now to the question “what to do.”one.
If you find that you have delayed with procrastination and even now continue to lose time - ask yourself the question “what is my next task and when can I accomplish it”. Do not leave it until you can clearly formulate an answer for yourself. At the same time, “when” is not a time, but a state. In a sense, the "condition". And depending on the answer, evaluate what you are doing - how much it brings you closer to the goal.
I usually have this internal dialogue like this:
“You need to cut down feature X. When can you?”
"When I sleep well / when I feel normal," - so do what brings this state closer. Eat Go to sleep. Are you? Get well. Right now. Not “when I watch the series,” not “when I finish the game,” not “when I finish the coffee,” all these actions do not bring you closer to working condition.
"When I'm in the mood" - take care of the fact that improves mood. But only by what actually works. You watch the series and you catch yourself thinking “when this series is over, damn it is over” - turn it off and do not return to it. Look for something that will work guaranteed. And remember what does not work (only worsens your mood) and what should be avoided.
“When I figure out what to do,” means your next task is not “to do,” but “to figure it out.” Understand. Ask the customer / manager (ask again if you already asked and did not receive an answer), or try to delve into the problem yourself. If you're not trying to figure it out right now, you just waste your time.
“When I'm done with other things” means your current task is among these “other things”. Yes, now it is a work task. From the side it may seem that other cases are not related to work, but this answer shows that they have, and direct.
“Well, I could, probably now,” - do it.
Etc. The basic principle is “since you obviously are not working right now, then at least make sure that you are doing something that is guaranteed to bring this state closer”.2
Everything that affects the efficiency of your work - in fact, also becomes part of the work and must also be taken seriously. This is only a matter of perception. If for productive work you need a dream, it means “sleep”, it is henceforth the requirement of the customer (albeit implicit). If you need a good mood for work, it means even to “play something” to raise your mood becomes part of the requirements.
There is nothing more meaningless than to stink oneself for what is in fact inevitable and required for work. Each person in this sense, of course, will have his own requirements, the main thing is to honestly admit to yourself.3
Few people can lift the load, weighing a ton and move it to another room, even if it is given a month. And to transfer a hundred 10-kilogram cargo is already feasible. You should also deal with the work - divide it into small parts and follow as far as possible.
This is all, of course, a trivial matter, but here I have an additional life hack - leave some pleasant and easy work at the beginning of the working day. Just put yourself in the habit of stopping work only in a state where you already clearly know which lines to add to the code as follows. Believe me, a little discomfort from the feeling of “incompleteness” is then completely compensated by how easy it becomes to “get into work” again.
Actually, here. Additional comments are welcome.