Where's Your Coding Happy Place? 508
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?"
A matter of the environment? (Score:5, Insightful)
Lightly sweetened breakfast tea, rainy weather outside, window cracked with a brisk morning breeze.
Oh, yeah, and vim. Emacs can suck it.
Re:A matter of the environment? (Score:5, Funny)
WRONG.
Black-as-hell coffee, bright moonlit night outside, but I'm stuffed in a windowless basement with no ventilation, using Emacs.
On Windows.
ME.
Yes, that's how far I'll go to counter one of you VI-loving lunatics.
Re:A matter of the environment? (Score:5, Funny)
WRONG.
Getting a blowjob with a gun to my head.
Re: (Score:2)
RIGHT.
Thats what I was going to say.
Re:A matter of the environment? (Score:5, Funny)
WRONG
*Giving* a blowjob with a gun to my head.
Re:A matter of the environment? (Score:5, Funny)
*Giving* a blowjob with a gun to my head.
Sounds like my last blind date
Re:A matter of the environment? (Score:5, Funny)
WRONG
*Giving* a blowjob with a gun to my head.
RemoWilliams84, meet zarthrag. zarthrag, RemoWilliams84.
I'll expect the new kernel by Friday.
Re: (Score:3, Insightful)
Perhaps my neck elevation angle is insufficient, but if I was in a windowless basement how would I know what the lunar illumination situation was?
Re: (Score:3, Funny)
>Perhaps my neck elevation angle is insufficient, but if I was in a windowless basement how would I know what the lunar illumination situation was?
You add it to your google homepage. Which on windows ME should also be set to your active desktop background. Feel the pain yet?
http://www.calculatorcat.com/moon_phases/daily_moon_phases.phtml#google_home_page [calculatorcat.com]
Re: (Score:3, Insightful)
Damp? No. Cold? Yes. And Winter is a bitch.
Re:A matter of the environment? (Score:5, Funny)
Cold? Yes.
If cold is a possibility, you don't have nearly enough servers.
Silence (Score:5, Insightful)
Re:Silence (Score:5, Interesting)
I like coding in my lab, after hours when nearly everyone has gone home.
Janitor comes by around 7:30/8:00 and I thank him, listening to techno or classical, depending, I'll get more done in that span between 5:30 and 9:30 then many others in my department will get done in an entire week. Alas, the powers that be have banned overtime, so now I don't pump out as much code. To witt, here I am, as always in the afternoon...
-nB
Re:Silence (Score:5, Interesting)
I totally agree. When I was able to listen to my iPod (before I lost my tunes - doom on me) I listened to Classical, techno and trance. Wow! Depending on my mood, I'd get more code written than at any other time. It didn't matter what idiot-fest was going on around me, either. Plug me in and BAM! I'm gone. I feel I got more work done in a year at one of my coveted jobs than at 4 years at others.
Music is where it's at. And, no - I wasn't in band in high school.
Re:Silence (Score:5, Interesting)
Re: (Score:3, Interesting)
>>>Anywhere there is silence.
Anywhere there is noise.
Noise helps distract me from the voices in my head. Just joking. ;-) But seriously, I like my television turned-on to something random like Animal Planet or the History Channel, while I lounge in my recliner. It helps me feel like I'm just doing a hobby, like when I was a teenager, instead of doing work. The code flows.
I hate silence; it's boring.
Re: (Score:3, Funny)
Re:A matter of the environment? (Score:5, Funny)
Lightly sweetened breakfast tea, rainy weather outside, window cracked with a brisk morning breeze...
...John Travolta singing to me, wearing nothing but a thong and a bottle of baby oil...
What? Oh, sorry, I got lost in your poetry and thought we were describing a romantic evening in San Francisco.
Re:A matter of the environment? (Score:5, Funny)
...John Travolta singing to me, wearing nothing but a thong and a bottle of baby oil...
What, like, as a hat?
Re:A matter of the environment? (Score:5, Funny)
Make that: ;-) And yes, the inverted division is on purpose. (Btw, you've got one too many opening brackets - or one too few closing brackets depending on how you look at it.)
coding_performance_level = (vi + smokes + (coffee | mountain_dew)) * (100 / hours_to_deadline);
and you got a deal.
Re:A matter of the environment? (Score:5, Funny)
And yes, the inverted division is on purpose.
One serious problem with this. Your performance level is something like: constant/hours_to_deadline. Assuming you work to the deadline (logical), you will perform an infinite amount of work as the integral(1/x) on the interval 0 to t diverges.
If you can sell your boss on this, though, bravo.
In My Opinion, a Truly Horrid List (Score:5, Interesting)
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 [publicradio.org] or Radio K [umn.edu]) 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.
Best place != Most pleasant (Score:5, Insightful)
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.
Re:Best place != Most pleasant (Score:5, Interesting)
I'm not sure that's a universal truth. I concentrate best, for example, where there is a constant murmur (or even din) of background noise. It doesn't matter if it's quiet or loud, but both silence, and variations in the volume of noise, are bad.
I've produced some of my best code next to a loud brook, birds chirping, etc -- but I've also produced some of my best code in a noisy bar at happy hour and in Grand Central Station at rush hour.
Silence is anathema to good quality code for me -- constant subtle distractions are a great way of grabbing my focus when necessary so that my subconscious can work out a problem.
Re: (Score:2)
I'm the same way. If the room is silent, I inevitably find myself doing something unproductive yet enthralling like crawling Wikipedia at random, or if I'm at home, playing games.
Re: (Score:3, Interesting)
Interestingly enough my most productive week at my job ever was when I stayed to work while the company was shut down for construction, the construction noises combined with some FM radio, comfortable clothes and no distractions from chatty co-workers was the perfect storm for getting work done quickly and effect
Not on topic, but... (Score:5, Insightful)
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?
Re: (Score:3, Interesting)
All depends on motivation. If I care, I can tune out any distraction. If I don't, any distraction is fatal to my effort.
Re: (Score:3, Interesting)
in Grand Central Station at rush hour
I once did a load of work on the Circle Line (subway) in London. It was busy, but I had a seat and knowing no one else would interfere with me was good.
That's the difference with an office: in an office, some of the noise might be for me -- someone coming to talk to me, or a phone call, or a conversation about something I know about.
In any other busy place I don't need to listen for anything, so it's much easier to block out.
Re: (Score:3, Interesting)
True, I can multitask while the TV is showing something I've seen or do not care about.
Actually, I do fairly well watching episodes of TV shows that I've already watched into the ground (e.g., MASH). Because I know exactly what's going to happen, I can tune in and out at any time without missing anything. It's kind of meditative.
I also agree about the headphones. Perhaps these two are related.
Re: (Score:2)
Under these ideal circumstances, I code 30,000 lines per day.
.
Java or pyhton? Cause you know, it's a lot different!
Re:In My Opinion, a Truly Horrid List (Score:5, Funny)
Perl. That's enough lines per day to rewrite every application in existence. Unfortunately, being perl none of them can be debugged, so he has to redo it again the next day.
Oddly enough... (Score:5, Interesting)
Re:Oddly enough... (Score:4, Funny)
Re:Oddly enough... (Score:5, Funny)
I'd Love to serve on a jury. However, I'm afraid I don't qualify to sit on a jury. You see, I'm a A-Hole with a brain.
So I get the summons, and show up ...
Judge: "Does anyone here know any of the parties involved in this matter?"
Me: "Why does it matter?"
Judge: "Dismissed"
Me: "I didn't say one way or the other"
Judge: "I said dismissed"
Me: "Yes, I heard, I'm just wondering why"
Judge: "I don't have to tell you"
Me: "No, but I'm sure all these people here want to know, especially now that I'm bringing their attention to it"
Judge: "Another word from you and I'll hold you in contempt"
Me: "How does being on FOX NEWS sound to you?"
Judge: "Bailiff, remove him please"
Me: "Don't Taze me bro"
Bailiff: .... ZAP
Re:Oddly enough... (Score:4, Informative)
Depends on your jurisdiction, I'm guessing, but at least when I served they left me, another programmer, and a chemist on the jury.
You got tapped because you don't know what you are doing. The trick is, when they get to you and ask you about your job and spouse and such, is to proclaim clearly and in your best and most assertive and confident Obama voice, that you are "able to be 100% impartial and will consider only the evidence presented" and, because of your training as a scientist/engineer, are "never swayed by emotional appeal". If you do this, you are the next juror excused no matter whose turn it is to excuse jurors. It works every time for me.
Italian family in law (Score:2)
Up in ya, now go away. (Score:3)
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.
Ginger Snaps and S. Pellegrino (Score:2)
In my head while driving. (Score:5, Insightful)
Re: (Score:2)
Never thought of carrying along a dictaphone? Or a notepad for when you're stuck at a light or in stop-and-go traffic?
Re: (Score:2, Insightful)
For me it's not so much a problem losing ideas en route to a computer, but losing the desire to code by the time I've reached it ...
For me, it's music, not place. (Score:5, Insightful)
Re:For me, it's music, not place. (Score:5, Interesting)
On my floor in the family room... (Score:3, Insightful)
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.
Re:On my floor in the family room... (Score:5, Funny)
Dang, dad, I am 35. Can't you write your COBOL some other way?
Re: (Score:2)
Dang, dad, I am 35. Can't you write your COBOL some other way?
ROTFLOL. You wish you did not post that A/C, the mod points are well deserved.
Not a matter of where, but when (Score:5, Interesting)
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.
Re:Not a matter of where, but when (Score:5, Funny)
If you don't like waiting for the internet to settle down at night, I find it helps to wrap some old towels around the tubes. That muffles the sound of the bits flowing through. American bits are pretty loud no matter what you do, unfortunately.
I thrive on stress (Score:5, Funny)
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.
Re: (Score:2)
Funny, but very true. A deadline with your paycheck on the line makes you very focused and productive. Maybe if you are an open source programmer and you code strictly for enjoyment there is a better atmosphere, but for those of us that code for a living deadlines make it happen.
If any friskiness starts up... (Score:5, Funny)
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.
Re: (Score:3, Funny)
Just rest your laptop or keyboard on the small of her back.
Eww .. those are his best?! (Score:3, Insightful)
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.
Re: (Score:2)
While I don't think all of them are horrible; the fact that he couldn't come up with a full 10 items for his top 10 list really explained the reason that some of those others actually made it.
The Zone (Score:5, Insightful)
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.
It's a Zen thing (Score:2)
My happy place (Score:2)
Or, inside a cave is good too.
Comment removed (Score:3, Insightful)
Re: (Score:3, Interesting)
However
Best Place to Code (Score:5, Funny)
Best productivity is in India. Not sure if it's the food or what... but I am 4x as productive as in the US.
Inside my head... (Score:2)
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.
Fire alarm? What fire alarm? (Score:5, Interesting)
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.
You'd love google (Score:5, Interesting)
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
with my boss... (Score:5, Funny)
Re:with my boss... (Score:5, Funny)
I would totally code with my boss. If she was leaning over my shoulder and inviting me to her bedH^H^H reminding me about the project schedule, I could code like all of Windows 7 before lunch.
So I guess my coding happy place is where the women are hot and the project milestones involve sex.
Re:with my boss... (Score:4, Funny)
What kind of crappy code can you deliver while being distracted by hot women?
Didn't I say Windows 7? I thought I said Windows 7.
Obvious (Score:2)
On the throne. Nothing clears my head and lets me write beautiful code like a mass-evacuation.
Re: (Score:3, Funny)
Search the google for mindfuck pictures. When you see it, you'll shit brix.
Happy Gilmore (Score:2)
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 thing
One major thing: music (Score:2)
no physical place (Score:2)
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.
Not really coding... (Score:5, Interesting)
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.
Cube, late, quiet, music (Score:5, Insightful)
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.
Re: (Score:2)
Limited interruptions (Score:2)
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
At work, in my cube. (Score:2)
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.
In a good team (Score:5, Interesting)
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.
Kitchen table... (Score:2)
My ideal coding place (Score:2)
In all seriousness anywhere with a fresh pint. (Score:3, Insightful)
Stevie Ballmer's lounge (Score:5, Funny)
Or (Score:2)
It writes the code or it gets the hose.
Sitting on the couch next to Scarlett Johansson (Score:2)
In other words, it's all in my mind.
Sitting next to a chap called Jose Quervo (Score:2)
Anywhere, really (Score:5, Interesting)
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 agree with the airplane... (Score:2)
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.
My happy coding place? (Score:2)
Alone. (Score:2)
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 essenti
Not location... (Score:2)
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 fo
After a night of partying.. (Score:2)
My coding? (Score:5, Insightful)
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.
At work, late at night (Score:3, Interesting)
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.
My coding happy place... (Score:3, Funny)
...is in my PANTS! Oh-YEAH! ;-)
Obvious (Score:3, Insightful)
In the shower (Score:4, Insightful)
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
The basement?!? (Score:5, Funny)
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?
Re: (Score:2, Funny)
Re: (Score:2)
Re: (Score:3, Informative)