Ask HN: Which companies give programmers offices?

312 points by jjazwiecki ↗ HN
Often when I suggest to non-programmers that programmers should get their own offices, I'm met with incredulity: "Where do any programmers get their own offices???" Microsoft and Fog Creek come to mind, but where else?

251 comments

[ 5.0 ms ] story [ 255 ms ] thread
Reynolds and Reynolds in Houston.
BUT! This comes with some caveats... check glassdoor. Be cautious and don't undervalue yourself.
Automattic. But it's remote, you have to supply your own office. They contribute $250 toward co-working space.
What if you live in NYC where a coworking membership is around $500 a month and an office $1000?
It's contribution; it's not supposed to cover the full cost.
If it's your employer, they should be paying for the entire cost of your office.
If you're hired as a remote employee, basing yourself in one of the most expensive cities in the world is your choice, not your employer's.
Good point, and I guess it would be up to the employee to negotiate more $ for their office (if possible).
They are but only up to an agreed value. If Automaticc's employees choose to spend more then they can, and probably do.

If the employer were to cover the full cost then you can be quite sure they'd want a great deal more control over where the employee was based, and if the employer could rent an office for several employees then they probably would. At that point the job stops being remote and becomes an ordinary office job. That's how these things work.

There was a dedicated office in San Francisco that was free for Automattic staff, but it closed down recently because they were paying to maintain a space for 300 people and only 2-3 ever showed up.
Just toward co-working space? I wouldn't have thought those deciding to work at home (i.e. giving space in their home to their work) need the contribution any less.
I've had multiple federal government programming jobs with offices. I consider it a requirement at this point.
Epic systems
If you're speaking of the Healthcare Giant based in Wisconsin, I believe you share an office with one other person.

Or at least on the Verona campus. It's been a while since I've been around those parts.

Sharing with one person is still better than a cube or open plan.
Or, depending on the person, much much worse.
In the late 90s I shrared an office with a guy, and he was great and really nice - we both liked to work with the lights out...

But he had a very peculiar look to his face, like a charicature. So when we would spin round in our chairs to discuss something, he'd be talking to me about something very serious about work and I would start to giggle.

He would say "what why are you laughing?" And I would have to say things like "in sorry something you said just reminded my of something funny"

I had a really hard time maintaining a straight face around him - I felt so bad about it.

I worked there in 2007 and had my own office.
Why would anyone want to work for a sweatshop just because they provide offices?
I would hope most companies that consider software to be their core business give programmers offices, even if they have to share those offices with another person on the same team. Most companies that do not often consider programmers secondary to their core business, which is a good reason not to work there if you have a choice.
I mean I would hope so too, but it appears to be patently not true. Thus the ask HN question, where can one find these mythical offices.
Well, the only place where a non-programmer would treat the idea that programmers should have offices with incredulity would be a place that doesn't value software as its core business.

I mean, most "programmers" don't work for software companies; many of them are employed by banks and insurance companies. It's natural for that to be treated weird there.

"the only place where a non-programmer would treat the idea that programmers should have offices with incredulity would be a place that doesn't value software as its core business"

But this is also not true, see e.g. Facebook, Google.

You can hope that that's the case, but that doesn't mean that it is. In my experience, it is emphatically not the case.
Do you work at a company whose core business is software?
I do, and I've interviewed at several others. Nowhere have I seen private offices.
Yes, in NYC, never worked or interviewed anywhere that gave engineers their own office, probably looked at 50-100 NYC startups
I do. We have an open floor plan for all employees.
You're conflating what the smart thing to do is with what's actually done. :)
If your employer does not do smart things, you should find a better employer.
I agree. But if you consider having a personal office a smart thing, this isn't going to easy or even possible.
I consider having an office a smart thing. Shared offices are better than no offices. I don't think shared offices are too much to ask if your employer is a software company.
This is of course location sensitive. In London, UK, I have not heard of personal or shared offices anywhere but very small companies.
So please tell us where these better employers are -- that is the point of this thread after all.

I've been in software for 30 years, and I only remember interviewing at one company in the Boston area that had private offices for most engineers -- Stratus, back in 92.

Agreed, I also think it's smart to pay your programmer $350k/year. If you don't work for a place like that then you don't work for a true software development company, or you work for a dumb one (in which case you shouldn't work there).
Is this sarcasm? As far as I’m aware, jobs at even large successful software companies rarely pay that well. Perhaps super high level engineers at Google or FB but a very small subset of developers would have this opportunity.
You do not need to be that high of a level at Facebook/Google to make 350k/yr. It is not a very small subset, but rather a very large set.
Most people programming in National Labs get offices, though you might need to share with one person. If you are in the bay area, think about SLAC or LBNL.
I know for a fact LBNL Software Developer 4 pays less than half the salary of other software companies.

Screw that.

Laurence Livermore National Laboratories is not too far from the bay area as well.
Not always true from my experience at ANL
Depends on where in SLAC you're working. If you're in the IT building, you'll frequently need to share a larger room with 3-5 other people.
At NASA we tend to have 2-3 person offices. But it's a big agency so YMMV.
Similar experience where I work (FFRDC). Most people have their own offices, although some of the more desirable offices (ones with windows that are also bigger than interior offices) are shared. It does get a little sardinelike in summer when interns need somewhere to go.
Stack Overflow has blogged about their private offices for developers many times before. This is a post from 2015, I'm not sure if that's still the case: https://stackoverflow.blog/2015/01/16/why-we-still-believe-i...
Work at Stack here. We still provide private offices for developers when they're in one of our offices. A lot of the engineering team is remote too, which lets people have their own workspace as well.
Colour me green with envy. I'm working in one of those fabled "cubical farms" mentioned in the post.

Half of the company has gone full open office, and the laggers (who didn't get redone before the last CEO suddenly quit) seem to not be changing. I could wander elsewhere in the building to work once in a while, but eventually people would start questioning where I am.. and I'd be missing out on my single monitor and ergonomic seating. I work for a modern company with 30 year outdated office structure... At least its feeling that way today. Yep, right there -- there's the envy!

A lot of people would be jealous of your cubicle setup, including me. If your company decides to update their '30 year outdated office structure', you'd most likely be stripped of your cubicle and have no real private space. I'd venture a guess that you'd curse yourself for taking your precious cube for granted.
You've got a point, I do like having a little personal space to drop my things, but I'm actually not sure what I'd like better. I'm not much of a nester. Yet an office... especially like the ones at SO would be pretty sweet.

This is the fist time I've worked in a cubicle. I rarely see sunlight, although I recently was moved about 5 feet closer to a window (with walls still in the way). I used to either work outside (in other occupations), or at varying locales. It's new to me to be tied to one place, bathing in fluorescent lighting.

Recently the company took offices away from people and moved them into cubicles, including management. The open office spaces have more private sections to tuck into for the day, they're just bookable.

Do pretty much all programmers in Microsoft get their own office?

Is it as simple as that or there's more to it?

Depends on the group, there is a push for open offices of late.
In Research, everyone still has offices.
Definitely depends on the group, but I think mostly just whatever building you happen to be in. The building I'm in is newly remodeled. Meaning entirely open-office.

In my opinion, my building/group/whatever does it wrong by jamming so many bodies in the same room together. There's 26 desks here in a room that looks as though it could comfortable fit about half that many. I've since adopted big sound-proof headphones and a wall of monitors that eliminate most distractions. But the biggest annoyance to me is that there's constantly a line for the bathrooms. Too many people for what the building was originally designed for, I think. Assuming we better limited the room capacity, I could likely tolerate this just fine.

> Too many people for what the building was originally designed for

OSHA regulates the ratio of employees to toilets ("water closets"). Check this table [1] and file an OSHA complaint [2] if the requirement isn't met.

[1] https://www.osha.gov/pls/oshaweb/owadisp.show_document?p_tab...

[2] https://www.osha.gov/pls/osha7/eComplaintForm.html

I assume those numbers are per employee by gender, right? If my company managed gender equality we'd be right at the limit if all the desks were full. Maybe that's why the facilities guy gets cranky if people take over meeting rooms for contractors or interns?

A certain online retailer of books and counterfeit electronics has slightly larger bathrooms and a similar layout in its new buildings, but worse gender equality. They may actually be in violation.

Your assumption is correct. Men's and women's toilet facilities are counted separately for each sex by OSHA. The exception is single-occupancy rooms, which can count for either sex.

(It's not clear the exact algorithm one should use in counting a mixture of multi- and single-person restrooms, but I would presume it's something like, count all the men that can use your male restrooms, count all the women that can use your female restrooms, and take everyone left over and see if they fit is your unisex restrooms.)

Vancouver office is open floor hell, themed on a garage, with another open floor hanging above you for extra noise in case all the noise of one floor wasn't enough. There's some attempts to suppress noise with glass but is more cosmetic than effective.
There we go so since people are saying "it depends" I guess you can't just go work for them on that basis.

And I bet if you bring it up during the process it wont help at all.

I’m in Office, and my whole building has nice-sized offices for engineers and PMs.
You mentioned it in the question already, but when I worked at Microsoft as a contractor I got an office.
Old Microsoft: it was a BillG ethic: anyone touching software got an office: software design engineers, PM's, QA, even admins ... it allowed one to be quiet and focus. And signaled to co-workers - do not disturb ...
Most new buildings at Microsoft now have open office plans.
This is mostly due to employee demand (although some employees are very angry about it).
Microsoftie here. I haven't seen any indication for it to be due to employee demand. The vast majority of engineers on my team, and my last N teams, have agreed it was top down from leadership; and even those that preferred open offices agreed that cost cutting and space utilization are likely driving factors.

To contribute to the broader discussion; SOME teams here still have offices, but it's a dying breed. I consider myself very lucky that I found one that did, and it was certainly a factor in my choice.

Former Apple employee here. That sounds exactly like what I witnessed. The new Apple HQ is very much open office and the design was definitely top-down from execs - I just know that I had no input at all even though it was my workplace. Always got my best work done at home.
If companies can't afford to give programmers their own offices, then they should just let them work remotely from their own private offices in their homes.
Also work for MS I have an office, but wouldn't care if we went open. I worked for wall street for a while and was used to it.
Speaking to someone there: they were planning to remodel the whole campus. However they stopped after a few conversions due to feedback. Converted buildings are staying open, but other buildings are reportedly staying as individual offices.

This is second hand, could be wrong.

I was a contractor at MS many moons ago, I got an entire office to myself. Later when we had a crunch, we had to double up, but it was both perm and contract, not contractor specific. There was no lack of collab due to offices, close your door when in the zone. Open in it when accepting visitors. Absolutely loved it.
Microsoft intern here. Got my own office for the summer.
All full-time employees at SAS have their own office.
Everyone at ESRI has their own office.
Microsoft is switching from offices to open office plans. Buildings with offices are slowly being remodeled to open plan.

My first team started off two-to-an-office (unless you had something like 5 or 6 years of seniority, in which case you'd get your own office), but they moved to open offices when their building got remodeled.

I'm hearing that things are moving in that direction as well. Were there reasons provided or were you asked for your preference at all?
I was invited to an employee feedback session at Microsoft. We were asked to discuss teamwork and collaboration and float any ideas we had for changes that could be made to improve them. There were plenty of ideas, none of them involved open offices. Strangely, the consultants running the session used "different workspaces" as an example several times. After it showed up on the slides for the fourth time, I brought up the rumours about moving to open offices and said I thought it would harm productivity and wouldn't have a noticable effect on collaboration. Private offices with whiteboards and enough space for 3-4 people to stand and talk are fantastic for collaboration as-is. Several other attendees voiced their agreement. I don't recall anyone advocating for open offices. When the session ended I suggested to the senior Microsoft representative there that a survey be conducted to gauge engineer's preferences on work spaces. He said those decisions weren't in his hands (almost certainly true). I never did get such a survey.

The open offices that I did see at Microsoft were actually pretty nice - they were discrete spaces with room for ~25 desks and 2-3 meeting rooms attached. Certainly better than the spaces I've seen at startups, but still not close to individual offices in terms of pleasantness.

As for a reason, I suspect it's the same reason they unified dev and test into a single discipline. "Because that's what Facebook does."

Esri gives just about everyone their own office; aside from people displaced by moves or visiting, I've yet to encounter a programmer without one.
On the general question of open vs. private offices, my views have tempered over time. The first time I worked in an open office, I hated it. But I've come to realize that a lot depends on the layout of the office and that there are better and worse ways to configure one.

The first case -- the one I hated -- had a) long rows of desks, b) bright overhead fluorescent lights, c) a lot of noise due to being in a large room with sales/marketing, d) a lot of visual distractions due to people walking up & down the aisles, and e) few available areas to go to collaborate away from your desks.

Now, I'm also in an open office, but I find it quite livable, because: a) my desk faces the wall, for fewer visual distractions, b) the room is comfortably lit (ie, not too bright)[1], c) it's a smaller room with only engineering and is generally quieter[2], d) there are enough areas to go if you need to collaborate.

All this is to say that, while the evidence is that open offices generally suck, there's probably a number of ways to ameliorate their problems to some degree without having to resort to private offices. I don't think I'd prefer an office to my current setup, actually.

[1] I think this element is underrated. In fact, I'd be curious to know if there's a verifiable correlation between brightness levels and how loud people tend to talk. There's something about a dim room that seems to induce people to lower their voices.

[2] Small, but not too small. There's a sort of sweet spot. I was once in a room with 3 other people and it was maddening because it was generally quiet but every little noise -- coughing, swallowing, etc... -- was seemingly amplified by the overall quietness to became hugely annoying. (An inverse concept explains why I can work quite well in a coffee shop despite the background din.)

I work in a team. The team of 5-10 people sit in the same office. That way we can talk to each other when needed. Some say that's disturbance, I call it collaborating.

I'm not a code monkey. I don't sit alone in an office all day hammering out code. If that was what expected of me, I would change job.

So, not exactly open floor plan, but not separate offices either. I think that's perfect.

Same. I'm a huge fan of a team having its own 'alcove' or bullpen as we all are usually tackling a problem together or triaging something.
Agreed, as long as managers, business, or generally people who talk a lot weren't stationed there. And other people coming for discussion or just to chat weren't allowed either unless it involved the entire team.
Same. I'm a huge fan of a team having its own 'alcove' or bullpen as we all are usually tackling a problem together or triaging something.
I'm currently in a small office with a small team. They hate talking. They want to do everything by chat or code review.

My point? So many factors are at play for a healthy office.

I mean, why is there a need to chat while working? Why not go to the kitchen to chat?

Code review seems pointless at a company with a defined code conventions.

Code conventions don't cover good algorithm design, good architecture, common implementation patterns, edge case coverage, etc.
"Code review seems pointless at a company with defined code conventions."

I don't mean to disrespect you, but either you are you are very green or are living in a completely different universe of software engineering than I am. It's interesting to hear this viewpoint.

It seems weird to me to use online chat to talk to someone right next to you. I've done it in some situations to avoid disturbing others but it's pretty inefficient compared to face-to-face talking.
The good thing about online chats is you have a history of the conversation to reference later.
This is worth its weight in gold. Add to that the ability to selectively broadcast the conversation to potentially-relevant people without mutilating the concentration of non-interested parties. Add to that the ability to forward that info to new team members years after the conversations have happened and potentially years after the originator of the answer left.
I like that too. I am fine with interruptions that are work related. It's the constant background noise that bothers me in open office.
I read this as "I don't write code all day." I did write code all day, and when I worked in that exact environment, I could not do it. Too many audio distractions and distractions in my peripherals. And I was supposed to be doing difficult programming work? I have always gotten my best work done at home, alone, while you "not a code monkey" types chit chat in the office.
Depends on the work. I do code all day, but the codebase I work on is massive, fairly old (although some parts have been updated) and everyone in the office has their own area of knowledge. What the code does is also complex enough that it requires specific domain knowledge to code properly (I suppose "expert system" is the correct term), so you can't just throw general computer science at every problem. In that type of environment collaboration among developers is vital, I often leave in the evening not because there's nothing to do but because almost everyone else is gone and I've exhausted the bounds of my knowledge. At that point I can bang my head against a problem for 5 hours or ask the local expert the next morning and get my answer in 5 minutes.

But yeah if I was just churning out CRUD apps then I'd probably be more productive on my own.

I use slack for those questions and, very rarely, a phone. Collaboration doesn't need to be in person.
I consider it rude to Slack someone after they've left, unless it's a critical issue. People shouldn't be "on call" for anything that could wait until morning.
Slack has options to snooze notifications until working hours. We slack each other all the time after hours if someone is on call or just working late, but there's no expectation of answering till the next workday. It's nice because you can get things out there without having to remember.
This is why slack has configurable notification levels, depending on message content and the channel its sent to.
No, but I find it's a lot more fluid when it is. Talking with a white board is much more time-efficient than typing aside from exchanging code/logs/etc, and why go through the trouble of video conference/screen share with all the myriad of things that can go wrong when I can just walk over to someone's desk (or have them walk over to mine) and point at the screen/draw on the white board? Even in individual offices I'd still rather walk over or have people walk over to me. Slack and such have the advantage when it comes to location flexibility/distributed workforce, but for effective active collaboration co-location is still king IMO. At the end of the day you're having a human conversation with someone, no point in adding unnecessary layers.

I think too many developers have a "shut up and let me code" mentality that ironically hurts their progress in any collaborative effort.

Some say that's disturbance, I call it collaborating.

Sure, just keep your collaboration out of my concentration. That is, "Alice and Bob collaborating" may just be keeping Joe from getting any work done. It's easy to lose track of the effect of your collaboration in any open environment. Doing it in an office with a closed door eliminates that problem.

I'm not a code monkey. I don't sit alone in an office all day hammering out code.

Having an office does not in any way imply that you're supposed to "sit alone in an office all day hammering out code".

(comment deleted)
In regard to [1] your hypothesis is probably correct. There exists technology that dims the lights automatically when the volume level of an area is too loud, in order to make people lower their voices.
(comment deleted)
>I'd be curious to know if there's a verifiable correlation between brightness levels and how loud people tend to talk. There's something about a dim room that seems to induce people to lower their voices.

Almost every open office I've worked in has been super loud and disruptive, but one of them that happened to have high ceilings and very soft, warm lighting turned and turned out to be the fantastic. Something about the space gave the room a kind of library-style hush, which I think helped create a feedback loop compelling people to speak quietly and move longer conversations into closed rooms.

I think there's also an element to establishing the culture of how you interact in the open space early on, I think even with the hushed atmosphere of the room itself, it only worked because people had been talking quietly and taking louder conversations into private rooms for as long as they'd been working in the space. Pulling back from a culture of having a boisterous open space to a quiet one is, I think, much harder than doing it from the get-go.

Lighting is such a big issue for me. Our office, luckily has a bunch of large windows in it. But, I've worked places with no windows and too much florescent lights. It's an awful environment.
At the last couple places I've worked I've just stood on my desk and unscrewed the lights above my desk. Helps a lot with eye strain.
The point about facing the wall is interesting. I find it very difficult to concentrate if I'm not facing _away_ from a wall. Knowing that people can come up behind me as I'm working or taking a break makes me very uncomfortable, to the point that I can't really relax and get into the flow of my work. It just feels like I'm being constantly watched.

Of course, cubes or offices would let us have the best of both worlds, but ...

One thing that matters a lot is the behaviour of the people.

I used to work in a small open office where one guy would constantly hold debates with everyone. It was pretty hard to stay out of it, and very distracting.

Now I'm in an office with a similar layout and staff, but it's like a library. There's the occasional group discussion or banter, but not enough to bother.

I've worked in finance my whole career, so it's all open plan, lots of screens. Never had my own office, people always needed (well so they say) to be accessible.

Which did you prefer?

I currently work in the former environment (but everyone is like that guy), and it's super noisy and distracting but also fun.

I've come to the conclusion that watching the market is a fool's errand. We don't need to discuss our trades all the time. Or politics. Or gossip. The common space should be used sparingly.

It is more fun though, to have a constant debate. Just not productive.

The only difference between your library and a closed office plan is that the library was cheaper to build.

And all it takes is two chatty hires to ruin it (as a chatty person, I'm fine unless someone encourages me). If they kept a lot of private meeting rooms when they changed the floor plan, you have a good chance of convincing the chatty people to fuck off to a room if they want to talk, but most places don't do that. They use open floor plans to reduce costs, and then there are shortages of meeting space, kitchens, ventilation, and bathrooms.

The sales pitch of sitting in a group is that you can ask people questions and get an answer, but it's based on bad information about recovery periods after task switching. And as a lead I've been crippled by the inability to get candid answers from junior and midlevel engineers, and being unable to negotiate agreements with senior engineers by hashing out our disagreements in private where I can steer the conversation toward addressing their personal concerns instead of general ones. We should be concentrating on finding a compromise or promising more functionality so they're happy, so that it's two or three advocating for an idea when it's time to discuss it as a team. Instead it just gets shit on while I'm stream-of-consciousing it in the middle of a bunch of myopic people, leading to more confirmation bias and reaffirmation of the status quo.

[Edit] And good luck healing a rift between QA and dev if the QA folk have to wander into the lion's den to talk about an issue. I have only been a lead once in an open office plan (working on #2), because half of my skill is in knowing more about what's going on by liaising across functional or personality boundaries. Half of the rest is in fixing unidentified pain points, which often requires hearing from people who don't like to be a bother. Open plans don't encourage candor, they crush it like a bug.

Steve Job's line, as reported by Jonny Ive IIRC, about ideas being fragile and needing space to grow really hit home when I figured out I'm doomed to be in open offices until the pendulum swings back.

> But I've come to realize that a lot depends on the layout of the office

A lot also depends on the people that work around you.

If everyone respects one another, then it's usually OK.

However, there is often at least one person who talks and talks and talks for most of the day (and somehow keeps their job), and at least one person who talks VERY LOUDLY on the phone all day (because they're far away, so obviously you need to shout to be heard?!).

a) my desk faces the wall, for fewer visual distractions

I'm sitting here feeling stunned that anybody could ever want their desk facing a wall, as the implication (in terms of any "open plan" environment) is that their back is facing, well, nothing. IOW, somebody can walk up behind you unnoticed. Me personally, I hate that with a passion. I'd pay money to have my desk facing out with my back to the wall, just so nobody can walk up behind me.

I feel anxious when anyone can see my screen. I should be able to visit HN without feeling guilty as long as I'm getting my work done, but when I'm facing a wall, it's almost paralyzing.
(comment deleted)
There's a reason common convention swag for years included a fish eye mirror with a notch on the back to fit over the corner of your monitor.
Well, technically I'm facing 8th floor windows, but my blind is down. Others are partially open though so I can glance to the side and see the outdoors, which is nice. So it's not quite as bad as facing a wall, but it is true that anyone can walk up behind me unnoticed. Because it's a standing desk (though I use a high chair) that somehow doesn't seem as bad because they can't loom over you.
I used to do this because I'd do personal stuff at work. recently i changed jobs where i face outward towards a wall instead of towards others. I work 100% during work hours on my work computer, though I frequently check social media/news on my personal cell phone -- especially while waiting for things like compilation or deployment :) so i guess I solved that problem by only using my handheld devices for stuff I'd rather not have anyone see. all in all its kind of nice, it raises the barrier to coming to distract me if my back is turned to you and my headphones are on. I thought i'd hate it but i wound up liking it just fine
I thought I was the only one! It seems to be some primal fear that while I'm concentrating on something, someone will pounce me. So it discourages me from focusing too deeply into a problem.
I had a similar experience with coffee shops. I was working from home for a stretch and discovered (almost by accident) that I could focus well at a coffee shop in spite of the noise. It gave me a mild sense of urgency for whatever task I had chosen that helped me tune out the distractions. It was mostly quieter at home but there always seemed to be more potential distractions. I found going once or twice a week helped me stay more focused overall - also for when I was home all day.
I generally hate open offices. I've worked in enough open space / half-height-cubie-space to detest them. In one case I refused a job (well, a transfer) because the other group was basically cheek-to-jowl and in a place with little ventilation (it smelled bad in there); I've done crappy working conditions in startups, but I refuse to do them in a multi-billion dollar corporation.

However, the ability to move your desk at will makes open space work well, assuming you have enough space to work with. If your desk is on wheels and your company lets you, you can just relocate: Find a quieter spot to work, or go sit next to a few people you're working closely with for a while.

But the combination of open offices and assigned seating is terrible. It feels like preschool. I prefer to be treated like an adult at work, not a child or a slave.

In that environment, you also lose the ability to shut your office door and have a private meeting. Sure, you can put 3-4 person meeting rooms next to big open offices, but I've never worked in a building that had enough small conference rooms to make up for the loss meetings in offices with doors
AccuLynx - we aren't even in a tech hotbed. Just little ol' Beloit, WI. We got to build a brand new office building with offices for all devs. Great place to work, awesome perks. We saw a marked throughput improvement after moving to the new office.
> we aren't even in a tech hotbed

That's precisely why you have offices. Real estate is extremely cheap there compared to tech centers such as SF/ Bay Area.

Adobe in San Jose. (At least it used to.)
They are in the process of dismantling those office and creating an open office plan.
MathWorks (Natick, MA).
Stack Overflow does. I'm an engineer there and we still think providing private offices to our engineering team is important for their productivity. This includes engineers, SREs, designers, data scientists, PMs, and others.

However, most of our engineering team is remote and if they're not in one of our locations, we give them pretty much what they'd like to build their own home office or go to a coworking space.

For me, I'm actually nomadic, so I tend to work from wherever I'm staying or end up in cafes a lot of time. I still get the support I need if my work "station" isn't optimal.

TL;DR Stack Overflow provides private offices, but is really flexible, especially given its remote policy.

I'm still occasionally sad that I bombed an interview at SO a while back. I had prepped for more of a front-end/full stack JS role, and got asked a series of low-level data structure questions. I thought I did alright given the circumstances (I did work out the correct answer to each one), but the interviewer wasn't impressed.

I asked for a do-over and they said no. Oh well...

Typically companies will let you 'do-over'/re-apply in 6-12 months, so there's still hope!
Haha, yea, but I ended up at IBM Watson, which has been a pretty good gig so far. (It was a little better before they flip-flopped on remote, but that hasn't affected me as much as I thought it would.)
My programming career involved an office at every position (Blue Cross Blue Shield, Cisco, HP, XTime, VMWare, and a handful of private equity groups). As I was transitioning into another field, the "open office" craze was taking over. I could be wrong, but I have a strong feeling I would not have enjoyed it. Nothing like being an hour into analyzing a core dump to be jerked back to reality by someone interrupting you!
An hour focused on one thing? Lucky you!
Social norms change. You end up messaging a lot w/ people you can physically touch and it's not considered rude to just ignore someone coming up to you if you're concentrating.
I'm not sure if you're just lucky based on the setups at previous jobs, but for me it has been open floor plan so far.

The only people who have offices are managers or C-Level executives. Currently I sit next to a door that is constantly opened which really kills my productivity.

Parse.ly is 100% remote and I've got a pretty sweet home office :)
In the USA... Given real estate prices in tech hubs, who can afford an office space anymore, let alone private offices! I imagine working from home will become the new normal. At least until the FCC allows ISPs to throttle Internet connection speeds so much that ISDN lines start looking attractive. Hopefully they make the phone company maintain those copper phone lines!
this fcc comment is so uninformed. getting rid of net neutrality will make service way better because you will be able to pay for a line with prioritized access for video conferencing and remote presence. net neutrality is what makes it impossible for individuals with a public isp connection to get the same quality as corporations with their own private networks.
>net neutrality is what makes it impossible for individuals with a public isp connection to get the same quality as corporations with their own private networks.

Right, its definitely not the ISP monopoly/duopoly

yep. all of those qos and traffic shaping features on routers don't actually do anything. that is why it should be illegal for public isps to use them. makes sense.
You don't work from home. You live in the office.
Yeah. I see a lot of replies here posting about remote work (which don't get me wrong is awesome!) but to me, that kind of misses the point. If you want an office, you generally like the idea of being able to interact with your coworkers in person. You just want privacy whenever you aren't interacting with people. Going full remote means that you rarely get that in person interaction if at all.
Lawrence Livermore Nat'l Laboratory. Everyone has an office with a door.
Fog Creek Software does iirc
At Garmin in Salem, OR, they have four-person quads. These are enclosed spaces with an additional central table, storage, ceiling and door. Though not my own office, I liked it. Quiet, everyone had a corner with ample space, and a nice group dynamic formed. Devs would move occasionally and you'd get to know other people pretty well.
Two places that allow you (actually they prefer) to work remotely are Avaaz (avaaz.org) and Canonical. Both may share the cost of a rented office. I can't speak highly enough of either - awesome teams, awesome missions.