I have been working until past 1:00 in the morning almost every night. Then I ride the bus home and I'm just envisioning my computer screen in my head. I get home and sleep at most four hours and then start seeing my screen on the bus the next day when it begins again. After four or five days of this I crash and sleep for 16 hours or more. I get a lot done but it feels unhealthy and I can't help but wonder if I'd actually get more done on a normal schedule. Has anyone been in a similar situation? Am I just a workaholic? I do like programming and this past year I have been learning how to write LOB apps, and I love it.
"I love it."
That's an important consideration. Yeah, it's somewhat unhealthy physically, but if it's not stressful or its the right kind of stress, it's probably healthy mentally and psychologically, and probably isn't that bad physically in the long run (I'm tempted to say it can even be good, but that's going a bit far afield).
The good news - and the bad news - is that your passion will probably attenuate over time. Then your mind and body will rebel (maybe in very subtle and insidious ways, so watch out). So long as these long hours are not from pressure to meet deadlines, or keep the boss happy or those kinds of things, enjoy doing what you love while you can.
But do watch the physical and mental health. Get some exercise and some sleep and some truly down time, more often than you want to even if its less often than everybody tells you you should. Eat right - pay more attention to that than you normally would, avoid drugs to help you get through it - including caffeine and nicotine (I should talk...), and pay attention to the subtle signs that its not the right thing to do anymore.
And don't plan on making this a permanent lifestyle. That'll kill you eventually. Short bursts, even of several months, are good for you in many ways, but if its all you do, that aint good for you. Everything in moderation, including moderation.
Health and passion are both important, don't sacrifice either one to the other.
I moved in my girl friend. If there is anything that can distract you from the rest of the world it's a nagging girl friend!
Leave the toilet seat up, put dirty laundry out 20 minutes after she starts the washing machine! I'm just kidding! I think the main thing is get a distraction.
I got myself into homebrew on wii, old xbox, ps3, new xbox, dreambox and lets not forget Android Roms! (Imagine my disappointment, when the stack exchange homebrew was actually about BEER!)
Anyway, get a routine that involves not using the same computer you use for work. Install a different OS on it if you have to. Nothing like a windows based desktop to put you off trying to do 'real' computing work!
Or if your chained to M$, then give ubuntu a crack, or fedora, or sabayon ... you get my drift :)
Get some exercise, a hobby (chess is not ok ;) or get into some kind of relationship. Either of these will (hopefully) exercise your body and the other half of your brain.
Doing that will:
I've been in your situation too. It's not a good thing if it lasts. Try to break the cycle somehow.
What I've done to get myself out of the work cycle:'
I still struggle with it sometimes (cause I really like coding, and we're taking on some huge challenges at work), but I've learnt to notice when the balance tips the wrong way and try to adjust early.
Yes it is unhealthy. In my experience I can only keep up with this for three four days before it manifests itself in some way: I may fall sick or just stare at the screen with the hands on the keyboard, without doing anything. Worse, you may end up clogging your arteries with cholestrol, or suffer RSI.
You are a workaholic only if you do it becuase you get some sense of satisfaction by pushing yourself beyond your limits. If you are doing it only becuase you are forced to do it(pushy boss, upcomming deadline) and not because YOU want to, then you dont classify as a workaholic.
If you are doing it out of choice , I would suggest that you don't put in more than 1-2 hours extra. There is a big difference between time in office and actual productive time. You may be at your desk for 12 hours but your productive hours may only be six. And productive time is not directly proportional to time in office. Use some stress buster: take a short walk every 30-60 minutes in the office itself. maybe you can go outside after lunch and take a 10-min stroll. Listen to music or read books, whatever can divert your attention on your ride back. I love reggage for its ability to lift my mood. Dont fall back on cigarettes and alcohol or junk food as stress busters. They will only end up making you more dependent on them.
There are many things that you may be interested in or good at other than coding no matter how much you love it. Do give them some time or you wont be able to build them. I foud that I loved learning scripts and writing articles on Wikipedia.
I work at home and have had similar issues and have had to create a number of ways to deal with that problem. Now I end the day with something totally non-computer oriented. Three days a week I take ballroom dance lessons, which gets me out of the house (or in your case, probably on a different bus route) and it takes full concentration, so it pushes programming out of my mind for the rest of the day.
If I'm working later in the evening, I make sure I stop and watch something on TV. For me, comedies don't work unless I watch several, so a good hour long drama that gets me involved mentally does it.
Since I live alone, even though experts don't suggest it, I fall asleep with the TV on. I set it to a "safe" station that has re-runs on it or I play something on the DVR that I've seen and is non-engaging (like old comedies or cartoons on Boomerang network). I can set the TV on a sleep timer and while I'm falling asleep, the blather in the background keeps me from thinking about other things and I drift off quickly.
Start setting time limits on your work and get involved in hobbies and activities that give you more to think about other than programming and that create routines so you have mental associations in your life and with places and things in yoru life that are not just your work.
Start working normal hours (8-10 hours a day, with regular short breaks. Get a drink, just a few minutes every hour) and stop working 16+ hours nonstop. Yes, it's unhealthy. People have died from heart failure and stroke living the life you're living at age 30 or below, it's a very real risk.
When home, relax. Play a game, watch tele, read some SciFi. Do NOT get home only to power up your IDE there and start working on some hobby project or coursework.