Do you [edit]know[/edit] when you're working on a personal or professional project and you reach a point where, for one reason or another, every time you open up the IDE or editor and remember what you're supposed to do next you go do something else or procrastinate instead? Is that what people call burn-out, or what is it called? And how do you deal with it?
i look into the code, and just can't think of what to do, I just feel hopeless and completely burned out.
taking a rest until another day doesn't help, but taking a walk outside house or just do anything else for a few days that doesn't involve too much thinking seems ok to "recharge the brain".
I think think this is called a "mental condition", and it works just like physical condition.
If you overrun your mental condition and ignore it, then recharge will take *exponentially* longer.
I'll have bursts of what I guess you could call energy, where I can keep steadily going through the code, but then have hours when I just can't focus and really don't feel like trying to figure out a tedious part of the code. If I come to a road block, it can be demotivating. This problem compounds when it's hardware getting in the way, or when my workflow gets off due to some build error that may or may not even be my fault (the build process can take ~15 minutes). I'll not do something for a long time, and then push through it until I'm tired. It's not very nice on my body, long term.
I agree with Duthomhas; it's best to do something else that's hands-on, and I would add that it be done in a different environment than where you are doing your coding project. This helps you look at the project with fresh eyes the next time you see it. I am also trying to get more sleep.
Also, I need more practice with this, but it seems to help to set time limits for yourself. It's better to pace it out, but keep yourself set to a schedule of how much time you want to give yourself. To keep the project time separate from the "something else/procrastinate" time.
Do you when you're working on a personal or professional project and you reach a point where, for one reason or another, every time you open up the IDE or editor and remember what you're supposed to do next you go do something else or procrastinate instead?
Speaking for the professional project side of this, I'd
* make progress on the second-highest priority task in my backlog instead
* talk to a team member about the task I have - maybe they will call out something stupid in my code so far and I'll get the motivation to fix and finish it out of spite, or maybe they will have a cool idea I'd actually like.
* waste 2-4 hours on minor tasks like fixing documentation, answering postponed emails, interviewing, doing code reviews, investigating non-reproducible bugs, drinking coffee, writing this post (while drinking coffee)
* if still not making progress, tell the team lead I'm stuck on this task - it's unacceptable to waste time without communicating that to others. Programming in a professional setting (at least in the professional settings I've experienced) is always a team effort.
Find something other than computing to do for a while — an actual non-passive hobby type of thing.
That's kind of a tall order. I don't really have any creative skills other than programming. My other hobbies are either consumptive or physical.
What's interesting is that, at least in my case, it's not exactly fatigue. If I'm burned out at home I can continue performing at work just fine, and vice versa.
taking a rest until another day doesn't help, but taking a walk outside house or just do anything else for a few days that doesn't involve too much thinking seems ok to "recharge the brain".
"A few days" is nothing. I often get stuck unable to make any progress for months.
* make progress on the second-highest priority task in my backlog instead
* talk to a team member about the task I have - maybe they will call out something stupid in my code so far and I'll get the motivation to fix and finish it out of spite, or maybe they will have a cool idea I'd actually like.
* waste 2-4 hours on minor tasks like fixing documentation, answering postponed emails, interviewing, doing code reviews, investigating non-reproducible bugs, drinking coffee, writing this post (while drinking coffee)
* if still not making progress, tell the team lead I'm stuck on this task - it's unacceptable to waste time without communicating that to others. Programming in a professional setting (at least in the professional settings I've experienced) is always a team effort.
Yeah, that's usually what I would do, but generally the projects I work on are not so large that there are multiple tasks to choose from. Plus, lately because of various reasons I've been working mostly on solo projects with loose deadlines, which doesn't help me stay motivated (not that I've been burned out lately). The project I (IMO) best performed in was one where there were clearly defined milestones and delivery dates.
Also, I need more practice with this, but it seems to help to set time limits for yourself. It's better to pace it out, but keep yourself set to a schedule of how much time you want to give yourself.
I'm unsure how effective that would be if it's something you're doing for yourself. It's like working out. It's always more effective if you have someone pressuring you to perform, even if they don't have any authority over you.
Or you could just be like me and just disappear for 5 years. In all seriousness though, I got burned out from programming for a while. I took a small break, time off. Then did something odd, I bought a few things from what I used to do during my child hood. Grabbed some of the new Star Wars Lego Sets, few Transformers. And of course, some video games. Combined with running more to clear my head.
Now when ever I'm stuffed, burned out, I just go grab a Lego set and spend the day building. I find it very therapeutic and it gives me a good nostalgic relax.
Hope you're staying well old friend. It's people like you that helped me out when I was learning the ropes. You curved more roads than you realized for some. In a good way. And for that I thank you. It contributes to who I became today :)
So what do you do for a living? I assume not programming, if you can take several years off at a time.
I cycle every day and do laps on the local track for an hour twice a week, but that doesn't really do anything for me, mentally, it just puts me in a bad mood when I can't do it.
I was programming for a few years non-stop after I finished my study. But then someone close to me had an accident and things spiraled downhill in life. Money became a more important factor instead of my personal choices. So I took a better paying job that is split between I.T and Retail (Yeah I know, Odd). But the pay is fantastic. And it put life back on the road correctly.
I still program, but all on my own terms. Typically the work I'm doing is in C#. Thus why I don't lurk around here as often. But something has come up which had made me need something in C++ for a wrapper. And someone PM'ed me on here for something I made 8 years ago.
None of this help you in anyway, but it sounds more like you should break pattern and try some other activities.
Do you still ride motorbikes, from memory it was you who did. If so, you ever consider doing anything different with that?
I experience burn-out a lot. My solution is booze. Have a project due soon? Get it done regardless of quality, then drink away the insecurities caused by the crap code you just put out.
Honestly though, burn-out is normal with anything. I've found that finding some external motivation helps prevent the burn-out. I think the reason it's so common is because the feeling that results provide aren't immediate so it feels like the action you're doing is meaningless and a hassle. This reason is why I had more of an issue with free open-source programming than I do professional programming (though I still do open-source programming since it provides me the most freedom to do what I want).
I've also had to just disregard the want to not code anymore and just kinda plow through it. I don't usually regret it. Sometimes the want to step away is because you don't know what step to take next. I feel like these two tie together quite often. Simply making code of any naive solution is often better than not making any solution at all. In the worst case, you're given insight as to what's wrong with the solution you made and are given a better understanding of the right way of making something.
Hey, I forgot to say, I often watch space documentaries on youtube when tired, and that relaxes me really good.
you might try this method out, watch some documentaries and see if that makes you more "clear".
motorcycle is not bad idea too.
btw, If you're smoker (such as me), I call tell you from my experience, smoking in the room where you do your coding without ventilating the room often enough, will for sure slow down you mental clearness.
Find something other than computing to dofor a while — an actual non-passive hobby type of thing.
That's kind of a tall order. I don't really have any creative skills other than programming. My other hobbies are either consumptive or physical.
Nah, the whole point is to do something different. You don't have to be good at it.
For example, there is a little art shop nearby where I live where you can go an paint little ceramic birds and boats and angels and the like. Then they fire them and in a week or two you get this nicely-glazed thing to stick on your counter.
Taking the time to just sit and paint with no obligation to do a good job is something that your brain needs.
Go buy a deck of cards and practice some sleight-of-hand in front of a mirror until you can pull off a couple of simple card tricks that will wow random people who visit you. Cheap, takes lots of time, has no purpose other than making you slow down and focus on something unimportant.
Jogging/biking/etc are good for clearing your head, but they lack an important characteristic: need for intense focus — the kind that painting or sleight-of-hand or music or etc require.
See, unloading your brain doesn't solve the problem. Unloading pressure is what solves the problem; you do that by refocusing your high-powered brain on something totally unrelated to your usual track.
See, unloading your brain doesn't solve the problem. Unloading pressure is what solves the problem; you do that by refocusing your high-powered brain on something totally unrelated to your usual track.
Hmm. Interesting idea.
That figurine painting thing sounds like something I could get into. Actually, something I do enjoy doing from time to time is tracing drawings to vectorize them. Maybe I should give that a try next time I get stuck. Thanks for the idea.
Usually when I'm stuck, I choose to go for a walk and think about the problem I am having. Oftentimes (when I'm lucky I guess) I get struck by an insight and all of a sudden I know how to fix the problem I am having. I’d get that "oh yeah of course!" feeling (or however you describe it) but I would not have a machine to rush to and write some code to confirm my intuition so I'd be praying on the way back hoping that this was the solution :p
Ah well, this is how I normally cope with exhaustion and stress. I find it a great way to relief pressure and fix problems at the same time.
I think we are all different in terms of personality, intelligence, stress tolerance, emotional intelligence, responsibilities and choices, beliefs about ourselves and others, etc... so my way of coping may or may not appeal to others because we are all different. Although I do agree that thinking about the problem persistently (which I don't do very often when I'm out walking I usually think about it on and off) is not a good idea, that mostly depends on the problem itself and whether a deadline has to be met. If I am expected to hand in a set amount of work the next day, I'm fixing that problem no matter what.
I'm not talking about getting stuck, i.e. not knowing how to proceed. When I get stuck I can usually figure it out in a day or two at most.
When I get burned out I know exactly what I need to do next, but I can't bring myself to actually do it, and this can last for weeks. It's similar to "hitting the wall" (https://en.wikipedia.org/wiki/Hitting_the_wall ); you want to keep pushing but you just can't. The difference is that you don't necessarily feel tired.
It can happen to burn-out, when it happens, to get over it, do not kill yourself over the fact that you are not able to do that thing you normally like/love. This leads to more negativity, because your thought revolves around it, conciously or subconciously.
Do things you can do, or things you wish to learn instead: for instance drawing, cooking, breathing. Sing, play games, let your inner child take over, if at all possible.
The important thing above all is to learn, in a phase of burnout, that you never feel bad about NOT doing anything related to what causes the burnout. Avoid your IDE, smile, because now you have time to do that other thing. It is a difficult lesson at first, but necessary.
Also you should then learn the lesson, that, whatever else you set out to do, you aren't giving up on anything.
When you can't program for a week, or a month, and it isn't your career that is at stake, take the time to 'get back in shape.' And when you are ready, build up, and never kick yourself to give the 100% you feel you should be able to give now.
-
Burnout leading to procrastination, if it happens at work, and your company offers it, take a study leave, take a vacation. Or, in extreme case, ask for transfer within the company. Preferably to a position having nothing to do with that which causes the burnout. (If possible).
-
Other than that, you are human, and can't do a thing, hour upon hour, day upon day, year upon year and not suffer at some point in time. Much of what has been written above has helped me, when I could no longer do something.
When you can get over the negativity, you feel richer, if you manage to find these things you would also like to do, but never have, because the other thing has taken up all your time and energy. :)