Where's Your Coding Happy Place?
jammag writes "Cranking out code — your very best code — requires being in the optimal environment, muses developer Eric Spiegel. He explores the pitfalls and joys of the usual locales, cubicle, home, the beach. He claims he's done his best coding on an airplane. In the end, though, he suggests that the best environment is a matter of the environment inside yourself, your internal mood — and to hell with the cubicle or wherever. You have to be focused on quality, regardless of the idiot clients. It's all inside your mind. Where's your coding happy place?"
Lightly sweetened breakfast tea, rainy weather outside, window cracked with a brisk morning breeze.
Oh, yeah, and vim. Emacs can suck it.
Nearly every location on this list is full of distractions. True, I can multitask while the TV is showing something I've seen or do not care about. Unfortunately, if it's a movie out of my Netflix queue, it greatly hampers my progress.
Some of these places are just plain uncomfortable like public transportation or an airplane.
Your bed?! The place where you sleep? Seriously? Granted there aren't a lot of places to suggest, this list blows. I'd be swimming if I were near a pool.
For me the biggest factor is nice studio quality headphones covering my ears producing low volume music. Maybe it's my favorite non-talk radio station (The Current or Radio K) or maybe it's some classical/jazz/rock album I just picked up. My hands and eyes are busy only with the task at hand. An internet connection will help break the monotony for short periods of time and keep me at full operating power. After that, I like to have hot tea, coffee or water at hand to drink and maybe some raw almonds to munch on. A relaxed position and a bathroom within short distance makes for the optimum coding environment.
Assuming I have no questions about requirements or technology, this is the state I usually like to be in.
My work here is dung.
...it was while waiting (and waiting, and waiting) to be called to sit on Jury Duty. I sat outside on the smoking patio (middle of summer) near an outlet with my laptop and generated some of the best code of my life. Perhaps I should start volunteering for Jury Duty...
I think I peak at 3AM
Strangely enough, I do some of my best coding with the laptop on the sofa in the middle of the living room of my italian in laws... And they are fairly stereotypical... I'd say it's stimulating ! I used to write letters to girlfriends in noisy bars...
Non-Linux Penguins ?
If you think this is a troll, you obviously don't work amongst people. Just shut up for a while and maybe I'll get that done, but with all your blabbing and meetings and documentation I just cannot do what you're paying me to do.
Now go away.
Where there's Ginger Snaps and S. Pellegrino, there is good code.
I used to drive a big rig, and I'd stop here. I was always in the mood to code after I stopped off and picked up a burrito from a Mexican food place in next to the information center, and a cup of coffee from Starbucks.
Walk back to my truck, hop into the sleeper munch and code for the next couple of hours.
Sad to say, but the "best place" to code in depends on what your goal is.
After the best quality code? The best place is a quiet place, free of distractions, where the problem can be easily and clearly understood.
Want the best mood while coding? That's when you consider the balcony of a beach-front apartment, or a nice table with comfy chairs at a restaurant with a view for the afternoon.
Pick your goals, then come up with what you are after.
The trick is to find a place with a good combination of comfort for long-term developer happiness and contentment and actual good results. So a nice office with full snacks, comfortable chairs, nice lounge, music, being treated with courtesy and respect, decent pay, decent benefits, and having the freedom to develop in a non-restrictive manner, while still being held accountable for the result is a good mix, and that's where most businesses tend.
Including my own.
I have no problem with your religion until you decide it's reason to deprive others of the truth.
On a plane on the way to do a not-working-yet demo. Best code? No. Fast code? Very.
I get home, I kiss my mom
And she fixes me a snack
I head down to my basement bedroom
And fire up my Mac
Yes, I am at my most efficient while reading Slashdot. Or just generally browsing random web sites
huh? Oh... OK... nevermind, my boss was walking by as I wrote that previous bit
All my best coding takes place in the middle of the night. It's quiet and everybody else is too busy sleeping to distract me.
Unfortunately, the times when I'm really tearing it up are usually the same times that I have to be awake and alert in 3 hours or less.
At the bottom of a bottle of whisky.
Sadly, by the time I get to a computer I often lose some great coding ideas.
Flexible bare-metal recovery for Linux/UNIX
I need music with no vocals - mostly classical and techno. I have a special playlist called "coding" for those times when I really need to be focused.
PHEM - party like it's 1997-2003!
While the basement is quite good for me, I always get interrupted by my partner as this is her favorite place too. What we do while there is just not relevant to Slashdot's audience at the moment. But I will say I hardly get anything done on the coding front when she drops by.
I tend to agree with Spiegel about the dev's state of mind being important. At a previous job I had the opportunity to work from home and also to work in an outdoor patio space at the office. While it was a very nice perk to see sunlight and get fresh air amidst coding away on my laptop, I don't think the environment helped me be *significantly* more or less productive on its own. If I was anxious to complete the task at hand (or the task was particularly interesting to me), then no matter what my physical location, I got my job done faster and better. If I was distracted by some family issue or something going on outside of work, then regardless of whether I was in the office, at home, or outside, I couldn't focus and couldn't get things done. And more importantly, I couldn't get things done right. This is not to say environment is completely unimportant. Faced with the decision of working in a noisy office with coworkers that are constantly talking to clients or amongst themselves, or working in a quiet home office or outdoor space, I would choose the latter two...
Out on my lanai latte firmly in hand, sunny day, not too hot. After sunrise, before sunset in the summer, during the day the rest of the year.
My blog
Next to the fireplace, with my son sitting on my back. Doesn't get any better than that. I would have thought it distracting to work from home like this, and instead I think I've written more, and better code, than I have before. Just awesome. One thing I could improve, would be to have some music going... but that's just laziness on my part.
This is my sig.
It would seem that no matter where I am, the best coding I do is at about two to four in the morning. It's that time of the day when the internet is somewhat at rest because aussies are going home from work and having dinner, americans are just starting to actually work, or are getting to work and europe is mostly at sleep.
Then just put a movie or some tv show on the second screen and code away. Nirvana.
However about writing fiction or any sort of prose, I'm very picky as to the locale. It has to be a busy coffee shop or better yet, a club event. No idea why, just has to.
I do the best coding in my room, my one computer playing music, or a movie, while I code on the other. My fridge nearby for a quick soda or beer. Although, if I had a good laptop and a secure connection, I think a quite coffee shop would be the best coding environment. It would provide an endless stream of caffeine and calming influence, while still providing enough entertainment to give me a moments distraction when I needed it.
I'm at my most productive at 2am the night before the project is scheduled to go live.
I'm at my second most productive at 9am the following day while I'm patching the running code on the live system to fix what I didn't have time to test the night before.
It's more about the day than the location. Any day I don't have to get up with an urgent purpose such as getting in the car and driving to the office is best. Having time to get up when I want, make a nice breakfast, watch the news for about 45 minutes then get into it.
As to the location, I like quiet and not to be bothered IE: My study. The position I'm sitting in must be of a high comfort level (feet kicked up on the desk, in a chair that can lean back pretty far), keyboard in lap mouse to the side and monitor dead elevated for easy viewing in my laid back position.
My Comic : www.ourbadidea.com
Blame the artist for all mistakes!
Anytime from just after sunset until the early AM is the best time for getting something done code wise.
I find it best to code without the slightest care for my surroundings. Pile high the wrappers of gum and snickers and fart wildly without the slightest resistance. Open up Geany and fire way, tapping the hell out of the keyboard littered with bodily fluids, crumbs, juice, and only god knows what else.
Perhaps the serenity of being next to your significant other results in perfect code. If any friskiness starts up, then maybe itâ(TM)s time to go back out to the couch.
I'm sure it was only intended as a joke, but if any friskiness starts up while you're coding in bed, and you choose to move to the couch, then maybe it's time to rethink your priorities.
Those sound like mostly horrible conditions to work in! :)
Although place is important, time is probably MORE important. And this is where people will differ even more. I know people that will get up at 5am and get most of their "good" work done by 9am. That's not for me. :)
My personal best time is later at night. a) most people are sleeping, so not too many IM distractions. b) it's quiet, the neighbourhood is quiet, wife is most likely asleep, it's quiet. I can think.
In terms of place, most of the time, these night sessions are done in my home office.
AirSpeak - http://itunes.com/apps/AirSpeak
Anywhere there is silence. I hate trying to think while listening to people blabbing on the phone or BSing with each other across their cubes.
But my screen keeps getting greasy.
I always have to remember to bring Windex, paper towels and lots of singles and fives.
Harrison's Postulate - "For every action there is an equal and opposite criticism"
I don't have a place, I have music and caffeine. If I hear old Crystal Method or Orbital, I immediately think of late nights in the zone with Mountain Dew and Code.
The only enemy of "The Zone" were morning birds.
If I heard birds chirping, I knew I didn't have much time left before my mind would go.
While the basement is quite good for me, I always get interrupted by my partner as this is her favorite place too. What we do while there is just not relevant to Slashdot's audience at the moment. But I will say I hardly get anything done on the coding front when she drops by.
What... does your mother make you pick up your dirty socks?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
When your mind is very very quiet, just watching your hands work. You could be changing your oil or knitting or chopping vegetables, it really doesn't matter. It's the stillness.
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
My happy coding place is in the middle of the afternoon, inside, with all the window blinds drawn and lights off with the humidifier on max and a fan blowing at me.
Or, inside a cave is good too.
My favourite coding place? Well, I code for a living, and I have to say work, without a doubt. I'm far too easily distracted -- work is the worst place to get stuff done, except for all the others.
That said, badly-designed workplaces can destroy productivity. If your workplace is anything like mine, where your employer doesn't give a rat's arse about their developers' productivity, everyone will be sat at packed-in "open plan" offices, where every stray, stupid remark, every loud phone call, every meeting and every joke (and resulting braying laughter) meld together to create a totally useless work environment.
Perhaps that question should be rephrased to "what time of day do you get most work done?". Given the City's workaholic culture, most folks leave the office at 7.30pm, so my productivity peaks some time after that.
Yeah, I'm a sad bastard with no life :-)
Drunken mistakes aside, drinking relaxes me to the point where I can get really creative and get a lot of stuff done. Only if I could drink at work...
Best productivity is in India. Not sure if it's the food or what... but I am 4x as productive as in the US.
within arm's reach of a pint of stout.
If you can't see the value in jet powered ants you should turn in your nerd card. - Dunbal (464142)
My coding happy place is just that... inside my head. I can code anywhere, anytime. Give me some quiet music and a set of headphones and I can escape all distractions and make the whole world disappear.
My wife hates it when I enter that state because she has to all but hit me to get my attention. A state of concentration that intense is when I do my very best coding. It doesn't matter where I am, as long as I can get into that state.
Thomas A. Knight
Author of The Time Weaver
For me, when I am really seriously coding, I could just about be anywhere; nothing would disturb me. As a matter of fact, a couple a weeks ago a colleague grabbed me on the shoulder at work, while I was hacking away, and said, "We have to get out of here. There's a fire alarm. Didn't you hear the alarm?"
Um, no, and I wasn't wearing any headgear.
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
i love coding with my boss in my shoulder pseudo-auditing my code and constantly reminding me the project schedule...
On the throne. Nothing clears my head and lets me write beautiful code like a mass-evacuation.
My happy place is like that scene off of Happy Gilmore where hes got beer women and stuff...
Really though I find that my best coding comes after sitting down in front of a whiteboard planning things out(sometimes I can do it in my head) so that I know exactly what needs to be done. I find it puts me in a good mood to have a clear idea of what's going on and I can focus on what needs to be done. It also helps with the quality of my code as I'm not jumping from one idea to the next trying not to patch things together. I've had bad days where I thought I could do a section in my head and really wasn't on the ball and ended up rewriting it for my own sanity.
I haven't don't any serious programming for a few months but every time I do programming it's self puts me in a good mood. It makes me wonder if it would be the same if I did it all the time as a job.
With a spoon resting on a flat surface and a used syringe in one hand, pulling the rubber band off of my bicep.
I like coding somewhere where I don't have anything I have to do except code. A hotel/motel with wifi is a great place because it has very little distractions (people, chores,...) and it's extremely confortable. Having a king size bed or a couch just for yourself and your laptop can help your concentration. Unfortunately, this costs money, so this isn't a good solution for everyday coding.
The right music can really get my grey cells lighting up like a christmas tree, most notably the weekly two hour radio show from Armin Van Buuren which just had it's 400th episode; A State of Trance
To do something right, you often have to roll up your sleeves and get busy.
My happy place is where users know what they want. Where managers understand the project. Where sales people only sell existing and working stuff. Where developers know how to write clean code.
I was once designing an algorithm to do something at a lower running time, combining a mixture of data structures and graph theory. I had stayed up almost 22 hours in front of a computer to get it done because I thought I was "almost there".
Then I fell asleep, jerked awake 4 hours later because I had actually solved it in my dream. When I woke up I realized that the solution in my dream was not complete and that there was a flaw with it. With another hour of modification I finished it up.
Best? Coding in my cubicle, from 4-11PM, trance/techno playing at moderate volume, and absolutely no interruptions. Productivity is amazing.
Unfortunately, for no articulable reason I'm required to work 8AM-5PM, interruptions are constant (walk-in/stand-up meetings happening constantly, PA system calling people, factory running across the hall, doors never stay closed. Productivity is ... well ... go figure.
Can we get a "-1 Wrong" moderation option?
I don't code, but I can describe my best work environment. In a cube, plenty of activity in the building (not after hours), headphones, coffee, and limited interruptions. But I also need coworker interactions, provided they pertain to the subject being worked. It helps if my tasks are spelled out early in the day. NOT a huge conference call with some clueless project manager, mind you. Just a conversation among coworkers. Nothing takes me out of my productivity mood like a buzzword-laden project management meeting.
Best coding possible is done in the bathroom. How much more comfortable can you be than on the man-throne. More often than not most of my "EURIKA!" moments happen when I take a quick bathroom break away from the problem. Yeah the cubical at work gets the job done most of the time, but rest assured when thereâ(TM)s a problem I can't work out at the desk the solution is 99% the time resolved by the time I finish a bathroom break. Thus the bathroom is the perfect "Coding happy place", comfortable and relieving side note: full-time programming may not be best suited in the bathroom and would probably be frowned upon in a general business environment.
If I am at home I have way too many distractions or potential distractions. The TV, my movies, my games, the kitchen, are all to close by. I only ever get real work done, at work. I have even driven in on the weekend to work on my own side projects sometimes.
A tight team of bright progressive individuals has always brought out the best in my work.
Crappy co-workers, moronic "hands in" managers, noise and meetings that don't produce anything are utter poison. Obviously interruptions of any kind are deadly to productivity, but sometimes that's part of the job and is usually profitable.
I guess what I'm saying is my productivity is directly related to who and not where.
crazy dynamite monkey
tiny splifter to make the brain melkt around the syntax and plenty of coca cola to keep the urine flowin, not i didnt say coke in the reply not too much splifta or it all falls apart and a clean desk and room, gotta be tidy in the room, tidy room tidy mind bo sho fizzle n
When I'm working on my websites from home, always the kitchen table with the MacBook. The kitchen table is also useful opening those door stoppers I paid $50 USD for.
I work best usually in the late evening through the night. Less distractions. I prefer it to be cool, and like to have a mug of coffee or hot chocolate. If there's talking or noise around me I'll listen to music to drown it out.
1-3AM, enough said!
Ideally, I'd be in a sound-proof room, and my computer wouldn't have any internet access or any games installed. I'm easily distracted and lack self-discipline. Maybe I just need to get a prescription for Ritalin.
Taking guns away from the 99% gives the 1% 100% of the power.
It sounds like a joke, but I seriously code best with a gentle beer buzz, my boss will never believe me, but its true.
After I get going in the morning, I just fire up Songbird and blast the heaviest metal I have. Metallica, Six Feet Under, Slayer, Cannibal Corpse, Deicide, whatever. For some reason, and it probably has to do with the ADHD, it just puts me in that perfect groove for slamming out my best code. That stuff for a time and then it's on to some John Coltrane or Johnny Winter for a while. Back and forth once or twice a day.
I don't know, but heavy, fast paced thrash metal just puts me in that perfect mindset... Just had to make sure I got good earphones so I didn't annoy the hell out the people in the adjacent cubicles!
I don't like sigs... I don't use it...
It's quite, close to the bed for a naps. The bathroom and kitchen are down right handy and I can work in shorts and a t-shirt. The dog loves to breakup the day with a little play and if it's nice outside I can move to the patio for some fresh air. I get way more work done than in the stupid work cubicle. Besides I have much better computers than my employer.
6F 9E A9 1E 96 9F 74 27 ED B8 81 6D 0C 4E 1E 78
My other Sig is a 229.
in an ice cave, with tux as my power animal.
Because it's totally geared towards developers, developers, developers, developers!
Support my political activism on Patreon.
I've had some good coding runs while on a flight. I've also had good results at a "internet cafe" type setting, even with all the bustling crowds.
One reason is that it's a neutral environment. There is no noise, motion, or otherwise that I amd required to divert my attention to (i.e no phone, no co-worker, no boss, no e-mail/IM/etc) - allowing me to completely mentally block everything out and concentrate.
Yes, they don't sound like good places, and the environmental noise level might seem counter-intuitive. But since you know that there is nothing that will demand your attention - it actually works.
It writes the code or it gets the hose.
Listening to smooth jazz at my desk helps me forget where I am and gets me in the zone, but that only lasts until I hit a wall trying to find a solution for a problem, or N hours pass and my brain starts to fade. At that point, the only solution is some sort of distraction, whether that be a walk around the building or some browsing of Slashdot.
It's important that I'm more interested in the work that I'm doing than the things around me. If my work is enjoyable, then even hunger can't get me out of my zone. If my work becomes tedious, then I become more susceptible to the distractions around me.
The benefit to being in a location other than work is that there are much fewer intrusive distractions.
In other words, it's all in my mind.
It can be anywhere I have a comfortable place to set laptop, comfortable chair, and the most important of them all, headphones!
and his wealthy uncle, Patron. Salt, limes, and sweet and sour are also welcome to help code.
I love for the room to be empty and a movie on that I've seen at least 10+ times (Matrix, Transformers, Billy Madison, whatever) so it's noise but it's not distracting. Then of course I need to have my trusty whiteboard next to me. If no TV Room - then it would be any place with a comfortable chair, good keyboard and mouse, dual screens and really comfortable headphones with the music at ELEVEN!
Inside of Natalie Portman
oh, coding happy place...
Back when I was in my undergrad I bought into the whole idea that "I need conditions to be pristine in order to create". Now, a few years spent working in industry, looking back on this view makes me feel like I was a bit of a diva. My brother is a musician and he claims something similar - when he was first starting off, he subscribed to the view that he needed his environment to get into a "creative zone". But the more he wrote music, the easier it got, to the point where he can do it just about anywhere without being affected too much.
I mean really, if you're focusing that much on loop constructs and variable names that you can't do it anywhere except places where conditions are ideal, then I guess that's you. But for me, the really important parts like architecture strike me when they strike me. Usually when I'm going about my business doing the groceries, or in the shower, or on a bus, or something like that - whatever's been tumbling around in the back of my mind takes on some semblance of form, and pops to the forefront when it's damn well ready, not when the ambient light is at a certain strength and the atmospheric pressure is just so. I don't subscribe to the view that I need a "creative zone" in order to produce properly. Once I get hit with an idea, getting it out into code is just drudgery. That can be done anywhere.
I strangely understand the airplane comment - no email coming in, no internet to distract you, lots of white noise. I get a TON done on an overseas flight (it's my catch-up chance).
I do know for sure that where I am now is not ideal... otherwise I wouldn't be on Slashdot posting this! :)
MadCow.
I used to have a sig, but I set it free and it never came back.
Is found in the bottom of a bottle of scotch. seriously. for whatever reason if i am slightly buzzed, i get hyper and am able to focus really well.
In Soviet Russia jokes are formulaic and decidedly non-humorous.
The best coding environment: one without any distractions whatsoever, no temptations, and all of the necessary information and tools at hand.
And completely alone.
Now, interestingly, for me, at times high-productivity solitude means sitting in my office with both inner and outer doors closed very late on a weekend night, and at times it means sitting in a busy bar with lots of hubbub, or on a plane, or on a train, or in an isolation booth at a library. The common thread is that I am expected to have essentially zero interaction with anyone else.
Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
I don't really do any coding these days, but when I did, it was much more about my state of mind and lack of distractions. Specifically where I was didn't matter as much.
Basically:
Quiet, no people, no excessive noise. I had to be well fed so I'm not hungry and thinking about food. And if you want really GOOD code, I need to not have 50 other problems to worry about. Once those are met, it doesn't matter if I'm in my office, on the couch, or wherever.
Of course, I draw the line at bed. That's reserved for things much more fun than coding.
The confidence of ignorance will always overcome the indecision of knowledge.
I code best when I'm baked.
Happy 4/20!
(No shit)
More screen real estate.
Music other than Heavy Metal. Once I no longer "hear" the music (ie I stop paying attention to the sounds because I am so "in the code"), I am in the "happy place"
They pack 4-5 developers inside these glass-walled cubes. So there's no end to the visual distractions. And then you have overcrowding in conference rooms, so people routinely host meetings in the offices. Or they merely dial in using their speakerphone. Lunch is always a good time because they make it super easy to grab a tray and take it to your office to eat. So if you get an office mate who likes to work through her lunch by slurping incredibly stinky Indian food, you're a very lucky guy.
Most unproductive place in the world to try and think about coding, expect maybe a steel foundry or a slaughterhouse or a circus big tent.
The only bright spot is that if you ask about places that might be a little quieter, they give you these really nice Sennheiser headphones. Not so good if you dislike having something on your head 10 hours a day, though.
Toward the end there it got to where you'd instinctively know which interview rooms or whatever weren't take. If you dim your screen all the way down and shut off the light, you can get maybe four hours straight work in before it's back to the sights, sounds and smells of the cubicle zoo.
Sounds like you'd fit right in. You should apply.
-B
Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.
I wrote some of the best code in my life as an undergrad the morning after a night of drinking and weed smoking. These days I abstain from drunkenness and being stoned.. Any the quality of my code suffers.
Seriously. I got so much code written at our Japan office when I was over there for a couple weeks.
Probably because the talking around me just sounded like white noise and my brain didn't feel like it had to process it.
My office, from 8am-5pm, with soft music playing on the speakers, overhead lights off, desk lights on, door open half way (I'm in a somewhat quiet hallway).
Why 8-5? Because its my job, not my life.
For starters: Don't make me feel like a criminal because I forgot my access card. Don't hire minimum wage jerks in uniforms to eyeball everyone suspiciously. Don't make me walk past 60 cubes just like mine so that by the time I sit down I feel like the worthless piece of interchangeable shit you obviously think we all are. Don't send me weekly emails reminding me that my every electronic move is logged. Get rid of those freaking eyeballs in the ceiling every 20 feet. Shove your 50 page human resource manual up your ass. Help me forget that working wasn't always like this and doesn't have to be now.
See? I am starting connect with my inner muse already...
Contrary to what I expected to be the best environment, the computer lab in college was where I did my best work. Many nights I was at home, with my computer and had to drive for 45 minutes to go to the lab just to be free of entertaining distractions. Since entering the rat race while remote work is available I still prefer to come in late night and sit in a relatively empty office coding without distractions. I haven't tried much else, coding outside doesn't work too well for me and lobbies/public areas are too noisy. As far as mindset goes, I need a looming deadline and plenty of smoke-breaks to step away and rethink my work. There is something about being around productive people that pushes me to do more work as well. A group of students hacking away or a solid team lets me work longer and find motivation to keep going.
I work hardest with music playing, to cover the hum of the servers behind me in my office. I work most enjoyably from the summerhouse, cool breeze between my knees and ducks quacking before me. I work the most fanatically after several shots of bourbon on a laptop from the sofa.
Pro Coffee Drinker
Lights out - cold Coke - melodic trance at an excessive volume. Location doesn't matter as I can't hear anything but the music, or see anything but the code.
Personally I've found that I get a lot more done at work, but late at night or on a weekend. If I'm on my home machine coding in my spare time, then I'm easily distracted. Something interesting comes on TV, I decide to log onto WoW for a bit, I get hungry and go for a snack, etc, etc. When I'm actually trying to work on a project I can wring MAYBE an hour to an hour and a half per night out of myself. And that's often done while tabbing back and forth between iTunes and other assorted apps.
At work, during standard business hours, I have more legitimate distractions, but still distractions. Seems like somebody is always calling, or I have meetings to attend, etc.
The times when I've noticed that I really tear through a to-do list is when I'm in my office late at night. The building is quiet, there is nobody to bug me, and my work machine has virtually no "fun" software installed on it. About all there is to compete with there is Slashdot and Penny Arcade :), which don't take up much time to check. I've literally had things that I figured would take me 2 weeks to complete that I've stayed an extra 4-5 hours one afternoon and completed in one swoop.
"People who think they know everything are very annoying to those of us who do."-Mark Twain
Is being left alone, headphones on, and good psy trance music playing. The beats and lack of vocals gets me focused. Whenever I have a lot of code I need to write that's what I do.
Not too original as it's already in the article but it's the coffee shop for me. The office is too quiet, home is too distracting. Coffee shop is just right. It takes some good code to make a profit though with all those overpriced treats around.
I find that coding can be a stress relieving activity and is by many respects my happy place. I often find myself most relaxed when I am programming, either at work or for leisure.
...is in my PANTS! Oh-YEAH! ;-)
"Klaatu, verada, necktie!" -Ash
Anywhere without other people distracting me. Microsoft's Project Manager book pointed out that developers work best if they're interrupted once an hour or less. And they're damn right.
I installed Linux - that got rid of my gaming problem!
While it doesn't exactly qualify at coding, I was working on an intricate Photoshop file using the trackpad on my laptop on the airplane foldout table with a 4 year old bouncing in the chair in fromt of me the whole flight. It was surprizingly satifying to actually accomplish my goal under this challenging condition.
Greed is the root of all evil.
Of course it's your inner approach that counts. And no "sensory suckery" (as I call it) from the outside. :)
But why make it hard on your? So I tend do need the following:
- Variation = Inspiration: I can't come up with new ideas, when I always loop trough the same neural pathways. You know people who brag about all the places they had sex? Brag about all the places you coded at.
- Perfectly comfortable: I do not feel anything negative or distracting. The only stuff I want to feel is what's inspiring me. Smell of plants. A little wind. A little bit of music.
- Pauses: We coders tend to brag about long coding sessions, but the hard fact is: You are getting more done in the same total time, when you do pauses (eg. every 45-90 min, like in school). Often I came up with the greatest and most powerful ideas right after a small break.
- Something else* in my life: Has something to do with the variation. I can't work, when I did not have a good party or some other crazy action in my life. It's what fuels my ideas more than anything else.
- Most important: Do what I want to do! Every 5-10 years, I somewhat reset my life. I then ask the thinks I take for granted the most. Delete all taboos, likes and dislikes to find them again. Realigning myself with what I really want. And then adjust what I do to that. The last time I moved to another city and got from web development to game design because of it. And what can I say? I'm up to full power and creativity again!
* How do you translate the German word "Ausgleich" in that context?
Any sufficiently advanced intelligence is indistinguishable from stupidity.
My most productive coding environment is any one in which I don't have access to slashdot! But seriously, I need closed doors so I'm not subjecting to interruptions, and fast 'net access for googling for solutions to problems rather then figuring them out by myself.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
Comfy leather chair, view of the woods and creek, boxer shorts, solid but relaxing ambient or trance beats from high-end studio monitors... ... and not a soul to f*** with me.
Chai or a strong latte is a nice bonus, as is a good smoke.
Preferably in front of a floor to ceiling window with a good view, or in the back yard, surrounded by trees.
The only problem is that you have to avoid the temptation just to close your eyes for a five minute break. A good supply of iced coffee helps with that though.
By that time my brain is finally convinced it's not going to get sleep until I get the answer I want and it starts integrating stuff holistically out of sheer self defense.
I'm getting old. The same answer used to be "after breakfast".
Help stamp out iliturcy.
On my bed, late at night, lots of coffee (only a little bit of sugar) and some crisps. ohhh! i feel like doing that tonight!
My best code is produced when the pressure is on. Just last weekend I was participating in a robotics contest and coded a crude OS for a micro-controller in the 5 hours leading up to the competition. It was very simple, but worked well and I was even able to provide simulation outputs when run on a normal PC.
In the office, with my boss at the other side of the office. I do get more done in a more formal environment.
However, my boss recently switched seats to be behind me, and I'm just not as productive any more..
The optimum position seems to be, boss close enough to be able to be friendly with him, but far enough away that I don't feel pressured by his presence
...where Hugh Jackman's character first meets John Travolta's. That would be my happy coding place.
While being pursued by velociraptors as my underarmed adult comrades attempt to secure an island genetics experiment's inner computer room that I magically know all the root passwords to, because this is a Unix system, I know this!
For me it's one the other, or on one occasion the perfect storm.
the Place: New York City Town home, upstairs section, early morning, with Laptop, playing my industrial/dark/techno/rock play list which has taken years to put together in the correct order. with a notebook next to me replacing the love of Whiteboard.
the Mindset: slightly sleepy as if just woken, after a cig and a tea (Earl Grey or Green) with the for mentioned music on the Laptop. Mind goes into Coding Zen where even assembly makes perfect sense.
The Perfect Storm: both and in those next four hours (3am to 7am) I coded with a brilliance and looking back over it was perfect.
I tend to do my best work when I'm away from the civilized world. My current favorite is a state park about half an hour outside my town (Orlando, FL). A couple miles into the trail is a little covered rest area with some benches. I park myself there and dive into my work. No cell signal to distract me, no noisy cars, no annoying neighbors, etc. Typically, I tote my netbook, since my laptop is too heavy to carry 5-6 miles round trip.
When I need a break, there's always something to watch for a few minutes. Turkey, deer, a squirrel trying to steal my water bottle, every now and then I even spot a cougar moving through the brush. In the winter time, blue herons and egrets roost here.
http://rain.maestro.freeservers.com/pics/100_0064.JPG
Of course, not all the animals are quite so friendly. That's the second most venomous snake in the US for our international friends.
http://rain.maestro.freeservers.com/pics/100_0071.JPG
This park is always empty. I drive past two others to get to it, but because it is out in the dead zone between Orlando and the coast, no one ever goes there. In six years of regular trips, I've seen exactly three other people.
Get outdoors, get some exercise, and still get my work done. The perfect combination for me.
On rainy days, I usually relax on the patio with some instrumental music playing softly. Lately I've been going through a Nox Arcana fad. Mixed with the sound of the thunderstorms, I find it helps me focus.
No seriously. I've had some real moments of epiphany whilst mulling over problems from the day before. Sometimes its only when you're away from your keyboard that you start looking at the bigger picture rather than the minutiae of individual classes/methods
Note that this doesn't necessarily mean silence; I work better with music than without.
But it has to be *my* music.
Apart from that... Large display helps, clear display is essential, good keyboard, good connectivity to wherever the code is. Reference material handy.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Where the coworkers aren't worried about layoffs, the business folks know the value of what they sell, the company knows how to turn a profit on the work that's been done, and the business plan and software design makes sense....... Never been there.
you should see my code - pretty it ain't - but the Job gets done
I usually do my best coding when I'm nowhere near a computer. Sure, eventually, I'll have to sit at a computer to *implement* it. Coding, the true poetry part of it, happens wherever it wants to, and often when I'm not at a computer. Seriously. The idea will strike, ferment, pass or fail some roughshod mental testing, and start to form into pseudo code a while before I can implement it. I can write a serious amount of pseudo code in my head. After all, the poetry of programming is in the logic, not the words.
I need a window that overlooks a natural environment with a combination of close up and far away.
An office is good as it allows me to play music. Cubes can be ok as they can facilitate communication, but they need to oriented so I look out over the approaches (don't feel comfortable and can't focus well if people can sneak up behind me).
I need two monitors so one can show the previous phase and one can show the current phase. If I'm working on design, I have design on one screen and requirements on the other. If I'm working on code, I can have the code on one screen and requirements on the other (don't tell the boss that I just read over the design once and write code to the requirements - after all the defects will be written based on requirements, not design).
And the temperature needs to be right. If it is too hot or two cold I can't sit and concentrate.
I often don't like the choices people make, but I like the fact that people make choices. That's why I'm a conservative.
Okay the topic of this article freaked me out. I thought, Oh great... My Boss just found me on slashdot and wants to know where the code I'm supposed to be writing has been hidden... My coding happy place is within my little brain...
http://www.beanleafpress.com
I'm happy coding in any situation up until I stumble into an understanding block. Wish I had actually taken my math courses seriously when I was in college, because now if I can't find a text book or article that says explicitly how to calculate (certain specific unfamiliar, not-often-documented mathematical subject here), then I sure as hell can't figure it out on my own and if I can't find anything after spending a couple of days searching Google and books at the library, I completely ditch whatever I'm working on. I need to find something else to do in life because this shit isn't for me.
Slashdot requires you to wait longer between hitting 'reply' and submitting a comment.
I have a day job in an office, and code as a hobby. I do a one hour commute each way on public transport 25 minutes by bus and 35 minutes by train, meaning I get my coding done in roughly 25-35 minute allotments. This has actually become my coding happy place and I've gotten quite good and quickly determining where I'm up to and starting coding.
The funny thing is that when I'm home I can find it difficult to code. Maybe I should take the circle route on the bus and get a huge chunk done.
"And then I visited Wikipedia
No cubicle walls, good coffee, and listening to J.J. Cale.
Listening to the "A Night at the Playboy Mansion" album
My ideal coding/creativity time is early in the morning, from about 2:00 AM to about 5:00 AM, after having slept for a few hours. I sometimes wonder if there is such a thing as 'mental' noise, which is reduced at that time of the day.
The ideal audio environment is one where some instrumental music is playing in the background, loud enough to cover background sounds. New age instrumentals seem to work best, with a mix mellow and upbeat selections.
The ideal visual/tactile environment is one that is relatively uncluttered, to avoid distractions. That includes NOT having anybody around, human or otherwise, even if they stay clear of the area.
Cause putting work off makes me happy (for the time being anyway) :)
But seriously..
I think it depends on what you're coding. For example web dev I usually find better to be in a fairly quiet environment with a desk and a large monitor. While command line apps in C is fine on a laptop on the sofa.
Ms. Portman is on all fours. I'm taking her from the rear doggie style. My laptop is secured to her back by a strong by strappy leather harness. The music of Weird Al serenades us. I plunge the entirety of my right hand into her anus when extra inspiration is needed. Natalie laps eagerly at a trough full of hot grits.
I'd say the place where I can be the most productive and feel the most comfortable when coding is my own dorm room. I have all of my music available to me, a spare PC for Internet access (pretty much a separate monitor), and food and drink if I get hungry. Plus, it's a pretty quiet place, so there are no distractions. With all of that said, where I work (as a developer intern for Lake Quincy Media) isn't that bad of a place either. It's quiet most of the time, I have access to a really awesome rig with a dual-monitor setup, and am surrounded by knowledgeable people. I guess I'm one of the fortunate few who likes his workplace environment.
My mom's basement.
Two of us in my office. Only one constant: awful overhead florescent lights stay OFF. We both use lamps with 'natural' light bulbs on desk. Way more comfortable on the senses making it easier to get into the 'zone.' There are days I'm fired up and a good dose of Disturbed cranks through my headphones. Others it's talk radio or a TED lecture. And yet other days I get lost in complete silence. Usually if things are in a funk, I change up the environment until things are mentally rolling again. It never takes long. I work the same way at my home office.
http://xkcd.com/323/ .135-- that's my pi!
every day http://en.wikipedia.org/wiki/Special:Random
Clean, impulse free room... except for the LOUD non-distracting and motivating music (this mostly means techno or metal). The other extreme is complete silence.
Also, any windowing environment helps bringing down my productivity. So it's console for me. Just nano, gcc, cmake and subersion for me.
When I tried emacs, I ran away screaming. Vim ended up annoying me (but was a much nicer experience as emacs). Since my distro defaluts to nano, I started using nano and I liked it.
I get more work done when I have someone to forget about: fight with a girlfriend, turned down by a babe, missing someone, or all of the above :).
I do my best work during the magical hours of 10pm to 4am. The PC monitor should be the only source of light in the room, and there needs to be some form of trance music playing in the background. Personally I hate trance/dance music, but for some reason it gives me tunnel vision on my work.
Homonyms are fun!
You're driving your car, but they're riding their bikes there.
at work I'm not allowed to listen to music at all.
Your employers are douchebags.
What the crap could it possibly matter if you have an MP3 player stuck in your ears? I'd love to hear somebody actually make a good case for it. If you're a doctor and you have to listen for pages, or a jet pilot who needs to hear audio alarms - fine. But a coder? Give me a break.
This sort of micro managing "you're still in kindergarten" crap always pisses me right off. It insures an unhappy workplace, and that insures poor results. Who wants to do their very best for someone who treats them like a freaking toddler?
Weaselmancer
rediculous.
Door locked. Fan on. Nobody bothers you.
Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
I haven't had a chance to test drive this, but I'd like to have a house in the mountains with an elevated room overlooking the woods with huge screened windows that open wide. I would open the windows wide ('cept for the winter) and get a slight sweet breeze and hear the sounds of birds chirping.
It's not about the environment that suits me, it's about getting me away from other people. I need to talk to the code, saying things like "shit", or "are you serious?" when looking at something that won't work or was poorly written.
I also snap gum, click my tounge and make whirring noises to add sound effects to traces.
So it's really just about getting me away from other coders (or anyone who wants to concentrate) when I am coding.
While I could code effectively just about anywhere as long as I have my music to listen to, its inside moving vehicles that I find my ability to focus is somehow significantly enhanced.
My coding 'Happy Place' is any place the doctor ISN'T.....
Unless, of course, the doctor happens to be that hottie petite urologist with the massive server rack...I mean, 'chest'.
I'd love to 'patch' her 'software' with my 'hardware' and 'compile' with her any day of the week. She's particularly skilled when it comes to 'Logarithmic Functions' and helping me 'come' up with answers she is pleased with. .....someone help me get my brain out of the gutter.....
Knowing Google's lust for data collection, the Soviet Union is still alive and well inside the psyche of Sergey Brin....
The excitement of sneaking lines of code between teachers strolling down the aisle. Not as much volume, but a hell of a lot more efficient.
Look at guides for musicians and writers for breaking writers block, and the same rules apply. For me it is a change of scenery. Sometimes, I will go sit in the car in the parking lot.
To me, the people playing with their laptops in coffee shops are nuts: they're so prone to distraction that I doubt they can get anything done effectively.
Which phase? For the pencil and paper phase I like it sunny and warm. I did some of my best noodling on the beach in Santa Monica and on the patio of an outdoor bar whose name I've forgotten overlooking Manhattan Beach.
For the coding and proving phase I'll go for anything that approximates a cave, where all I can hear is the fans and the voices in my head, and no one ever comes to visit.
I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
I code best when I'm allowed to decide what to code and what to code it in.
Whether it's worth it to my boss is another story, but the project my boss is happiest with this year is something I wrote from scratch and wasn't asked to write (it replaces horrible software I was told to use).
Listening to techno, coding either from lazy boy with datahands in front of 1080p projection, or datahands on aeron in back of truck camper next to creek 20km off main roads in back country British Columbia. Code, code, code, fill generator, walk around looking at trees and butterflies, have a beer in the sun, code, code, code. Will be doing more of that this summer ;)
Anyplace I am surrounded by gorgeous strippers and hookers, and good booze; that is my 'Happy Coding Place'!
Obviously my coding projects take a long time, a lot of energy, and stamina though, what with all the QA, T&A, penetration testing, etc...
*alarm clock sounds off*
Damn! Back to coding in my 'not so happy place'.
Down With Slashdot BETA!!! I've been around the corner and seen the oliphant; you can only abuse me from your perspecti
*Dual Monitors
*Loud Music - so subconscious can roam when Im stuck
*Leaned back in my chair with my feet up
*Liquid Courage - pref. Hennessey and Pop
*Dog reminding me to take smoke break
*Fast Upload speed
*VI - EMACS is for RTARDs
Coding while taking a poo ftw!
The place does not matter but giving two shits about what you are doing does. I am most productive when I care.
-ev0l
happily snoozing away... When I wake up, I have the solution. I go downstairs, type in the code and test while drinking coffee.
...I've found that I can slack off in bursts, work furiously in bursts, sometimes work fitfully. :)
Thing is, I don't know exactly when or how I switch between modes.
Whether at university computer lab or on home machine (both are quiee except for incidental noise or music that *I* select - the music is my usual mix of classic rock and whatever)
I listen to both RIAA and non-RIAA stuff if I like the music, tangential business/politics nonwithstanding.
Good code is all about the architecture and for me the process is to spend as short a time as possible reviewing the 'problem' then do something physical and mundane - like yard work and I can usually mentally map out the solution while the noisy part of my brain is distracted.
I listen to the blues while coding. Interpret that as you will.
If my boss is reading this that was a joke.
... slide .... * penguin jumps down small CGI ice ramp *
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
Beer, Pink Floyd, rocking chair.
Oh yeah, and my MacBook. That's how I roll.
That's "Mr. Soulless Automaton" to you, Bub.
Minimal corner desk facing a bare corner. Me, the model M, the screen and the code.
If I only have a small amount of time add lots of caffeine and Daft Punk's "Alive 2007" album.
I've done my best coding in my best of moods using VC++ 2005, after snorting Heroin. Once I'm sober I don't even know how I coded so perfectly. I'm a code junky, literally.
I really only spend 1% of my online time doing something productive.
:P
Most of the time when coding i really don't need a reference or help, i just need to actually do the task at hand.
I cite this very post as an example of what i'm getting at.
Naked.
Nancy Ajram @ 80dB + subwoofer.
I once coded pathing algorithms for a maze-searching robot in the passenger seat of a 1990 Honda Accord going upwards of 100mph from the southern edge of Los Angeles to Davis, starting at 4am. Said robot was to find its way through the maze around noon. Memory is hazy on how well the code worked, on account of being at it since 4am. Was quite surprised to learn that one can reach Fresno in under three hours when the roads are clear.
-- I prefer the term "karma escort."
Why, en_GB.UTF-8 ofcourse!
"Where's your coding happy place"
About 25 years ago... Back then I could code through the night for weeks at a time producing stuff that looking back astounds me. OTOH, while I know write a lot slower, it's pretty much bullet proof and fits the spec.
I want a list of atrocities done in your name - Recoil
...was the best movie ever.
Random Thoughts From A Diseased Mind (Not For Dummies)
My coding happy place was my small college room, during the summer, wearing only 1 short, drinking beers and listening loud Hungarian national music. When the city is silent. Nobody on the streets. The college is empty on the weekend. Temperature is too high. But basically coding is best in heat, for me.
... because everyone else is so stressed out over the code not being done yet that they'll happily ignore the fact that it probably should have been completed a week earlier to allow time for testing and error correction before the due date.
Your customers have probably learned to pad their schedules to compensate for your procrastination.
No matter what or where it has always been because I was alone in the office or at home that I got stuff done, otherwise too many distractions
Sitting in a dentist chair with "half natural" keyboard on each hand rest, vi writing perl, vr goggles, grado sr1's -> headphone amp with following on random: marley exodus, jimmy buffet songs you know, james taylor greatest hits, acdc live, gnr greatest, zztop greatest, GEORGE THOROGOOD greatest.
I rarely work at home because there are just too many distractions there (wife(1), kids(2), cats(2), & dog(1)). I do work pretty well at the office(mainly becasue we ran out of cube space before I was hired and I work in a storage space that was converted into an office). It is really quiet and I can get a lot done in a little amount of time. Most days I get completely lost and do not even realize that it is 5:00!
Somewhere in a dark place you will find:
www.m1
The really hard problems are mulled over for days. Straight forward coding is easy.
My greatest inspiration comes in the shower or when sitting on the can. Once the solution appears, it really isn't too hard to remember it long enough to get to a computer and make it reality.
- I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
In my youth, 'twas no better place to write code than the middle of farm country, a thousand miles from home, and no hope of home until the job was done. Then, the promise of a meal at the amazing Arcola bowling alley, aka The French Embassy, crafted by Chef Jean-Louis http://will.illinois.edu/prairiefire/segment/pf1992-04-09-a/ a sublime motivator.
Now, place is not as important as time. The creative fruit comes when the time is ripe, until then, you plant seeds and nourish them.
-- Each tock of the Planck clock is a new world and here we are still life. --
Working against a deadline, the best coding environment is in the office -- 12 hours out of phase with the rest of the company. If they're in from 8 Am to 5 PM, then I'm in from 8 PM to 5 AM.
Of course there must also be plenty of diet coke and heavy metal.
That's about it, really (though I've written quite a lot of code in a freezing office on the weekend - huge motivation boosts productivity for obvious reasons).
What kills productivity? Colleagues interrupting my train of thought, either by requesting my input or simply by doing something that inherently distracts. Sharing an office with sales staff can be a killer, simply because they're so often on the phone or running round assembling information. Music can help with the happy place but isn't even always on at home (and I love music, have far too many albums at my fingertips :-)) - its benefit for work is partly comfort but mostly for me in providing a background noise I can predict and so tune out. It might as well be a white noise generator in some ways.
I've been in offices where you shivered all morning, or where every last movement caused sweat to drip off you - neither was very productive. I can type just as easily on a laptop (heck, I've written a fair bit of code on a 9" netbook) but accept I'm unusual in that way :-) - but a machine that gets in your way is never ideal.
What can be the biggest killer though? Motivation. You tell me you code as efficiently when presented with a task which will achieve almost nothing of benefit if it ever goes live and involves large-scale maintenance on a poorly-built legacy codebase. We do our best work when there's a reward of pride, and when we know that our best work is still only polishing a turd, it's far harder to summon the energy.
Greg
(Inside a nuclear plant)
Aaaarrrggh! Run! The canary has mutated!
Personally, I enter my most mentally productive state when I start to become sleep-deprived. If and when my second wind kicks in, I tend to be much more focused and productive with an intellectual task. It's as though lacking sleep forces my brain to slow down enough to concentrate, like most of the guests at the party have gone and there are only a few voices left, so you can actually follow what all's going on in the room.
Property is theft.
Yes, the fact that all could slip into the water and fry me does add a certain edge to it. But nonetheless it is the best place for me to code.
No interruptions. No distractions
(The water gets cold? I just lift my left foot and turn on the hot water for a few seconds and all is well.)
adderal
Sitting in the house lounge, pulling an all-nighter next to the beer keg, scratching out code on green-bar paper (yes, I'm that old. It'll happen to you, too!). The code was surprisingly bug-free. It's amazing how many mistakes you avoid when you're too drunk to be clever, but still sober enough to spell the identifiers correctly. I got an A on that project!
I need an Internet connection to do my code, but it brings with it IM, 4chan, and Slashdot. :
Yup. The computer lab. I throw my headphones on and go.