Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If you could describe your ideal development environment, what would it be? There are numerous things to take into consideration, including but not limited to:

  1. Hardware
  2. Software (Operating System of Choice, Paid vs. Free Software, ...)
  3. Physical Environment (lighting, open-plan, location, ...)
  4. An endless supply of coffee...
  5. ...

In other words, if you could tell your company what they could do to make your development experience there better, what would it be?

share|improve this question
3  
An endless supply of quality coffee :) –  o.k.w Dec 14 '10 at 13:49
    
@o.k.w - We actually have that :) –  Nico Huysamen Dec 14 '10 at 13:58
add comment

8 Answers

up vote 15 down vote accepted

The office that is six steps away from my bedroom

On my desk, I have the following:

  • Two very large monitors
  • A very high quality SIP phone (Polycom) featuring a do not disturb button that is left (mostly) on.
  • All of the supplies that I'll ever need (paper, pens, notebooks, etc)
  • Enough HW (test switches, SBC's etc) to get my job done.

Surrounding me are:

  • All things that I've collected that say "hard work pays off"
  • A nice couch if I want a nap
  • My own collection of books (used frequently, my sticky notes proliferate from them)
  • A collection of rare Jazz / Blues CD's (many of which are autographed)
  • A stereo that I can play as loud as I want (the room is mostly soundproof)
  • Climate control that I alone control
  • My choice of lighting
  • A desk that elevates if I want to stand
  • A chair that (is mostly) ergonomic. Too many knobs for tension, replacing it soon.
  • Total control over my disruptions

Downstairs, I have

  • Endless munchies, coffee and a full kitchen to cook my own food the way that I like it
  • My kid, and she loves seeing me when she comes home from school (coinciding with my lunch break)
  • Even more books and reference materials
  • 3 more computers if I need them

My morning / afternoon commute? About 4 1/2 seconds. 60 if you count the time it takes to get a cup of coffee.

Who paid for most of it? My company. While I'd have a hard time expensing a frying pan, I can get books, memory, replacement parts, a box full of office supplies, whiteboards, etc without difficulty.

If not working, I never come in here. The whole point of having it is saying to my brain "office means work, bedroom means sleep" .. unless of course I'm using the couch, but that is reserved for strictly work related naps, or just when I need to 'not be at my desk' for a while.

Even if I have to work late, I'm just a few steps away from home.

share|improve this answer
2  
+1 I sorely miss working from home –  John Straka Dec 14 '10 at 14:41
    
I love working where I am, where I can overhear people say things like "like OCaML functors?" but I do miss having a near-zero commute. –  Frank Shearar Dec 14 '10 at 15:47
    
I clicked on this question wondering why anyone would ever mark anything as answer on such a seemingly subjective question. Now I know. –  Rei Miyasaka Mar 19 '11 at 3:51
1  
@Esq really hard to say 'best' - it depends how one does with less structure and contact, and how well your employer is set up to handle it. I personally wouldn't want to work in an office full time again , I like my solitude. But, everyone is different. –  Tim Post Feb 13 at 18:07
1  
Also worth noting, I've since moved on and now work for Stack Exchange. They're specifically set up for remote employees, which makes everything 20x better. That's very important for remote work to work. –  Tim Post Feb 13 at 18:12
show 2 more comments

Interesting project and enough hardware for developing.

share|improve this answer
add comment
  1. A more-powerful-than-strictly-necessary box with two large monitors (28" at a minimum), ergo keyboard, and decent (not loud, but clear) speakers.

    Some companies complain when coders ask for "too powerful" hardware on their working machines. They usually have no idea how much more money they could have saved by buying what was asked for, and not paying people to stare at compiling software for so many hours.

  2. A source-based Linux distro of my choice, managed by me, not some PFY in the IT dept.

    My "best dev environment" changes -- new things come out, old packages aren't what they used to be, or different projects lend themselves to different approaches. The answer to that is control: stay away from my box and let me run it my way.

  3. My own office, with a real door that closes. Plenty of desk space, ergonomic seating, a spot to keep my tea. Someplace to keep dead-tree supplies for when I need them, and a little whiteboard.

    Few things are more annoying than lost productivity due to others' conversations intruding upon my thoughts, people trying to look over my shoulder (especially when I'm trying to help a junior coder -- who is made more self-conscious and less likely to ask by this behavior), some schmuck knocking over my tea with his nerf rocket (yes, it's happened), or not being able to put my pen (I only use good fountain pens) down lest someone break it or walk off with it. I need my own space.

  4. An endless supply of tea.

    The good stuff, loose leaf, an endless supply of hot water at the appropriate temperature, and a convenient place to make it.

  5. Git for revision control.

    Non-distributed systems just don't cut it any more.

  6. Company IRC channel or XMPP/MUC server.

    I shouldn't have to wander around the office trying to find someone for a question with a one-word answer. It's just not efficient. Also, unlike face-to-face interactions, IRC/XMPP/etc have logs, so I don't have to remember what was said, I can grep for it if needed.

  7. Access to a "coder lounge" with a few different types of casual seating, power everywhere (for laptops), and whiteboards for discussions/brainstorming.

    Great for when I need a change of scenery to get through a block, when I want to be around my fellow coders, or when I'm just sick of sitting at a desk.

  8. Brilliant people to work with.

    This should really be number one, but I started out with your questions. If I have challenging work, and intelligent people to do it with, life is good.

  9. Close to home.

    I do enjoy working from home for all the reasons Tim Post described and more. I continue to telecommute whenever it's practical. However, sometimes (like when a large part of my job is mentoring junior coders) it just doesn't work. When that's the case, I want the shortest commute possible, and a few elements of home (like the ability to have my son join me after school and do homework at a table in my office).

  10. Good options to eat in.

    I'd rather get done an hour sooner and get home than go out for an hour lunch, and I'm more productive when I don't have to lose momentum in the middle of something complex. Lunch should come to me so I can keep working, and should come in suitable quality/variety to keep me from being tempted to run out. I even brown bag it sometimes -- more often when there's a fridge available and somewhere to heat lunch up.

Finally, you'll see that unlike some others here, I don't mention space for books. I'm trying to transition to an all-ebook library. Searchability and portability make it worth the expense. If TAOCP's new edition this winter isn't followed shortly by an ebook, I may tear my hair out. It's both essential and freaking huge; I'd need my own Sherpa to carry the boxed set around.

share|improve this answer
    
Wow! You for president. Or dictator. –  DarenW Feb 24 '11 at 23:36
add comment

A fast machine (including fats processor, memory, motherboard, keyboard, mouse, monitor ).
And a nice boss.

share|improve this answer
add comment
  1. A macbook (13") with a large hard drive to install some FreeBSD/Linux/Windows under a VM;
  2. Fast internet connection (fast enough to not think about its speed);
  3. Software - Mac OS X, everything else under a VM (Parallels or VMWare);
  4. Location - Nukuʻalofa ( Tonga );
  5. Coffee (more Robusta than Arabica) whenever I want, launch (sushi and/or chinese food preferred);
share|improve this answer
add comment

Shamelessly stealing off Steven Elliott Jr here. Since I am a Java developer primarily, I would have to say:

  • Nice box with plenty of memory and CPU power, two 30" monitors or 3 24" monitors
  • Linux/Unix
  • Eclipse
  • Sybase/MySql/PostGres for Database
  • Nice open environment with lots of smart people that love agile software development, take responsibility for their projects, etc.
  • Coffee is good
  • Whiteboards!!
  • aircon that doesn't suck
  • relatively quiet
  • Comfy chair
  • Big desk to hold my books :)
share|improve this answer
add comment

Don't forget to have a Wii nearby with Balance Board and all known snowboarding and skateboarding games (including Shaun White's) for thinking and blowing off steam. I guess you could expand this to the newer stuff like Playstation Move or the other one by that company in Washington (something soft? I can never remember).

share|improve this answer
    
I'd not get to work then –  DaVinci Dec 14 '10 at 15:31
    
@DaVinci if your work isn't more interesting than a video game, you should look for a better gig. –  Yar Dec 14 '10 at 20:51
add comment

Since I am a .NET developer primarily, I would have to say (and I have this already, well most of them except for maybe #5):

  1. Nice box with plenty of memory and CPU power, two 30" monitors or 3 24" monitors
  2. Windows 7 x64 - Ultimate/Professioal
  3. Visual Studio 2010 for C# 4.0/ASP.NET MVC2/WPF/Linq to Entities
  4. SQL Server 2008 R2 for Database and Report Services
  5. Nice open environment with lots of smart people that love agile software development, take responsibility for their projects, etc.
  6. Coffee is good, but I am more partial to tea. Perhaps something from Teavana or the like.
  7. A kegerator :-/
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.