Joel Spolsky's argument for going all out and treating their devs well is that interesting work and good pay might get them the top 1% devs, but adding a nice workplace gives them access to the top 0.1%. It is, of course, an optimization that can only really be applied once you've got "interesting work" and "competitive pay" locked down.
too hot? I wouldv'e committed a small crime for heat. I came in to my office in July 2007 and it was 62f. It warmed up to about 66 after I ran some space heaters. (this was in the US, not the southern hemisphere!) :)
My fingers couldn't type or mouse very effectively. 100+ people worked in frigid temps so a few people on the other side of the wall could have mid 70s - the thermostat was on their side of the wall. :/
An old company of mine had Nightingale CXOs (http://www.nightingalechairs.com/cxo_home.html) as the standard issue developer chair. I remember the first few days I was there, not really getting it - the thing is this complex-looking chair that you'd think would be infinitely comfortable, and mine...wasn't.
And then around day three, just as I was finishing all my HR stuff and the get-to-know-you tours (and starting on my first project), one more person came around and introduced themselves as the local ergonomics advisor, and explained that they were here to fit my chair. I then had to watch the Flash movie on how to adjust my chair, and play with the little 3D rendering of it (during which time, the visitor was watching how I moved). After ten minutes of this they stopped me, and proceeded to adjust five or six settings on the chair (a few angles, the arm width, the pan distance, etc.).
Upon sitting down again, it was like I was sitting on a cloud, and I understood what you get with a thousand-dollar office chair. In an ideal world, it wouldn't take someone who took a course in chair-adjustment (they had a rep come in for two days to teach the advisors how to perfectly fit the chair to the desk and person) - but damn, does the system work well.
I've had a Nightingale CXO for about 5 years and I love it. I went to the store intending to buy an Aeron, but I'm glad I considered some other models that weren't quite as trendy. Wish I had one at work too!
I'm sitting in the Herman Miller Embody, which is vastly harder to adjust properly, at least for me. I've actually been meaning to finish a very long review of the chair; maybe this'll inspire me to do so and submit to HN.
I find it disturbing that the author of this piece is having his on-topic responses censored:
richarmstrong 5 hours ago | link [dead]
You are not alone. I wrote that blog post while sitting on
a Humanscale Freedom Saddle Seat stool ($300). I
considered getting into it about Aerons, but thought
better of it.
Plenty of folks here dislike them, too, and have the
choice of any chair they want us to order.
richarmstrong 5 hours ago | link [dead]
I'd love to do that, but our offices are glass-doored, so
not sound-proofed, though that's a good idea.
The real piece of math missing from this is the cost of the real estate. I'd take a cheap chair and desk in NYC over a $1000 chair at a $1500 desk in the suburbs. The surroundings matter as much as the inside of the office. But a lot of companies move to the suburbs because rent becomes prohibitive on a large scale.
You should include the cost of effective insulation/sound-proofing. (I've seen/heard it done reasonably well with expanding foam during wall construction.)
P.S. Hey, folks, the original author, Rich Armstrong (richarmstrong), actually replied in a response this comment, but you killed it off -- it's dead, now.
Sometimes I feel like I'm the only one who doesn't like private offices. It just seems like a separation between myself and the rest of the team. I actually like open seating arrangements.
When I need some serious concentration and can tolerate no distractions, a solid pair of noise-canceling headphones does the trick.
Not for me. I'm not anti-social [1], but I have very limited ability to "filter" out surrounding noise and activity.
Actually, to some extent I think I'm simply more aware of the distraction. I recall a classmate's chemistry grades improving significantly after I convinced him to turn off his stereo while he was studying.
People always wonder how I see the things that they missed. (And I get that a lot.) Unfortunately, many seem completely unwilling to accept this aspect of the possible answer.
Nonetheless, if it works for you, it works. I just wish the current, open space dominant culture would be more accepting of my explanation of what works for me.
[1] To the contrary, I seem to be the one who ends up with connections throughout an organization, although they tend to focus on those who have a bit more depth. (I'm not much for the "schmoozing" crowd and superficial conversation -- I absolutely do not care about the latest Adam Sandler movie.)
Contrary to many around me, I'll end up knowing people across divisions, and from HQ down to the plant production floor. Those of us who "get stuff done" tend to find each other, and to rely on each other when the bureaucracy is demanding the impossible.
It's a matter of preference to be sure. I've never had a totally private office. I've had high-walled cubicles, which I found tolerable with headphones, shared offices, which were likewise OK as long as your roomie wasn't too chatty, and open "bullpens" which I think are the worst.
We're moving soon into a new building where it's mostly open "bullpen" seating. They have provided a handful of "focus booths" where individuals or small groups can retire if they feel they need some isolation. We've been preached at about studies that show that "open, collaborative" spaces are the best.... by managers/administrators who are all going to have private offices! Classic "do as I say not as I do." My guess is that I won't be sticking around.
Personally I love them - we're a small company, only six of us in the office (a few others dotted around elsewhere), and private rooms are great. Most of the time we leave our doors open and can chat from the hall, or shout to each other - but even then, it's nice having a bit more personal space than if they were in the same room.
We work in publishing and marketing though, so essentially we work on different things except when two or more of us come together on a specific topic, at which point we can either sit in one person's office or go into the conference room. Maybe we would feel differently if we were all developers and therefore had a different style of working together?
What I'd like is private offices with huge doors (double doors, or rollup doors, or french door wall, or whatever), all facing common "courtyard" areas for teams, and then also having doors to utility/access/etc. hallways.
I have no idea how you'd build this cost effectively except illegally inside a huge open warehouse (2-3 story clear-span space).
For me, the sound isn't the problem. It's all the movement in the corner of my vision that distracts me. No amount of noise cancelling head phones will help that.
An office on the other hand means that no coworkers can distract me, unless it's intentional
Absolutely this. I must be one of the few who cannot stand movement in my line-of-sight, but it breaks my concentration every time. I share an office with one other person and I resort to positioning my head behind my double monitors so that he's out of my field of vision. The same goes for sound actually. I just cannot filter out extraneous signals. I'm fine with "white noise" though, more than most even. I wonder if this is a recognized condition.
I've tried active cancellation headphones, passive ear muffs (including $100+ extreme models), ear plugs, etc. They don't cut it, neither in terms of effectiveness, nor -- with the muffs -- in terms of comfort.
I also am in the same boat as chollida1, in that surrounding activity -- including visual -- distracts me.
I think the point of the original post, in part, is that the costs are incidental compared to the overall expense of the role. Don't nickle and dime your employees -- your coworkers. Treat them as professionals and give them the tools they need to get the job done. If you're afraid they are going to ask for things that are counter-productive, you're not doing your hiring correctly.
The big takeaway for me from this article is "treat your employees well". It may be that some devs prefer sitting in a beanbag chair with a 13" laptop. Do you think Fog Creek is going to say no? Heck no. They're going to do whatever it takes to keep your developers (and all employees) happy. We are at work a huge percentage of our lives. Not being happy at work is depressing, particularly when the employing company can take steps like this to make the environment welcoming and positive.
I think that from an employer perspective, sometimes it's the "little" things that pile up and really make a difference. For example, how much does having bagels, cream cheese, coffee, and fresh fruit available every morning really cost a company? In the grand scheme of things, probably not very much. But for those people who need something to kickstart their day, offering this sort of freebie is going to make them happy.
In my opinion, the desk setup as described above would make me FAR happier than free breakfast. Knowing that a company does this for their employees would certainly push that company to the top of the list of companies to work for.
Personally, I hate Aeron chairs with a passion. Obviously, the overall point here is to keep developers happy, so I'd presume FogCreek allows developers to opt for different/better chairs. I just don't understand why these are considered the pinnacle of comfort.
Is it just me? Am I the only person who finds everything about them to hideously uncomfortable, from the jabby knife in the back lumbar support to the circulation killing front steel bar that makes it impossible to perch on the edge if you so desire?
</rant>
Aeron chairs are outdated. Big ergonomic advances have been made since it's inception. On major drawback is that an Aeron needs to be properly fitted (comes in different sizes) and adjusted. And even then it still won't work for some people.
There are better chairs out there these days (including Miller's own Embody mentioned in the article). And most of them are a bit cheaper too.
It definitely isn't just you - we have one in our office, and it's used by the newest hire (who joined 2 months ago) because nobody else wanted to use it, so it was the spare chair when he arrived.
I've read that the plastic chair back feels good at first, but gets uncomfortable. I seem to recall something about H.M. listing it as rated for three hours (?), making it a "task" chair rather than a "work" chair (if I understand the nomenclature). What's your experience been with it?
I have been using a Mirra fulltime for more than 2 years. When my former employer was getting new offices and furniture, I piggybacked on their chair order so I could get a discount on two chairs for the home office.
I now work from home and think it was one of the best investments I've made in myself. The chair is very comfortable and they adjust very well for tall or very short people (my wife).
Sounds like the height or tilt adjust was out of wack if the front bar is putting that much pressure on the back of your legs (I literally cannot stand eating dinner on square bar stools, I empathize with leg circulation getting shut off, and was one of the reasons I bought one of these).
Glad to hear others say it. I lusted after one because I read Joel for years. I finally got mine, perfectly fitted and adjusted. And I never had such back pain (I don't normally have any!), I ended up giving it to my wife and using a $60 chair from Ikea that is so much more comfortable.
I HATE these chairs too. However, someone recently told me that they come in different sizes, so maybe mine was just the wrong size for me. I've also heard that what seems comfortable might not be best for you too.
There are 3 back rest configurations too: Lower back support, lubar support and no support.
I'm most comfortable with the no support option. You can convert either of the other two to this option by removing the black thing (it slides off sort of).
As far as sizes go, most tall and/or slightly overweight men need the C sized one, but definitely get a proper sized one.
If you go to high end office stores (sam flax here in atlanta) they'll have a few different sizes.
1 - The company focuses on people as appreciable assets, as opposed to costs to be minimized.
2 - There is not diminishing returns for chasing the best.
Where this is true and recognized, companies don't nickel and dime employees. It is usually true in the best recruiter of each talent focused industry. Like them or not, this is in part why Goldman Sachs and McKinsey succeed, as well as top software firms.
Once you view people as costs to be minimized (think the auto industry) or there is diminishing returns on individual excellence (think Wal-mart) then this system breaks down.
I expressed similar thoughts in the past: http://programmingzen.com/2010/12/28/give-your-programmers-p... It just doesn't make sense to cheap out on these things. If you do because you can't afford it for every developer, then you don't have enough money to employ that many developers.
Wait, sorry, are you saying that a company shouldn't hire a person if they can't afford top-end office equipment? Or is this only for developers? I think that's silly & unrealistic, and am hoping it's just hyperbole to make a point.
(edit: I don't actually disagree with your general point, that better tools == higher productivity == better return on that developer salary. However, implying the cost of buying top-end gear for a dev should be a sunk cost isn't fair or realistic. Especially when the business has other employees who don't touch emacs or eclipse but still sit at a desk all day working on a computer. )
Probably primarily for developers. A $100/mo investment to get more out of your developers (who cost at least $30k, and usually $100k+) isn't a problem. If you're looking at much cheaper office staff, you can presumably pay less to make them more productive since hiring more of them is cheaper (measured in Aerons).
How do you manage the differentiation without the less special classes having some resentment? There are some costs that they'd likely understand (person who spends all day in email and Word objectively does not need as good of a computer as a developer), but how do you tell someone that they're not worthy of the same desk/chair that a developer is? What happens if there's a spare developer chair that they start sitting in? Do you ask for it back when you hire a new dev?
I'm not saying it's impossible, especially as the company and grows and there may be less direct contact between the departments, but I definitely see some issues that could arise.
You tell them that the devs are all pretty pretty princesses who can feel a pea through a pile of blankets.
Seriously, I think you've got to buy everyone fancy chairs if you buy them for devs. Otherwise it breeds resentment. If I were a secretary sitting in a shitty chair while all the devs sat in $1000 chairs (including the intern who's only there for the summer and gets paid less than his equipment costs), I'd feel pretty unappreciated.
A developer who plants themselves in their chair for a 12-hour hacking run and barely moves in that time objectively needs a more ergonomic environment than the 9-4:30-ers that spend most of their time standing around the water cooler or coffee maker.
I am a mere gadfly, a dilettante, and I have to get up and walk around to think, draw, sketch, scribble, look out of the window, focus on the horizon. At work, I spend a lot of time talking to groups of people, and moving things about. I'm actually unable to sit at a keyboard and type for more than an hour. So I use a kitchen chair in my home office and at work we have cheapo semi-adjustable computer type chairs, and three year old Windows boxes with smallish LCD monitors.
If someone else at work really did sit or stand at their keyboard for 12 hours straight, I'd have no problem at all with them having a fancy chair, because they would have my admiration and sympathy.
...might sell the idea a bit better to the support staff
Objectively according to who? The developer? That's the point. To the event planner who spends 12 hours working in excel she's got just as legit a need. Seconding the "pretty princesses" sentiment posted above.
One of the points of the original article is that when you take depreciation into account, you can afford to give a developer his or her dream work tools for just $100/month.
According to salary.com, entry-level secretaries in Fog Creek’s neighborhood have a median salary of about $40K. Budgeting another $1.2K to cover the secretary’s computer and furniture does not seem extravagant to me.
Interesting that the mouse is considered as something as "up to $70". After you get used to high-dpi gaming mouse you can't even work properly with <$100 models.
Just like moving to SSD felt like a revolution, for me moving up to a gaming grade mouse has been.. irreplaceable.
The precision and speed for any mouse-oriented task saves quite some time and especially gives a great feeling of having better contact with the screen. Highly reccommended.
It takes a few days to get used to moving your hand a lot less than before but think how much less strain!
Current setup: Logitech G9X and Razer exactmat.
Previous mouse was Razer Lachesis but ergonomically it was somewhat crap.
Based on your recommendation, I think I may have to try a gaming mouse.
However, the model you mentioned is currently listed as $71.99 on Amazon. Were you thinking of a different model, or have prices just dropped since you bought it?
The cost of the workstation should be doubled when calculating the cost over 5 years. I don't know anyone happily working on a 5 year old box. 2.5, sure, but not 5.
How many dev shops still give everyone workstations? Our company is entirely on laptops and I don't know a single person here that wants a workstation.
If your development necessitates that you run one or more virtual machines on a consistent basis, the 8GB memory limitation of most laptops bites your hand almost immediately. If you work on VLDBs, the lack of storage and I/O bites your hand almost immediately. If your developers largely don't need to be mobile, you're paying a significant premium for mobility and sacrificing power when those sacrifices aren't necessary. If you develop games or iPad applications, the lack of display real estate annoys the crap out of you almost immediately.
I can't do serious dev work on a laptop. Too underpowered. Everyone here gets a laptop, but it's for working in bed, or on the road, at your child's birth, etc... But for day to day dev work, a high-end workstation is a fair bit more productive. At least for the type of dev work we do.
We do client work that encompasses everything, C++, ObjC, Java backends, Java Frontends, Flash, HTML/JS, etc. I'm not sure what serious dev work implies?
Try compiling any _large_ project on your machine. Say, Webkit. Come back and tell me how much fun that was :)
Kidding aside, if you have to dig into large-scale projects or heavy computational stuff, a laptop is underpowered. Thankfully, not everybody needs to do that.
But even for day-to-day work - how can you live with 15" of screen real estate? Without an ergo keyboard?
At that point you're left with an underpowered desktop experience. It obviously depends on what work you're doing, but I'm happy with my desktop machine with 12 cores and 24 gigabytes of memory and wouldn't switch to a laptop for anything in the world. I have my personal MacBook Pro I can use when working from home or when travelling but it's definitely a second-class experience. The downside is that a high-end dual-processor Xeon and a compatible motherboard costs a big chunk of Fog Creek's whole per-programmer equipment budget. If you're working on web apps, it probably wouldn't be worth it.
I'm on a laptop with two monitors. I don't need a workstation, I need a place to put all this stuff down.
(I do also have a desktop. I don't know if the monitor is plugged in - I do everything on it via command line. It's handy for VMs, as other people mentioned, and other semi-work-related things.)
Joel doesn't believe in telecommuting. One way to ensure it stays that way is workstations. (And if you can't work from home, you do get more power for less money in a workstation)
(1) it doesn't matter what I believe in. We now have telecommuters at both Stack Exchange and Fog Creek and for the right individual, it's fine.
(2) this doesn't follow. Do you really think we give people desktop computers simply to make it impossible for them to work from home? That's silly. Anyway, the telecommuters we do have almost exclusively use desktop computers. You know why? Because once you've programmed on a 30" monitor, you'll never go back to programming on a laptop.
I actually program on a 30" monitor connected to a laptop, so that doesn't follow either...
edit also I guess I stand corrected on point 1, I wasn't trying to be rude, but you had in the past said telecommuting was essentially against what you were trying to build as a team at FogCreek.
Because once you've programmed on a 30" monitor, you'll never go back to programming on a laptop.
Total sidebar, but I actually have found 30" to be too big. I could not get my neck to stop hurting from trying to use the whole screen, and wound up using the innermost 23-24". So I ditched it for a 23" monitor.
Was I doing something wrong? I really wanted to like the 30", but I just couldn't get it to work without putting it too far away from me to see normal sized fonts. Anyone else run into this problem?
I'm on a 24", so I can't speak from experience. It sounds like you maybe just needed to sit further away from the monitor though (some desks obviously wouldn't permit this).
I've not used a 30", but I've use 27" plenty. I just spread applications around the screen. Having an editor and terminal/browser side by side is quite handy.
> Do you really think we give people desktop computers simply to make it impossible for them to work from home?
Actually, I do. In my country, bosses are more than happy to pay more for laptops so that the workers can work anytime. I have respect for companies that implement out-at-five [1], and using desktop is a key element of that.
If you have 32GB of RAM in your workstation, you will find a way to use it. Some laptops are very powerful these days but a desktop or rackmounted box will still be more powerful.
That aside, there is another advantage of not using a laptop and that is that you cannot be asked to take work home with you ;).
I have a laptop. I think I'd rather have a workstation, or at least: more RAM & CPU cores (for VMs), a faster hard drive, a taller monitor with a lot more pixels, a mouse with a scroll wheel, and a numpad. Also more USB ports would be nice.
That's all very nice, but I'd rather just stay home. I get to keep using my own highly personalized office space and avoid commuting. Employer get to save $5000 and reduce office space requirements.
I wish my company had similar sentiments. I sit in a darkened corner with the lights turned off. The only thing I can see is an unilluminated beige wall. It's very depressing.
I brought in my own chair (a used Steelcase Leap) and my own keyboard. That helped a lot. Even so, I still have to get up frequently throughout the day so that I don't get back or shoulder pain. When I do, I get suspicious looks from folks who think I'm not working hard enough.
The irony is that I work at home on my own time because I'm more productive there.
The only thing I work on that my job provided is the laptop, which they purchased for me after realizing my own was a bit too old. External monitor, mouse, keyboard, stand, etc. all came from home.
I prefer a 99 dollar ergonomic chair, as sitting and standing both exacerbate my bad hips.
I prefer 3 22" monitors at half the cost of a 30". I prefer total resolution available, not size of the monitor.
I just saved him $1500 bucks, and I'm happier than I would be if I was forced into their setup.
I don't know if anyone mentioned this yet (I haven't read through all the comments), but having the headquarters located somewhere in an interesting area (preferable downtown, and I don't mean the downtown of a dying city like Detroit) and allowing your employees to take their 45min-1h lunch break where-ever they want (in this way taking full advantage of the cafes/restaurants/beautiful buildings supposedly surrounding their work-place) it's also a very nice thing to have.
For me, at least, it allows me to clear my head and come back fresh to my desk full of new ideas and joie de vivre. I think what companies like Google end up doing, by keeping their employees locked-up in beautiful golden cages even during launch-breaks is detrimental in the long run.
One question to the writer, if you happen to be reading this: Why "AirTouch Adjustable sit/stand desk and non-moving side desk – $1738 from Steelcase" instead of Series 7 desks, which I think get mentioned elsewhere on your blog or Joel on Software?
And do those desks have memory, so you can move it from one position (seating) to another (standing) consistently?
Sitting for a very long time is bad for you. It causes increased chance of death, causes your back to hurt, makes you fatter, and lets your energy level go down after hours of doing it.
It's not so much the "coding" part as the "sitting at a desk for 10+ hours a day" part that makes standing desks so attractive to programmers.
I know that sitting is bad for you, I just couldn't imagine people standing all day instead. TBH after running around at home after my toddler I enjoy going to work to sit on my butt, heh :)
I haven't done it a lot, but I like to pace when I'm thinking about a hard problem. Having my computer at standing height means I can go straight from thinking through the problem to coding the solution without the attention shift of settling back down to a sitting desk.
Reportedly, there are also health benefits to standing rather than sitting.
Just don't confuse the correlation and causation. Those who stand do so because they like it. It doesn't automatically mean that everyone who tries standing likes it.
I started standing about 2 months ago, mostly for the supposed health benefits, and really like it. The anti-fatigue mat and adjustable desks really helped me get going. I started one week at 2 hours of standing a day, then 3 hours the next, etc., up until I was standing all day long.
I don't know that I necessarily code better when I'm standing, but overall I prefer it to sitting.
When I worked at bigcorp, inc., I used to always prefer going down to the datacenter and working on my projects at one of terminals in the racks, standing of course. No cubicle distractions, no noise except the constant hum and the occasional greybeard shuffling by, standing kept the blood flowing better, and all of it helped me get into and stay in flow better.
I wonder how the AirTouch desks compare to the GeekDesk. I'm really interested in trying out the standing/sitting thing, and those two seem to be the really big ones. Does anyone have any experience with either of them?
I leave my tower on the floor next to the desk and all of the cables are long enough to reach even when it's at standing height. There is a tray below the back edge of the desk that you can rest smaller objects on, like a USB hub. I believe they also make a bracket that attaches to the underside of the desk that can hold your tower, if you need.
what i cant understand in my workplace is that the admin dept has this very nice comfy chairs and yet the IT dept has this very old non-ergonomic chair that you would buy a backrest for it.
What I always find a little bit suspect about these posts – especially from FogCreek – is that it's really, "The Price of Dev Happiness As Long As You Define Happiness The Way Your Boss (Me) Does".
I prefer sitting cross-legged with a 13" laptop on a mat on the floor. I've had most of the things mentioned in the article and prefer my mat on the floor, thank you very much. But I'm just a random example.
More of what I'm getting at is that individual work preferences and your own brand of "happiness" goes beyond choosing your own keyboard. There's always something a bit smug and one-size-fits-all about the FogCreek posts about their work environment (which honestly sounds like it'd make me go absolutely bonkers).
I love the way people on the Internet always find a way to misinterpret every post in the worst possible way, no matter how little sense they make.
After reading a detailed article about how we spend over $5000 to make sure our developers are comfortable at work, do you really think that we then CHAIN them to an Aeron chair and REQUIRE that they use 30" monitors even if they prefer sitting cross-legged on the floor with a 13" laptop?
OK, maybe you believe that. We have bought beanbags and those big bouncy balls for people. We have bought Embody chairs for the rare person who doesn't like a (properly fitted) Aeron chair. If anyone wanted a 13" laptop instead of a 30" monitor, you'd say the word and in 5 minutes you'd have a 13" laptop.
So, this impression you have of Fog Creek as a veal farm with identical programmers all being chained to their identical, Joel-Spolsky-Favored desks is entirely in your own imagination. It sort of reminds me of when I blogged about how we have free lunch and a bunch of people whined about how they don't like to eat with their co-workers. That's nice, some people don't, and that's fine. I never said that the free lunch was mandatory. It's almost bizarre to assume that a company that bends over backwards to make people happy and productive at work is actually some kind of evil plot that would "make you go absolutely bonkers."
I earned a degree in Fine Arts many years ago, and one of the hardest lessons to learn was to listen to your audience. The artist always had a message to send, and the audience usually got a different message.
As the originator of any message, it is important to hear the feedback and respect that feedback. Telling your audience that they got your message wrong shows disrespect for the audience, and a misunderstanding of how communication works.
Try clarifying the message instead of dismissing the audience.
On the internet, where many thousands of people may read an article, it is not possible to make everyone understand your point as you intend it. This is especially true in the geek crowd where many of us insist on being pedantic, nitpicky jackasses who seem to willingly misread in order to find something to argue about.
Appending "of course there are exceptions" and "this is just a generality" and "your experience might differ" to every thing you write in an attempt to appease the nitpickers is a recipe for crappy writing. It's also a doomed effort, as the nitpickers will not only still nitpick your original points, they'll nitpick your concessions as well.
After reading a detailed article about how we spend [...] do you really think that we then CHAIN them to an Aeron chair [...]
The place that I worked that had such nice equipment basically did exactly that: you were given your standard issue equipment with virtually zero flexibility (amusingly other than keyboard and mouse, just like your setup).
That said, the impression mostly comes from the way that you write about the place. You use a lot of absolute terms. There's a lot of talk about best and ideal and happy and then very precise definitions of those things. This gives readers the impression that while you have a very luxurious office, that it's also one that's quite rigid.
Honestly, I'd be surprised if that wholly misses the mark. You're obviously a really smart guy that wants to do well by your employees, and good on you for that. But it also sounds like you're running a grand experiment at FogCreek where you're (mostly by fiat) deciding what you think is best for a company's culture. That may actually produce a place that for the type of folks that get hired there really clicks. I don't think I'd be one of those sorts.
It seemed clear to me that Joel was intentionally choosing the most expensive instance of each item (chair, monitor, desk, etc.) that a developer could reasonably want, not to suggest that every developer needs his specified setup, but rather so that he could put an absolute upper bound on what it could possibly cost you to keep a programmer happy. It was a mathematical exercise, not a recommendation.
and then very precise definitions of those things.
I understood the post in a very different way. There were no definitions, but lots of concrete examples.
It is a staple of writing guidelines that one should be concrete rather than abstract, specific rather than general, etc. The reason for this is that it is easier for people to reason up to the general principle than down to the specifics.
The concrete examples make it more understandable.
The place that I worked that had such nice equipment basically did exactly that: you were given your standard issue equipment with virtually zero flexibility
This sounds to me like a place that grabbed the "what" and missed the "why". The two questions I would want any company I work for to ask are, "Why would our developers want to be productive for us?" and then, "What do they need to be most productive?" in that order. Give me a reason to be productive and then make sure my equipment doesn't hold me back.
The problem is a lot of people skip the first question and jump straight to the second. I personally believe they do that because the second question is quantifiable. The article is called "The Price of (Dev) Happiness: Part One" and it gives a price at the bottom. There is something a manager can put in Excel and show to superiors.
However, the "why" is more nebulous and harder to enact. Change company culture? Might take months, or years if it's even possible. But I can order $6,174 worth of equipment in an afternoon.
And this isn't just a problem in IT or even in business. There is a ton of information out there about how to lose weight. The "what" is easy to find. But people (including myself) are still overweight because they have no compelling "why".
So when I read this article, I read as a description of "what". And I think there needs to be articles about the "what" just like there needs to be information about how to lose weight. However, I am going to try to not let myself be enamored by it when deciding on a new job. I'm looking for the "why" as well.
FWIW, I really appreciated the post, Joel. I'm actually in the process of buying a lot of this stuff for myself due to accepting a new telecommuting job. I need to furnish my home office, and as understanding as my wife is, it's hard to explain to her why this costs what it does. I probably won't spend what you do at FogCreek, but it at least relieved me of the feeling that I was misspending our money. (My tentative stack for those that care: MacBook Air, Thunderbolt Display, GeekDesk, and ? for chair)
I'm really interested in your next post about "real cost of private offices"; please do this post before I pick our offices.
I strongly prefer private offices, but it looks like the only cost effective way to get this is to rent a 10BR house for $10k/mo and have enough space for ~20-30 developers in a mix of private and semi-private (shared) offices, conference rooms, etc.
I generally agree, but it's a lot easier on the dev to have this default, $5,000 workstation package with components that you can decline than it is for the default to be scrounged up from whatever is lying around and you have to negotiate for extras.
I think the list is more of a likely upper-bound to fully outfit a developer's environment. The message seems to be "bosses: it's not that expensive to fully outfit your developers (don't be cheapskates)" instead of "potential FogCreek employees: this is what our cookie cutter looks like (and we'll also do corporate calisthenics every morning)".
It's wonderful that you are so easy to please, though, wheels. Yes, work preferences vary from person to person, but there are likely some common themes among people.