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.

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 SheararDec 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 MiyasakaMar 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 '14 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 '14 at 18:12

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.

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.

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.

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.

Git for revision control.

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

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.

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.

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.

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).

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.

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).