How Do You Maintain Your Work Focus?
chowsapal asks: "I've recently switched from another line of work into computer programming, where I work as a contractor. I'm making more money than I need, and more than I'm used to even working 20 or 25 hours a week. I'd like to work more, and rake in even more money, but sometimes it's hard to stay focused for more than 5 or 6 hours at a time. What do other programmers do to motivate themselves? Do you work a specific set of hours? In a specific location? Are there types of breaks that you find really increase productivity? Does diet and/or coffee consumption make or break the deal? Do you end up working late at night for the quiet? I realize that on some level you just need to suck it up and put in the time, or stop worrying about it and enjoy your time off. However, the question stands: How do you work best outside an office environment?"
Constantly remind myself of my company's small army of trained ninja.
I just... hey, look, shiny!
One - Provigil.
Two - Trust your feelings, Luke. If you're already "making more" than you need, and you can't get motivated to make more, then don't. Go out and have some fun.
> What do other programmers do to motivate themselves?
How do I motivate myself to work? Usually I just visualize my family and I living under a bridge and carrying a handwritten "will program for food" sign.
If you are making more than you need, and more than you are used to in a "shorter than normal" work week, perhaps you should go to the pool or something. It sounds like you are working to get money so you can HAVE money, not so that you can attain any other goal in life but to get more money.
Perhaps your motivation problem is that you seem to have no goals outside of the numbers on your bank accounts.
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
I find that when spending too much time looking at the same code, it starts becoming 'vague' and I feel as if I'm in a fugue. It's akin to the same thing as writing a story or some e-mail and thinking that you've misspelled the words 'it' or 'and'. It may very well be correct, but it looks foreign and you try to fix something that isn't broken. At that point, it's time for a mental break.
I actually tend to take at least three breaks a day for about five to ten minutes each. The first two, I read Slashdot; usually around 10:00am and the other right before lunchtime. I don't eat out often, but I do pick up lunch and then around 4:00pm, I check out the latest 'IT' curiosity posted on The Daily WTF http://www.thedailywtf.com/. I also check Slashdot again right before I leave so I don't miss some of the few gems posted here.
A lot of IT shops have their eye on Web browsing, but they usually won't pay mind to it unless you're not producing or you have a tendency to frequent sites that raise an eyebrow or two (hint: pr0n sites tend to fall in that category). I do like to visit sites geared towards developers, such as GotDotNet http://www.gotdotnet.com/, CodeProject http://www.codeproject.com/, CodeGuru http://www.codeguru.com/ and the latest "up and coming" Krugle http://www.krugle.com/ code search engine. Sometimes visiting those sites will give a tidbit or two that is useful; you may run across some code or solution to a problem that interests you. Also, you may end up learning something that you'll run into in the future. (Coders tend to re-invent the wheel if they don't have the code handy; however, if the code is there, they tend to add spinning rims to it.)
Adding a bit of diversity to the routine helps keep you on the edge and refreshed to approach a problem in a new light.
do {print "Mini-Geek Rules!\n";}
until ($TheEndOfTheWorld);
Step 1. Stop reading Slashdot
Step 2. I still haven't gotten past step 1, but when I do, I'll let you know.
Get up and walk around. Chew a couple vitamin C tablets and drink some water. Read slashdot and get back to work. Sometimes music helps, sometimes it doesn't. Wished I had some better ideas...
"Eve of Destruction", it's not just for old hippies anymore...
Where I used to work it was pretty normal for people to come in early (about 7:00AM), take an extra long lunch (1.5 - 2 hours) and then work until 5:00PM. They put in their 8 or 9 hours, but have a nice refreshing break in the middle so they can handle the afternoon. Also, people would go to the gym at lunch time to refresh their minds for the afternoon.
Another tactic was for people to come in late, about 10:00AM, go to lunch at 12:00PM for an hour, work the afternoon, go home for an hour or two to eat supper, and work a few more hours from home. Some would also come back to the office for a few hours in the evening - but they generally lived pretty close-by. After work, they could go out, stay out late, but be able to sleep in the next morning.
I think the important part is determining how long you can go without a serious break, and then figuring out how to work that break into your schedule. It may mean starting earlier, or working later, but you still get your time off. Why go to the gym in the morning, when you can go at lunch time and refresh yourself for the afternoon?
Reading code is like reading the dictionary - you have to read half of it before you can go back and understand it.
I keep my attention on task by .... um.... what was the question again?
:)
Seriously, I have the same problem, as a contractor... Some days I'm lucky to get 1 hour billed. OTOH, I have a 14 month old boy that keeps distracting me.
127.0.0.1 www.slashdot.org
The best thing you can do is have a siesta. Sleep for half an hour and come back to work.
But most of the time it's best not to work at all. I can get a ton of work done in a few hours in the morning, and the afternoons are often a write-off. I might as well have gone home. If mornings are you best, schedule meetings in the late afternoon as much as possible so that you don't waste your most productive times. Make the most of your most productive hours and do admin the other hours.
Generally, I don't believe in the idea you can "push yourself" into creating more software by staying more hours. All you'll do is make yourself even more tired and not produce any more output.
You'd be amazed how much better you work at 65 degrees than say 72. The building my employer recently moved into is new, and was designed for normal 9-5 business days, so after 5:30, the AC cuts off and by 7 the temperature is around 75 degrees. Since I'm much more of a night person, I come in around 1pm every day and stay til around midnight--or at least I did until we moved into the building.
The few of us who stay past 7 have all come to the conclusion that heat will make your brain slow down a LOT. It's gotten to the point where I just started going home at 8 or so because I would accomplish absolutely nothing by being there.
So my advice is to make sure you keep your work environment at a slightly-less than relaxing temperature, just to make sure you stay on your toes.
That you must know Slashdot's IP addresses.
I don't maintain focus for more than an hour at a time. In fact, I can't. And being involved in cognitive science research, I can state that for sustained work, neither can anybody else. Yes, once in a while, if your current problem is intensely interesting, you can zone out and work on it for many hours straight. But most work - however interesting it is - isn't able to grab your focus in that manner. To see it from another perspective, a movie is designed to grab your attention, is created by people devoting their lives to grab your attention as effectively as possible and has about every technical means short of drugs available to grab and hold your attention. And yet, few movies are longer than two hours, because people will not be able to hold their focus for much longer than that.
If you try to force yourself by having only your work available and forcing yourself to sit on front of it, all that will happen is that after an hour or two your thoughts will start to drift, you'll get stuck in a rut reiterating old thought processes, and you may even nod off for short periods due to the imposed lack of stimulus variation. In short, "maintaining focus" is a good way to sink your productivity.
Instead, accept that you can't single-mindedly focus on any one thing for more than about 45 minutes to an hour (there's a good reason class time seems to have converged to about 45 minutes the world over). Do one of these things in combination:
* Get up, stretch and move about a bit. Go look out the window, find someone else on a break and shoot the breeze for a few minutes. Leaf through the morning paper, trade magazine, or that 2001 office supplies catalogue you never seem to get around to throw away. Go over to Accounting and ask about that missing trsvel reimbursement. In short, get yourself exposed to some new stimuli so you canh approach the next hour with a fresh mind.
* Have a secondary task you can switch to whenever you get bored with the main one. Maybe now is a good time to answer a few email, or write some documentation (there's always documentation to write). Really the same thing as above - get some new stimuli - but with more of a work focus.
* Set a goal for the day. And when it's done, quit. Sure there's more work to be done - but there's always more work to be done. You can stay 24/7 and there will still be more. Do what you set out to do, then go home. With a definite short-term goal, pacing yourself is easier, and it's much easier to focus on a comprehensible, digestible chunk of work.
Trust the Computer. The Computer is your friend.
What focus?
/.
If I was focussed, I wouldn't be reading
"City hall" in German is "Rathaus" Kinda explains a few things......
I work independantly as well. It can be tough to work up the motivation to get going on things, and I occasionally have the experience of realising at 10pm that I've spent about an hour of billable time that day -- the rest was running errands, procrastinating, websurfing, reading news, socializing, etc.. Sometimes I'll then work another 7 hours, which sometimes works okay (sometimes my brain really starts clicking only late at night)... but of course makes it that much harder to get started the next morning.
/.) -- walk around and maybe get some fresh air. Let your mind play with the problem and come up with some new solutions to test out before you go sit down again.
Of course, the answer is self-discipline, time management, etc., but there are a lot of factors that affect how successful I am at that. Here's what I'm watching properly during the times that things are really working well:
* Personal physical factors: I avoid caffeine, because it keeps me "awake" but destroys my focus. If I'm really focused, I simply won't get sleepy anyway. I avoid all alcohol during the week, and avoid sugary things at night, because those both affect my sleep patterns and sharpness in the morning. Proper sleep also makes a huge difference to focus... if I only slept 3-4 hours, even if I'm wide awake things just don't seem to get done.
* Project factors: an interesting project that uses my knowledge/skills but also brings in some new things is much easier to work on. Boring projects (just solving the same old problems again in a slightly different way), overly tedious/frustrating projects (like cleaning up someone else's mess or working with really buggy APIs), or overly daunting projects (working with a new language, in a domain only vaguely understood)... that's when I end up bouncing off the work into random other activities like a stone skipping off water.
* Work organization: I try to stop periodically to make priorities lists and to-do lists, and to break down tasks into smaller and smaller sections. It's important for scheduling purposes already, but the mental benefits are also huge. You can hit lots of little goals to keep you going, like "just get this query finished, send that email, then I can break for lunch".
* Breaks: get up and walk around when you're stuck. Don't just sit in your chair (or take a break by going off to check
Now I just need to follow my own rules *all* the time....
If you want to do "something" and want to push yourself to get "something" then go for it but if you have the money to tell your boss to "take this job and Shove it!!"
,dripp drip]"
,Fast Triad is quite wise
(ie six months worth of wage and relocate money). then don't push yourself*
Dispair inc probably has a response to the "shoot for the moon if you miss you will be among the stars" that works out to
Actually your results will be
1 a large crater when you hit the ground
2 LEO is very cold
3 and what use is being off planet anyway??
Just whatever you do make sure that you are moving slow enough to say "Hello WALL" and not "Hell[Splat , thud
just remember that if you hork one client your next client may be a friend of the first or worse be in a club full of "next clients" the Good, Cheap
Any person using FTFY or editing my postings agrees to a US$50.00 charge
Since I've taken a stand in my life to only work 40 hours a week, I'm limited to working 8 hours a day. 2 to 3 of those hours are spent responding to e-mail, which requires very little concentration. "It's possible, but will take 30 hours...I can fit you in next September...What is your business need?" So I get all of my coding done in the morning, take a late lunch, then respond to all my emails in a food coma induced zombie state. Then I eat a chunk of dark chocolate, roll down all my windows and drive home.
No battles to the death are recalled. Mumpsman can hit to attack and cause brainsmashing.
Does diet and/or coffee consumption make or break the deal?
Go to Kroger and get the store brand of Mountain Dew. It's called Citrus Drop. Whenever I need to concentrate, I chug one. The resulting burning feeling in my head from the caffeine and the fresh carbonation greatly improves my focus for the next hour.
However, don't do this right before a gaming session. You'll just get jittery.
spend all day refreshing slashdot
Get a favourite album, one you know well. Put it on repeat, drop into the zone and code for an hour or so. Do this for ... dunno, maybe twenty or thirty repetitions and you'll quickly find that putting the music on drops you into the zone whether you want to or not. As an added bonus you'll find memories associated with the music so getting back into the work is faster.
Clearly you're going to need to change music from time to time but because of the memory associations I suggest you have an album per module, or per project, or whatever suits you. The memory associations also make maintenance easier.
But, danger! Do not listen to the work album and fsck about!
As a starter can I suggest "Snivilisation" by Orbital.
Cheers,
Dave
I write a blog now, you should be afraid.
My work environment is very flexible, so I'm pretty much free to structure my time, as long as I get the work done. But let's face it: a larger slice of programming than we'd like is friggin' boring drudge work. Here's the most effective strategy I've found for concentrating on work:
- Get enough sleep, and get up early (heresy for a geek, I know).
- Have some breakfast and then *dive right into work while you're still fresh*. Don't squander these precious hours on Slashdot and Reddit! Do 3-4 hours of work until your morning high is gone.
- Then stop and do some very intensive physical exercise for 45-75 minutes. By "very intensive", I'm talking about the frothin-at-the-mouth, panting, totally-drenched-in-sweat kind of stuff. My chosen exercise is to split firewood with a maul, at the fastest pace my body can handle.
- After going all out on the exercise, take a shower.
- Eat lunch and enjoy a bit of leisure (read Slashdot or whatever). At this point, the post-morning-high crash is long gone, but it should have been replaced by a feeling of relaxation (because of exercise -> shower -> lunch), but still with adequate energy because the exercise revved your body up. I find that if I don't do the (very intensive) exercise, I tend to be very sleepy from the time the morning high wears off until the end of the work day.
- Do another 3-4 hours of work. You'll probably find it easier to concentrate on boring work during this period of the day, since you'll be mellowed by the exercise -> shower -> meal.
- If 6-8 hours is enough, you're now done for the day. However, I sometimes find the very most boring work most tolerable between 8 p.m. and 10 p.m., when my body is winding down toward sleep. Just don't do anything so absorbing or intellectually taxing that it wakes you back up, or you'll be up really late.
I know these suggestions are not realistic for most people, but for those who work from home, they're feasible. That mid-day exercise provides a huge boost to my ability to concentrate.
Erlang.org: wow
If you're already making more than you need, why work more? Go to the park, watch some TV, rent a hooker, something. You have the free time without the worry, so go make use of it. I would love to only work 25 hours a week making more than I need.
Anyway, as to how I maintain my work focus- I don't. I've always had a poor short term memory and get distracted easily, so whenever I get something new to do or to get, I write it down. On a notepad, in a task file, anywhere that I can regular check when I say "Now, what the hell have I been working on?"
According to a friend of mine (I don't have enough money to do this myself) having two monitors can really help. Dedicate one window to mainly work, and the other to mainly fun. If you feel yourself getting bored, just turn your head slightly and read some Slashdot. The work will be right there, in the other monitor, staring you in the face. If you get a stroke of inspiration, you just turn right back.
Also, don't sit at the computer all the time. I worked in tech support for a small company for a while, and it was refreshing to get up and walk to someone else's desk to help them with a problem, or to replace a bad monitor/keyboard/cup holder. (I didn't have my sleep apnea diagnosed at the time, so I was tired all the time, but it still helped.) My new job as a programmer has me sitting in front of a computer for eight hours straight. We're allowed two fifteen minute breaks and a half hour lunch. The work environment doesn't really allow for personal web browsing, goofing off, or going somewhere for lunch. (Yes, I do hate it, but it's for an internship and is providing some great experience.) However, even taking a ten minute or so walk around the building is helpful in re-energizing me, at least for a bit.
Holy hibernation Batman! They trained me in kindergarten to take naps when I didn't want to take them. What's the use of training a child (who is against them) to take naps when they aren't allowed to have them in the future workplace! The public school system needs to learn that the "real world" is full of coffee and danish, not tasty paste and naps!
If it weren't for all the other people here saying 'enjoy the time off' I wouldn't say this, but: *no*, you're *not* making more than you need!
Ok, maybe you are. But I doubt it. First, a contracting career is not secure. That's why they pay you a premium: because you constantly take the risk of being fired without another gig lined up.
Secondly, how much are you saving? Emergency funds? Retirement nest egg? Do you have health insurance, 401/k, etc? Contractors usually don't.
Just because you're more than covering all your bills now doesn't mean you're making enough. If you don't have enough cash or readily liquidatable assets to cover 6 months expenses, I wouldn't be 'not worried', I'd be absolutely panicking.
My serious advice: see a financial planner, figure out how much you should be saving. Get a second contracting job to fill the other 20 hours of a full work week. You should be able to more easily focus when you have totally different projects.
And as far as motivation goes, shipping quality products to customers who appreciate it is more than enough motivation. I love seeing a hearing a customer tell me he's happy with the product, even though it cost him around $300k.
(I'm adult ADHD)
-- Cheers!
Thay try force us to stay focused by makeing us doing TPS reports
Sounds like you are focused enough to make enough money. Take some time and enjoy the other 143 hours in the week. What's the point in making more money if you're working too much to enjoy it?
I saw the coroner van in front of a $10 million house on Friday. See all the good that money did the dead guy.
As a contractor for 12 years I found that I get more down in my part-time hours than most people get done in their full time jobs. What's the lesson there? Double my rates.
On topic, you can stay focused by paying attention to your productive cycle. Do you work better in mornings? Evenings? Do you work better on a four or six day work week? My most productive times are 2-7PM and midnight to 5 am on a thirteen day work cycle (10 on, three off).
Also you should have a designated office space if you're working from home, something closed off from the rest of your home so you don't suddenly realize you need to do dishes or get the mail, etc.
If you don't have a lot of time specific events (calls, meetings, etc) throw away your alarm clock and find your natural sleep schedule. It will take around 6 weeks. Waking up and falling asleep naturally helps prevent fatigue and keeps you alert, and prevents burnout and mistakes.
Take time to eat proper meals, and don't eat sitting at your desk. Eating properly will help your concentration and leaving your desk will a) keep you from becoming a fat bastard, and b) induce more natural breaks from your work.
Of course some people just can't work in an unstructured environment. For them it's back to work.
1) Work in a cool & dry environment. If it's too humid or warm, you'll get lethargic and have trouble getting motivated.
;p). I find that if immediately after I wake up, I sit down in front of the computer and work until I'm bored it really makes me get a lot more work done. On the other hand, if I sit down in front of the computer and start checking news sites, etc. then it often takes me a lot longer to initiate doing the real work.. which is the major struggle in the first place.
2) When you're sitting in front of the computer and the work is just not happening, and you've reloaded slashdot 5 times in the last 5 minutes etc, get up and take a break. Don't force yourself to sit there. Walk around the room, or better yet that's a good time to walk to the store and do errands.
3) On the similar vein to #2, get yourself on a normal exercise program. Not a beat-the-crap-outta-yourself one, but something like trying to bike for an hour a day. When you're not motivated to work, get on the bike and go work out. It'll both give your mind a chance to float (and often come up with an idea about what you're working on), but once you make this a habit, you'll be more invigorated when you're done.
4) Most people can work most efficiently on stuff like programming immediately after they wake up (whenever that is
5) In terms of diet, caffeine and stuff like that.. I personally find that I work best when I'm not drinking, not eating sugary things that'll cause my blood sugar to fluctuate, and not on caffeine unless I absolutely need to stay up because a deadline is looming (another advantage of that is the caffeine works a lot better).
But beyond that, I'd echo other people's comments that if you're not having a problem supporting your lifestyle workings 25hrs/week, then take advantage of that and do things you find fun, indulge your hobbies etc. Chances are you'll wind up being forced into 40+hr/week situations for periods in the future, so take advantage of your current situation.
This may be self-evident for most slashdotters, but I found that when I get the time to think about whatever it is I am supposed to accomplish, and plan it out ahead into simpler tasks, for example in a tree structure according to scope / dependence (eg. for software : Project plan + requirements doc -> use cases doc -> functional specs ) :
- I get things done in time, and because I can finish-and-forget small bits, I get the warm fuzzy feeling inside of getting yet another thing done/leaping another hurdle. This also helps staying motivated, not in the least because you can track your progress.
- The completion time of a given project decreases (as opposed to just starting and see where you wind up) because everything was planned out in advance : every task corresponds to a given sub-problem/use case/functionality/... and going back and fixing issues becomes that much easier because you can place everything in its proper context.
Proper preparation may not be the proverbial holy grail, but it helps a LOT.
Also, this is useful for reporting to your clients and discussing matters with them.
Other notes :
- You will have to maintain your documentation/planning for larger projects in addition to implementing your solution, but for non-trivial projects your docs become the spine of your project, and they assure you when things go pear-shaped : if you have a rough time with a specific problem, you can isolate it from the rest of your project and dedicate the necessary resources to it (if the cost doesn't run too high).
- If you are unable to properly plan your project ahead you are probably not the right person to do the job, you will get stuck or lose a lot of time in research. This is of course interesting in situations where you are unexperienced, and a great learning experience when you can benefit from a bit of coaching from a more experienced peer. But it's not acceptable for a lone-wolf 'expert' contractor at a client site (unless your client is ok with this -- usually they aren't).
Don't laugh. I've seen a photograph of a retired professor of math holding up a cardboard sign reading, "Will solve partial differential equations for food!"
Good, inexpensive web hosting
I usually in the morning will catch up on what is new in the industry by reading various blogs and of course slashdot. I'm a java guy so I'll check out sites like theserverside.com. Then usually I'll start in on whatever I'm suppose to do. Fortunately, for me, my company likes me doing R&D most of the time so that means I get to play with new technologies (EJB 3.0 for example.) this is a lot of fun but it can still get boring. About every hour or so I take a walk around the builing and chat up anyone who is willing to listen. Another thing I do is walk around the building outside which is great for contemplating ifs, whys, and buts. Another thing that helps me focus is to keep work very casual. I like to joke around with my fellow developers and more often then not you'll find us yelling back and forth across cube walls. This makes work fun, I don't think you could find this in contracting though. In my company our development is physically seperate from everything else so we can get away with just about anything.
For me, it really depends on the environment.
While at college, I'd usually get the most work done listening to a loop of some pumping Nine Inch Nails while in a public place - people are usually too intimidated to walk up to you when you are banging your head and the keyboard at the same time (that is how I did a semester of programming in 3 days - 12 hours each day).
For my current primary job (graphic artist and web developer for a newspaper), I'm lucky to not have to come in until 9. I'll usually come in, check my e-mail, plan out the order-of-business, and do misc things not directly related to graphic design or web development (my primary duties) - not wasting time, mind you (I have a few duties that are more organizational than "turn-crank, produce product"). I'll take my lunch at 11:30, come back at 12:30, and be ready to start cranking everything out.
For my own web design business I run, I usually take my laptop into a public setting (I prefer the local coffee shop). I welcome interruptions, just because most people know I don't necessarily want to stop for a long period of time. Every half hour or so I'll have a 5-15 minute conversation. Sometimes I'll just quit working after an hour and socialize, but other times I'll work for 2-3 hours total, with solid productivity.
It also helps, on occasion, to mix up whatever duties you have. I like to avoid doing the same thing for more than 2 hours straight.
"Better to be vulgar than non-existent" -Bev Henson
India.
For me it is a case of sleeping well and eating healthy and being fit. A decent cardio and weights session 3+ times a week helps with the sleeping, gives a decent appetite and helps keeps the mood up.
I agree with those before who say take a break when you've lost focus. There have been more than a couple of times I've stared at a monitor for over an hour trying to force myself to see the bug, only to wander away for five minutes and come back to see the flaw straight away.
Avoid places or situations where there are lots of distractions. There have also been times when I've been totally immersed in the code only to have somebody interrupt and to lose my place. It's not the ten seconds it takes to answer a question; it's the lost time it takes to get back in that mind-zone. (Little trick about working at home, have an agreed upon signal of some kind to tell people that it's absolutely not okay to interrupt you in anyway, I wear a baseball cap.)
Oh, and coffee to maintain focus. Proven to aid short term memory and concentration (Or so they said in my introductory psychology paper, it may have been sponsored by nestle though).
Then again, I could be wrong.
I have a hard time focusing. (Diagnosed ADD, among other things. And no, the drugs do NOT work for me. Not with serious and unpleasant side effects. Like losing weeks of memory.)
I just shut out the world.
I spent a hundred bucks on a good set of headphones for my laptop. I have a large collection of music on the hard drive.
Lords of Acid gets me through the work day.
"Trademarks are the heraldry of the new feudalism."
Be consistant:
- Set up a regular work space
- Keep it clean
- Keep regular work hours
- Keep a regular break and lunch schedule
- Separate, as much as possible, your 'home-space' from your 'work-space'
- Set goals for hours worked per week and per day
Be your own boss:Just don't fire yourself.
However, the question stands: How do you work best outside an office environment?
I think this is the key that many other people who have posted are missing. Outside of an office environment, it's really tough to maintain that discipline. There are too many distractions at home. Many can do it, but the majority aren't wired that way. So don't think that, short of drugs, you can just change a couple of things and magically focus twice as much. Odds are, you can't.
My advice, having experienced the same thing, is this: find other contractors in your area who are in the same boat as you. Get together and get some office space and recreate the office environment. Generally what I've found is that what motivates people -- and I certainly fall into this category -- to work is being in an environment where everyone else is working too. Then when you stop working, you start feeling like the odd man out and want to work again. So if you can get a reasonable sense of the office environment, you can motivate yourself that way. And, if getting actual office space isn't feasible (and there are tons of reasons why it may not be a good good risk for you) then consider looking up various packaged/executive office spaces where you can rent a small office. If you're in a larger city, you're bound to find companies offering this service... generally anywhere from about $400 to $1000/month depending on size of office, what services are included, the going rental rates, etc. You often also get the benefit that they'll answer your phone professionally for you, which might be a plus for you too. If you're in a smaller city with a low cost of living, you might find something even cheaper. But the extra cost will more than make up for the increase in productivity.
Or, partner up with a company that you've dealt with before. Many have more office space than they need and might be amicable to letting you take up an unused office or desk in exchange for some consulting work.
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
When you get too exhausted, clear memory and reboot by getting a blowjob.
Above post made by Cowboyneal sitting at the server console.
OK, I'd have to go with the general concept offered by a couple other posters.
You're already making (earning?) more money than you need, yet not only want more but want others in the programming community to give you ideas about how you can stay alert enough to earn more?
Please understand that I'm not trying to be rude, but I personally know programmers who have been forced to find other lines of work due to layoffs and to the general dearth of jobs following the "dot-com burst."
If you find it hard to stay alert enough to earn even more than you've already admitted is excessive for you, please stand aside so that other people can step in and earn. Some (most) of these people have trained specifically to become programmers but got bumped out, and it's just possible that they can do a better job than you.
Again, I don't mean to be rude at all and I truly wish you the best success in both your current job an any which may come in the future. Still, some may interpret your entire question as a slap in the face against those who have been working for years on end in programming only to be kicked out into the cold.
I have found that a chair that is neither too comfortable nor too uncomfortable helps out a lot.
Also, proper lighting helps. I hate working under fluorescents. My office has a south facing window and in the winter I get lots of sunshine coming in and I can work without my office lights. If I bring my laptop home, I like to sit at the kitchen table because the lighting is nice and bright. The family computer is in a dark corner and it's impossible to do any real work on that machine.
Also also, if you have a boss it helps if he/she is out of the office a lot so you can actually do the work you've been assigned without having him/her dump more on you!
Seriously.
I'd never kept a job longer than a year and half until i got a prescription for Adderall. Adult ADD is a bitch and seriously hinders one's performance at work.
I work as a systems admin, and program games for fun. I say fun, but in reality it's not much fun anymore. The reality of it is, that the project I'm currently working on is so large, and so much work has been poured into it, that I can't foresee giving it up, so I continue to plod along. With that being said, I can relate to your circumstance. It's hard to get motivated at home. Here are some things I find helpfull.
1.) Keep a bug / todo / wishful feature list with EVERYTHING you can think of on it. If you run into programmers block, visit that. Try to work on small things, with big returns. Features that provide quick reward. That gets me into the swing of things.
2.) Determine you most productive hours and environment. Get into a routine around it. Develop a ritual and stick to it. Even if it's take a shower, make a cup of tea and eat an orange. That's mine and it's what I always do. My body and mind seem to know when it's time to focus because I have a pattern. Don't let anyone bug you. (Wife, BF, Cats, Mom - let them know when it's time to stop bugging you)
3.) Music and fresh air really help. As does good lighting.
4.) Listen to classical music. Really, it's provocative and relaxing at the same time and kind of encourages a mind grind.
5.) Work with pencil and paper for a while on a nice big notebook. I do this often, when I need to design.
6.) If you have a laptop and your really stuck, or have personal issues that are dragging you down, go to your local library and pick a cubicle. The library is where I do my best work because there are no distractions, clean air, good lighting, and it's a library, what else are you going to do?
I can't which is why I'm currently unemployed. The work has to be interesting, which it was for a while but then I got put on a project which I could not get out of, and was incredibly boring. So now I have to find another job where the work will hold my interest. This probably sounds like a cop-out but I have not found any other way to deal with my problem.
Pr0n
Games
Naps
Caffine
Error 2101: all your sig are belong to us
A couple years ago Linus came to speak at the monthly meeting of the San Francisco Bay Area Linux User's Group. They were giving out t-shirts with this on the front. It was kind of ironic because not soon after, One of the most visible linux companies in San Francisco (and a supporter/sponsor of SFBALUG) reached it's apex and began a downhill slide. What had been a cheeky joke had become suddenly very somber.
Stay sentient. Don't drink bad milk.
um, duh....
use an agile framework like Rails, work for 4 and bill for 8.
use the other four to play with your kids after school and build lego mindstorms and read slashdot.
get into a situation where you stop thinking of work as "work" but rather as your life.
get to a place where over beers on sundays with friends you say things like, "And can you believe it, they actually PAY me to do it! I can't, I just to come in and do what I love and they give me cash."
If you are having trouble with motivation on anything, it's because what you are doing is not what your brain wants you to do. There is a problem in aligning your interests with your actions. Meditate a lot. Read some books like "Do What You Are" and talk to a really good career coach, even if you have to pay them. You will figure it ALL out if you really want to.
Morning hours for computations. Put in a 20 min nap at 1pm if you can. Avoid stimulants or else find a new brain to take your place.
I'm currently working on a project and I find that I'm usually most productive right after talking about some aspect of the project with the other people working on it.
I think part of this is because if one person is focused it seem to help keep everyone around them focused as well. Just keep away from to many jokes and off topic discussions (although a few are good). When I'm working by myself my mind will wander but if I'm working directly with others I have to stay focused.
With small projects/teams this can be especially helpful because it will change up what you're working on from time to time and help get important things done first. For example, if you're asked whether feature X works (and it doesn't) you can implement it right away and take a break from what you were working on.
Hi, I'm just planning my day and trying to keep promises to myself. At least once per 2 hours I'm reflecting what am I doing. This helps me staying concentrated on planned task. I'm using DevPlanner, but sure there are a lot of other titles.
Oops, I already lost my focus while reading this article. And this was the first thing in the morning.
Ahh, my friend, I usually refer such matters to professionals.
No sig for you! Come back one year!
$150 a month and free weight loss to boot!
In reality, studies have shown that mind jobs, such as programming, make people tired faster. Therefore, you do not realize it because the men upstairs don't want you to, but in an 8 hour day, they only really expect about 4 hours of real actual work. Now that's not to say you shouldn't go in at 9, stop at 1, and chill till 5. About every hour, I take at least a ten minute break. During that time, I walk away from my desk. I talk to my co workers about my weekend plans. I get something to eat. I just do not think about what I have been doing. When I come back I feel better. The key is, do not push yourself. Just do as much as you can comfortably do. Take breaks as you need them.
There have been a number of psychology studies that indicate the usefulness of both short and long breaks. Nevermind preventing damage to your eyes by not looking at a screen, but a 10-15 minute break will allow you new stimuli (to keep your mind fresh), and a chance to push that problem you've been turning over into your subconscious. It's not by coincidence that 'sleeping on it' often makes whatever hard problem we have to deal with a little clearer and less complex. By distracting our consciousness from the problem it allows our powerful subconsious to take it over (the same subconscious that's capable of comprehending speech's sound waves and turning them into meaningful concepts, as well as many other amazing feats). In short, I stay focused by not staying focused. Aside: While caffeine can make you feel more awake, it's much more of a detriment in the long run. You'll get a burst of clarity but then be left largely befuddled by the drug itself... best to stay away from it.
Focus on the number of stippers you can pay for. Find something stupid to buy, like a boat. Code for a Open Source project you LIKE. Just find something more in life than how many zeros you have to do nothing with. If that doesn't work, hire a geek dominatrix... type faster bitch, do it like I tell you too.....
# aptitude install workrave
http://www.workrave.org/
I'm a tech writer. I'm writing all the new content for Windows Vista. How could anybody stay focused through that? I just let my mind unfocus a bit and get stuff done.
Try adjusting the settings on your monitor around. I find that having a certain resolution and refresh rate allows me to focus a lot more. That and a lot of mountain dew. Oh, and if you feel that your losing your concentration, go take a nap
Klingon Software is not released, it escapes, inflicting terrible damage onto the enemy as it does
Depending on your corporate culture (though personally I'd never work somewhere more concerned with appearances than worker productivity), I'd reccomend some music either on headphones if in a cubicle situation or softly playing in your office. Take a short break every 45 minutes. Once a day, have this "break" be your suck up period for your boss. Give him (or her) a general status report, inquire about any anything you need to ask, then ask him (or her) a few personal questions. You have no idea how asking how your bosses weekend went will help your career. Basically, when you take a break actually walk around, don't just read /.
I often find that I encounter seemingly trivial setbacks that somehow end up taking forever to solve, such as an errant database connection or a z-index problem on a website or browser issues, etc. The documentation either doesn't address the issue or things simply don't work like they're supposed to. The snag isn't central to the actual project, but it ends up taking me forever to address, wasting hours of my time. Increasingly, I've begun to identify and define exactly what the issue is ("div over a windowed object"), and instead of continuing to work on it within the context of my project, I move on to something else. Later, at home, I create the simplest version of the snag possible, and solve it as an isolated puzzle.
That's one of my typical productivity issues. The other is what I would call "overthinking" an issue. Too often, I find myself trying to think of the best possible abstraction for a system and end up avoiding the task because of the difficulty involved in trying to do so. The nebulousness of the problem doesn't allow me to solve it in a one or two hour session, so I put it off if it's almost lunchtime or if there's a meeting soon or if it's near quittting time, etc. In avoiding it, it only becomes more unworkable. I eventually am forced to make progress on it, and for some reason I then am able to break it down into smaller problems instead of being cowed by the abstract whole. The time pressure focuses me, as I no longer have a large amount of time to create the best solution, so I'm satisfied to produce a workable solution. This may just be unique to me. I don't know the idiosyncracies of other coders.
Both of these boil down to the ability to break down your problem into workable pieces so that you can make progress regardless of limited time or perhaps just a bad day mentally. If you can budget your time into productive blocks (2+ hours at a minimum) and keep your brain sharp (get your sleep, eat right, exercise, regularly take any meds you may require) as well, you really can't do much else individually to improve things.
Here's what helps me:
-Use a good, large monitor with the highest resolution you can see easily, set to the highest possible refresh rate.
-It's amazing how a good quality mouse & keyboard can improve your work environment. $30 for a high-quality Logitech mouse to replace a 10 year old Microsoft POS is an excellent investment.
-Get a large collection of music and the best headphones you can afford. Cheap uncomfortable headphones will just be annoying and induce headaches. Good ones will make your work much more enjoyable.
-Ritalin. The thought of having ADD never really crossed my mind until I talked to my doctor about my problems at work. He diagnosed me for ADD, and I ended up nailing pretty much every symptom. He said that it's extremely common among computer programmers. Ritalin has been a miracle for me, especially when it comes to getting through boring repetitive stuff.
This kind of frustration is very common, and it makes sense. Most of us are programmers because we enjoy the challenges, complex problems, and creativity that is inherent to programming. But we also end up maintaining software, making trivial revisions to other peoples' work, and doing repetitive, simple, boring tasks.
That's somewhat unique to our line of work-- playwrights don't have to make copies and revisions of other peoples' plays. Automobile designers don't spend half their time bolting things together at an assembly line. I never saw the guy with the afro get interrupted in the middle of painting his "happy trees" because his manager needed him to go whitewash someone's garage.
I tend to listen to tunes a lot when I'm writing a lot of code or doing some heavy design work, and I find that certain types of music do help me focus. I also take web breaks from time to time, or sometimes I'll take a little time off to work on something completely different (since I wrote code professionally on two different platforms right now, I usually flip to the other side of my development life for 15-30 minutes just to clear my head out a bit). After the short break, I can usually dive right back in.
Yes. I find that a consistent schedule helps me. I know when I'm supposed to be working, and I know how long I have until I can stop. A freeform schedule is harder for me to follow -- I need to have defined hours. It's a crutch of sorts, I know.
I'll get up and walk about quite frequently when I'm working on something which requires intense thought. It helps me to get away from the desk for a little while so I can reflect on things.
No. I used to work later (usually noon until 8:30 or so) when I was at a previous position with very flexible hours, but I still went to my formal workplace every day. These days I tend to work from 10am local time until 6:30 or so. Consistently. It helps me to define a work context and helps me to get into a work-related frame of mind.
I find that I have too many distractions outside the work environment. I can pull off working at home for a while, but it takes more effort for me to focus. If I'm actually at the office, I know I'm supposed to be working, and that helps motivate me to focus more.
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
MUTITASK! What are you doing now? You are at work, and you are reading Slashdot. If you wish to classify "reading" / "researching" as part of your work, I am pretty sure that it can be arranged. After all, you are programming .... right?
"I'm making more money than I need."
Try opening a savings account. Also try considering the luxuries you do have, which ones you really enjoy, and spending more money on them.
Have you considered a vacation?
"sometimes it's hard to stay focused for more than 5 or 6 hours at a time."
Yes, this is why we have lunch hours, and why crunch time mostly just results in frazzled developers and probably less actual work done, once you factor in fixing your mistakes.
I'm not a programmer - I'm an illustrator and animator. I work in a fairly technical fashion, and I've had issues in the past with my attention span. Know what's done the most to increase my attention span for stuff I really don't care to work on that much?
Estrogen.
Seriously.
I'm somewhere in the middle of a male-to-female gender transition. When I was a boy, I simply could not make myself focus on something I didn't want to. All kinds of distractions presented themselves, constantly. Now that I'm on the other side of things, with a brain floating on estrogen, I have a lot more ability to just make myself shrug and work on something that's bringing in bills, and then guiltlessly go work on something for myself once that's done. And stuff gets done on time when the deadline and/or my estimate is sane. When something goes wrong like a file corruption, instead of flying off in a storm of annoyance, I can calmly assess the damage and recover what I can.
And when I forget to order more in time, or when my supply's interrupted by customs siezing a shipment of hormones or whatever, it becomes a lot harder to focus.
Now, I'm not saying you should dose yourself up on estrogen! But... chemicals can have a powerful effect.
Oh yeah, and caffeine never helps me. When I try to use caffeine to stay up and work longer I just end up tired for longer 'cause I can't go to sleep.
Mostly, though, in your case? Examine this urge to work more. You're working twenty hours a week and making more than you need. Invest, help out your friends, have some fun. If you want to work more, start playing around with personal projects. Nothing huge and ambitious, just stuff you want to make. Tools that scratch your itches. Games you think are fun to play. Maybe not even code - ever wanted to be a painter, a potter, a musician, a writer? Buy the tools you want. Buy the tools your previous line of work didn't pay you enough to afford. And use the time you have for yourself, not as a contractor.
You're not gonna lie on your deathbed saying "Man, I wish I'd spent more time being a consultant and enhancing b2b synergenizitation of widgets".
egypt urnash minimal art.
Most important: Find a routine that works for you!
My steps are more or less like this:
* I come in late (I always come in at 9:43)
* I don't work more than 1½ hour in a row (Except when I'm on a coding spree)
* Make sure my desk & general work area doesn't have too many distractions. (Throw away the family photo's and post-its, that's what jpg's and txt's are for)
* Eat lunch the same time every day (And I take around 1½ to 2h before I begin working again)
* Good Headphones are great to ignore the outside noise/world and concentrate on the task at hand.
* Skip the surfing in between breaks.
* Don't be afraid to take powernaps (use an alarm and don't sleep more than 15-20min)
* Be sure to do something with your spare time so life doesn't become one big routine
* Get a reasonable goal to keep the big picture (My goal is a house in Spain when I'm 35)
It took me around 2 years after I started working my first fulltime coding job before I actually found what routine that really works for me.
If you're getting 5-6 hours of productive work done on most days, you're about maxed out. It's a rare day that I can actually write productive code for 8 hours. You need to fill the rest of the day with reading, writing doc, building test environments, etc. Or meetings.
About True science means that when you re-evaluate the evidence, you re-evaluate your faith, I have to agree.
Most truly impressive scientific advances come with re-evaluations, as Isaac Asimov once put it, The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!', but 'That's funny...' which will happen more often to people who take a break and a fresh look, as you advise.
Mr Asimov also needed to re-evaluate a lot of his own principles, even though he did fairly well for such a self-limiting personality. OTOH, while Charlie Darwin butchered quite a huge number of concepts very badly, he seems to have spoken this particular one pretty well: Ignorance more frequently begets confidence than does knowledge. The bottom line is to take a break, not disconnect yourself completely.
Got time? Spend some of it coding or testing
I don't.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
Since I'm much more of a night person, I come in around 1pm every day and stay til around midnight--or at least I did until we moved into the building.
:)
I'm not so good at mathematics, but I think that's 11 hours in the office a day.
Do you work a 4 day week? If you do, you're "only" putting in hours for an extra half day per week.
It's gotten to the point where I just started going home at 8 or so because I would accomplish absolutely nothing by being there.
Oh wait, never mind. You only work 7 hours a day. Well done!
What do other programmers do to motivate themselves?
You don't need to "do" anything to stay focused on programming... If you love doing it, your friends and relatives will complain that you spend too much time trancing out while staring at a computer. They'll worry about your mental health that you would rather pass the time reading what they perceive as meaningless blobs of punctuation with the occasional English-like word thrown in, rather than something "healthy" like watching TV. They'll irritatedly point out that your mere three "just a minute"s have taken over half an hour, and you really felt like only three minutes went by.
Or to put it another way - Given your described work-week, A good coder wouldn't ask how they can force themselves to work longer to make more - They'd just spend the surplus of free time "working" on their own code, a nice open source project or the like.
Perhaps you do a decent enough job at coding, I don't mean to disparage your skills. But merely asking your question means you don't love programming. You do it for pay; not for the pure joy of losing yourself in an elegant algorithm, or even just the simple satisfaction of killing bugs in a section of code written too hastily for a deadline.
Are there types of breaks that you find really increase productivity?
Sorta... You don't code as well when you really need to pee; and if you use that as a sort of built-in alarm clock to go for a 15 minute walk (around the block, around the building, or in a big enough building, just down to get coffee and back), you'll find your neck, back, and eyes don't hurt at the end of the day.
I'm making more money than I need, and more than I'm used to even working 20 or 25 hours a week. I'd like to work more, and rake in even more money
I say unapologetically - Get a frickin' clue.
You don't work for the sake of making money - You work to afford to enjoy your time off; You negotiate to maximize your time off, trading as much pay as you can bear to lose for as much vacation time (or the shortest work-week) you can get. Even if you spend every second of your time off doing almost exactly the same thing you would do at work, it still counts as your time, not the company's. Enjoy it!
If you already make more than you need, and in a work-week that most of us only dream about - CELEBRATE! Don't ask slashdot "How can I lower my quality of living in exchange for flipping bits in a bank's computer". As they say, no one ever died wishing they had worked more.
What's the use of training a child (who is against them) to take naps when they aren't allowed to have them in the future workplace!
Naptime isn't for the benefit of the children, but for the teacher. The fact that it reduces the chances of her strangling any of them is the main ancillary benefit they receive.
http://alternatives.rzero.com/
I find that I get a lot more done during the night. I set a goal for one night, and I work at it. I have set my working hours from 10:00pm - 4:00am, which I feel is reasonable... as I can still get enough sleep and be up around noon to enjoy most of my day.
;-)
I simply cannot do any work during the day. There is always something else to do -- like buy groceries, pay bills, relax and have a beer, etc.
If it's feesible, I suggest trying to work out a schedule later in the day or really late at night -- I don't have any issues. Except, of course, trying getting up at noon.
As a summer hire programmer for a small business, I find it damn near impossible to focus on task as well. I find that programming small webapps and such is boring and not very stimulating, so I tend to waste time half the day reading slashdot and other various forums. However, when I do make myself stay on task, the common reasons are music, beverage of choice (sleep is hard to come by, so keeping hydrated keeps me focused), and simply the knowledge that if I don't meet such and such deadline then I'm rather screwed. I think, though, that the best way to stay focused is having a goal in mind and not stopping until you've accomplished it. That sense of accomplishment is usually enough to renew your interest in a project.
Take up smoking - then you can have a 20 minute break every hour but be paid for the whole hour. As a bonus you get to piss off us non-smokers that get paid the same as you do for doing 1/3 less work (and that's now you make MORE money!).
If you're making more money than you need then you need to plan for the future. I take it that you're young. It is not too early to start saving for retirement. Yeah, I know it sounds silly to think about retirement when you're in your early 20s. It's worth it though. I won't waste your time with numbers but there are plenty of websites out there that you can refer to. The main thing is to increase your retirement savings. Does your company have any retirement matching (ie, do they match what you contribute up to say 5% of your pay?)? If so then take advantage of it. On top of that increase your retirement contribution to use up some of that excess income. If you are really lucky and are making and putting enough $$$ into your 401k to hit the IRS limit then contribute to an IRA. The limit on that is $5k. Do you still have $$ to play with? First off make sure that you have no debt. Next look into investing in a home instead of paying rent. This is what I'm getting ready to do. Also same up some $$ in a fairly liquid form (not stocks but perhaps bonds) for emergencies. All too few of people have any cash on hand for emergencies such as major vehicle repairs, medical problems, deaths in the family requiring traveling, etc. The whole point of this is that you should take advantage of your good financial years to plan for potentially bad financial years. They happen to everyone so you should be prepared. Plan ahead and you'll have less regret later.
Coding for 16 hours and sleeping for 10? Please share your day-lengthening secret with me - the extra sleep would be great.
I'm a web developer - myself and my colleague run a web-app & eCommerce design firm (www.blubolt.com). He works 7am-9pm, with 1-2 hours off, 7 days a week - when he's working, he's working, and he doesn't stop/browse/whatever - he does the design/html/css. I work 9:00 am - 3:00 am - I stop what i'm doing and spend 5 mins browsing/whatever every 20 mins or so, and go for 20 min walks when confronted with a challenging problem - admittedly if I'm interested by something I can focus on it for 4-5 hours on end...
I guess it's different strokes for different folks - I work well in short bursts over a long period of time, he works well in one large chunk over a shorter period of time.
Only three comments I can give are:
1) Make sure that programming is really what you love doing, and not just what you do for money. I consider programming to be like what I would imagine, (perhaps incorrectly since Im not one) playing music would be like to a true musician- something he or she just does, and would do whether or not they were being paid to do it. I just like the physical act of just pounding out a good set of code and even when Im doing stuff that I dont like, usually its the situaton, (e.g. tracking and fixing a really nasty bug, fixing OPP's (other people's problems), working with a crappy API that I hate and didn't have any input in choosing) and not the coding itself that makes me want to stop or gets me bored. And usually even in those situations its easy to psych myself into remaining focused by reminding myself that the faster and better I do it, the less time Ill have to spend on it or looking at it.
2)Leave home and go somewhere else to work. Even when Im working for a large corporation that allows me to work from home, I tend to find that Im a lot more productive if I leave my living space, (with all its distractions), and head to a good cafe, (a bit grungy, with free internet access of course, lots of outlets and a good cup of cappucinno). I usually find that after Ive been going there for awhile I, like Norm, even have a favorite table (close to the bathroom but out of the main foot traffic throughfare) and once I'm there then its really easy to zone out for 4 hours at a stretch and get some good coding in. I even find that the background noise helps get my creative juices flowing. After 4 hours I usually stop and walk around outside or talk on my cell for awhile, but after that its easy to get back to work. Sometimes I split the 8 hours between home and a cafe, but I find that if I just stay home, after about 4 hours then the temptation of too many other things to do at home is too great to resist.
3)Along with your programming books keep a copy of "The Good Earth" by Pearl S. Buck or "The Jungle" by Upton Sinclair or "Oliver Twist" by Dickens or something by Steinbeck or any book that has a grim enough description about some type of physical manual labor. I flip through these from time to time and then after I compare what type of work I *could* be doing if I was unfortunate enough to have arrived on this planet in a different time, or out of a different portal, and how incredibly lucky I am to be able to actually sit in a climate controlled environment and get paid, well, for just pressing some keys and spewing out some garbled text, then the guilt and gratitude usually makes it very easy to stop fooling around and get my butt back to work.