279 comments

[ 3.7 ms ] story [ 246 ms ] thread
Brad's influence on Go has been huge, especially wrt HTTP and HTTP2 in the standard library. Slightly sad to see him leaving the team, but I'm excited to see what he's working on next!
To me, the most surprising thing about this post was a) his low number of managers, and b) his low number of desk changes.

In under half that time at another, comparable tech company I hit well over half his number of desk changes.

Have I misunderstood what a desk is? 25 desk changes in 10 years is low?

Moving desk at least twice a year is low?

Where do you work so I never try to apply?

In general, in "high-growth" companies you tend to move desk a lot. I was part of a very small team (2 people for most of it), so I got moved a lot.
be a developer anywhere where development is considered a cost center and a smaller part of the company head count. They will move you around like a tumbleweed. When i worked in healthcare I moved close to quarterly, square footage was at a premium and all the income generators fought tooth and nail for it. The worst was moving between campuses.
I work remote but I technically have a desk at the office. It gets moved from time to time, and it always cracks me up.
I had 4 desk changes and 2 managers in a 3 years FAANG career, and my sense was that I was probably in the bottom 25%, primarily because two of the moves were into entirely new buildings (desk movement usually happened to help teams work near each other, so a new building meant you had space to expand). Relative to the three other companies I've worked at for more than a few months, I think FAANG had the second lowest desk moves/year (although, again, my sense is that I was on the low end within FAANG).
I've had 9 in 4.5 years. 3 were from me choosing to switch teams. All others were moves within 500ft to adjust for growing teams.

Why do you think it's a big deal to switch desks every 6 months or so? My company does the move for me, so all I have to do is put my few things in a box and label it (and my computer stuff). Takes 30 minutes tops.

To go against the trend of the other anecdotes here, I just had desk change #8 of my 17.5-year career (across 5 companies). I am awaiting the result of manager change #4.
Just curious why "Leaving Google" posts is put on the front page by HN.
Brad is a notable software engineer and has built a number of things that people on HN have used.
A user shared it and 39 other users voted it relevant.
Might I ask how do you see those stats please ? Am I missing some link oor ?
Each upvote a story gets represents one user signaling it's relevant for HN. So it's already public and in front of you :)
I assume it’s the number of votes seen under the title (79 now).
He has been quite a significant member of a project (Go, or portions there-of, and possible other things I'm not aware of myself) that has impacted people here through their use of the language, and has affected other languages/frameworks less directly.

Leaving Google means he won't be working (at least not directly as he is currently employed to) on that stuff, so the interest is from two angles: what affect might this have on the direction of the projects he is leaving, and what is he moving on to influence next.

Me leaving my current job wouldn't make HN because I don't have any such significance. I'd wager the same could be said of almost everybody, but, demonstrably, not him.

It's not about Leaving Google, it's about bradfitz, who is an awesome well known engineer.
I assume many were expecting the post to reflect negatively on Google as this place is primarily run on Google bashing.
people are saying golang but some of us knew brad before go. remember livejournal? memcached? that's your guy. amazing and inspiring person. i wish him all the best!
It's not just anyone, it's Brad Fitzpatrick. He created LiveJournal and is the author of many free software projects such as memcached, PubSubHubbub, OpenID, gearman, and Perkeep.
Huh, throughout this thread I had no spark of recognition even after the LJ mentions, but reading his name in full somehow triggered my memory bank.
Godspeed, Brad has always been an inspiration for maintaining your humanity in the immense machine. Excited to see what's next.
It’s amazing how this is the first time I have heard his name. Great people basically disappear under the Google name.
Well, I disagree. His presence has been huge in social media and in a variety of Go-specific communities. Google has had a great impact in that because it was basically sponsoring the whole thing.
Brad here.

I wrote about this when I first joined Google, having noticed the same prior to joining:

https://brad.livejournal.com/2409049.html

That was my big fear of joining Google, being sucked into the black hole.

(Ignore the later part of the post about the App Engine app that I couldn't keep running because App Engine kept breaking me all the time.)

I'm really curious though where you end up now :)
I mean, that Smoke Detector thing was pretty notable… although to be fair, I was inside Google at the time :-)
Interesting reading this now, the part about making open source contributions easier makes a pretty good pitch for Github.
Google manages to turn even the most brilliant men and women into purse dogs. It's kind of their thing. There have been almost two decades of blog posts on this exact phenomenon, and I never get bored of reading them.
It's interesting how fleeting software fame is. Perhaps that's just a special case of how fleeting fame is.

Folks who came of age in the early 2000s certainly remember him - he founded LiveJournal; wrote memcached, MogileFS, Gearman, and a bunch of other prominent software packages; authored the first version of the OpenID spec (which eventually became OAuth, which you see all over the web); and was one of the early Go engineers. He's featured in Coders at Work.

Same with other tech luminaries from that time period: Jamie Zawinski (xemacs, Netscape), Joel Spolsky (Fog Creek, StackOverflow, Trello), Paul Buchheit (GMail, Friendfeed), Kent Beck (Extreme Programming), Ward Cunningham (XP, WikiWikiWeb), et al. Don't hear about them much these days, and when one of Kent Beck's more recent posts was featured on Hacker News people were like "Who is this guy?"

I’ve been running a website for over 10 years and have, at various points, made use of all those packages (mogileFS, memcache, gearman). Brad’s influence is enormous.

Thank you, Brad.

> Don't hear about them much these days

I hear about Brad every single day because I follow him on Twitter. It's just a question about where you consume your information from.

I think it's more that the volume of information has massively expanded since. In the days before MySpace, Facebook, and Twitter, LiveJournal was the social network (along with blogs and personal websites), so naturally its founder and people who were active on it had higher profiles.
That's true; some of those folks just left the software industry, though, I think, or are at or approaching retirement age.

Tangentially, it's still interesting -- and faintly depressing -- to me how much I think LiveJournal got right about social media that its bigger successors, well, don't, specifically related to privacy. LJ users had comparatively immense control over who could read and reply to posts.

This isn't to say that Twitter and Facebook don't get a lot of things right, too, in terms of ease of posting, lack of friction, and (for both better and worse) monetization, but I wish "granularity of acces control" had been a lesson we'd carried forward.

In any case, I'll be curious to see where Brad ends up next.

When Google+ was under development in 2011, I remarked to my team "So, our differentiator from Facebook is...basically everything that LiveJournal had in 2002?"
Heh. While I never really got into Google+, its "circles" idea definitely reminded me of LJ -- and it seemed like a great idea. It seems like it might not have been communicated very well to the audience.
Circles were great! Google+ was among the least obnoxious social media platforms I have experienced.

I think it could really have replaced all the fragmented around Google comment forms, but it sure wasn't wise to force everyone on YouTube on it in such a shitty way. I think that initial public outcry was a significant stop to its velocity, yet it could have become moderately successful and very valuable long-term to slowly integrate all of Google's services. Just so many parts of the execution were questionable, including the mobile apps :\

Was the lack of a semi-immediate huge return the reason it was killed?

At least one part of it is the faith that users can be smart people, rather than the current approach to customization UX which seems to be "take it all away from the fools".
I think part of that comes from the (reasonable) assumption that the simpler you make your UX, the less friction there is for people using your service. But it would be nice to see someone work on bringing more granularity and flexibility back to social media, even at the cost of a little more friction.

(I also suspect some of it comes from people looking at Apple's historic "make simple things simple" approach to UX and taking the wrong lessons from it, which arguably includes latter-day Apple, but that's a whole different post...)

> This isn't to say that Twitter and Facebook don't get a lot of things right, too, in terms of ease of posting, lack of friction, and (for both better and worse) monetization, but I wish "granularity of acces control" had been a lesson we'd carried forward.

Facebook had incredible granularity with regard to who could view one's posts — then they nerfed it by letting the people who are on your "lists" view who else is on them. (I'm private enough to not want people to know that they're on my Close Friends list with 30 other people.)

There was a way to get around this nerf by including a "smart list" in your set, but Facebook recently removed "smart lists" altogether.

My Facebook post privacy settings are a mess now, and I also gave up and stopped posting anything personal.

(I wanted to add that I used LiveJournal a lot in the early 2000's, and their friend list feature was amazing.)

I was never an enthusiastic Facebook user and didn't really get into lists there, so I'd forgotten about that feature. But it does seem Facebook's philosophy has moved ever closer to "just post and let The Algorithm™ figure out who to show it to."
You will not hear about Zawinski much here, because his blog has an... interesting... redirect when it sees a ycombinator referrer url.
Justin Frankel is another name that could go on that list.
There was one more person I remember. Jim Kent. He worked on the human genome project. President Bill Clinton compared that to man landing on the moon.
(comment deleted)
I know all of those names, except Brad Fitz. This is like a WTF moment for me.

Like first hearing about Gaiman's Sandman 15 years after it came out and thinking it would have been right up my alley 15 years ago.

(comment deleted)
Great individuals should really reconsider joining Google. I saw this so many times, you get lured by the money and the big name and after a couple years what you do is associated with Google only.

I'm wondering if they will be able to sustain this now that the Google brand-name is not specifically being seen as a good thing anymore.

He came into my consciousness after I read Coders at Work. Fascinating book.
Thanks for everything you've done for Go Brad. Many things that I've built would not have been possible without your contributions.
“Why’d you leave”?

Because I’m rich!

bradfitz’s career is inspirational because he has succeeded in prioritizing curiosity. never would have guessed a perl guy who wrote memcached to solve livejournal problems would move on to go - only to walk away for something more interesting. can’t wait to see what comes next.
I've followed Brad Fitz over the years because I also started in Perl and ended up in Go. His intellectual curiosity and interest in doing cool things well shines through. He is a great example of the leader-by-example category.
Notable that the word "Perl" appears nowhere in his write up of technical legacy.

He was once Chief Architect at Six Apart, developers of the Perl-based Movable Type blogging platform which once rivaled Wordpress.

I remember Six Apart and Movable Type. I always wondered what happened to them.

Thanks for helping make that connection for me!

It died when it had that huge, exploitable serialization bug, similar to those other platform serialization bugs those times.

Other than it was fine, but personally I preferred my PHP frameworks, which were just better. Not WordPress, WordPress survived it unfortunately.

Movable Type isn't dead, except in the sense that every self-hosted blogging platform that isn't WordPress (and possibly Ghost) is dead. MT 7.1.3 was released in November 2019.
While this is true, he joined Six Apart after they bought LiveJournal. Movable Type was originally developed by Ben and Mina Trott. I suspect that Brad was chiefly working on Six Apart's ill-fated "Vox" hosted blogging platform, which looked an awful lot like an attempt to re-imagine LiveJournal in a more modern (by mid-2000 standards) form.
You don't know me Brad but I am curious as to what's next for someone like you (if you are willing to share). What motivates you for your next thing ? I doubt it is just money but would love to know more.
To Brad: What is your plan with regard to perkeep? My understanding is that it is your 20% project, and seems like you are one of the main force keeping it alive.

Just asking since I have multiple servers running it right now, and will need to migrate if it is going to be abandoned.

See:

https://groups.google.com/d/msg/perkeep/Kqvh2dJVmoo/9N4YXAuX...

I no longer pay Mathieu to work on it full time, and my time is tempered by 2.5 and 0.5 year old kids.

I still use it, but don't have time to add to it much. Others work on it a bit. Mathieu and I did work on https://github.com/perkeep/gphotos-cdp just recently, to fix the Google Photos importer. So it's still moving a bit. Others still work on it too.

I'll pick up my involvement again as kids get a bit older. (One is almost potty trained and starting preschool soon! :))

We have no plans to abandon it.

The moment I read the title, the first thing that came to mind was perkeep. I don't use it atm but I would love to. It's such a futuristic project that needs to exist.

Thanks a tonne for your contribution to it.

So glad to hear this.

I also have young kids and struggle to even find the time to set up and use a Perkeep instance much less learn the internals or hack on it. But yeah, the whole business of de-cloudifying our lives and reclaiming privacy is going to be so important in coming years and decades.

> I'll pick up my involvement again as kids get a bit older.

I thought this would be true for me, but it turned out the other way. The chores of toddler care are slowly replaced as the kids become more verbal. Playing a game or having a conversation with my kids now is enormously pleasurable—to the point where I’ve become acutely aware of the time trade off of other projects.

Very true, and this can't be overstated!

Once kids get their own personalities you actually want to spend more time with them, understanding and developing their interests.

In between work and kid sports (or music, or scouts or whatever else) commitments the time the kids spend entertaining themselves is important parental 'downtime' and personal projects often just have to wait, potentially forever, depending on one's ambition and sleep requirements.

I now actively resist pulling many of the threads that interest me, just because I know it'll be yet another half-complete mess that's fundamentally less important than the development of the kids. Choose your side projects wisely (Perkeep sounds like a wise one).

I was going to ask the same question about Perkeep - I need to find an open source, free and well maintained media storage manager and Perkeep sounded interesting to fork and add my own special sauce.

Good to know its going to be maintained but reading between the lines, it is not "the next thing" you are going to work on from your post.

> will need to migrate if it is going to be abandoned

Doesn't sound very nice or supportive when you ask it this way.

Good luck to Brad. It sounds like the last twelve years of his life were pure Google, it's a big change.

> I don't want to get stuck in a comfortable rut. (And Google certainly is comfortable, except for open floor plans.)

It's oddly comforting that even programmers of Brad's caliber are forced to cope with open offices. When can this fad end.

I hate it so much.
So many companies, even non-tech companies with tech divisions adopted this plague and now it seems there is no turning back. I find the constant movement to be the biggest distraction over noise.
Movement distracts our attention thru vision (as we need to put effort to ignore the moving objects) and sounds do the same thru hearing. I'd compare doing highly focused work in such conditions to balancing on one leg in a curious yoga position while random people walk by and push you without a warning.
If you have diagnosed ADHD and are forced to work in an extremely distracting environment like an open floor plan then talk to your manager and HR about getting an accommodation. They will work with you to find some reasonable way to limit the distraction based on the particulars of your workplace.
Alternately, they'll make no accommodations. The developer's productivity keeps falling. Eventually he's put on a PIP (performance improvement plan) and finally once it runs its course, they'll have a legal way to just kick him out.
Yeah, that depends entirely on the company and – most importantly – you current boss. Also, I don't think ADHD is a protected class so, even if accommodations are made, the next boss that comes over can totally do the PIP thing.

For anyone reading this: if you ever find yourself placed in a "PIP", leave. That's like being inside a black hole's event horizon, you'll never come back.

Disability is a protected class, but proving discrimination can be difficult.
You can in fact refuse a PIP. I don't mean refuse to sign the paper they give you, I mean refuse the whole process. This will almost certainly result in the termination of your employment, but depending on the circumstances you may get far better terms than simply being let go.

That said, I have seen people come back from a PIP and kill it, to the point where on their next review they get all of the equity they lost in the prior cycle plus the comp from the new cycle. Obviously this is rare, but I have seen it.

Most companies want their employees to provide them with value and are willing to make reasonable accommodations toward that end.

If you have an hostile manager or HR department then yes it's time to move on.

>I find the constant movement to be the biggest distraction over noise.

I find movement to be distracting as well (esp. if I'm sitting next to a high-traffic aisle as I was in one short-lived position). However, what's even worse for me is when several different conversations all start up at the same time, in the same space. Americans are already extremely loud talkers, but then stick a bunch of them together in one room, having 2-5 different conversations simultaneously, and I truly don't understand how anyone can take it, or even understand whichever conversation they're part of.

Movement is a big one, noise bothers me more personally I think. I dislike the fact that I cannot function at work without headphones. I have 2-3 feet of my space between me and other co-workers and at any point in time, there's various conversations going on right next to me and it's making getting deep work done very challenging.
What dolt would think that more noise & distraction would make for a more productive workplace where the product requires sustained periods of focus? It's literally the dumbest thing you can do in that circumstance.
I think that’s all just propaganda and the real reason for it is so that management can always keep an eye on their code cattle
I don't think it's about monitoring, but it's probably about status, and your use of the word 'code cattle' seems relevant (I was also thinking about farms). Or a more apt comparison would be factory floors.
I don't think it's nefarious, not usually at least. It's just a lot cheaper and then it's justified after-the-fact as fostering collaboration or whatever. I'm not asking for my own office (though I would love it), but at least some physical division like a cubicle.
It's beyond terrible. I quit my last job (which I otherwise enjoyed and felt fulfilled by) because of the open floorplan and the impossibility of changing it.

Sometimes you have to vote with your feet.

I think it allows for low cost "benefits" HR can sell.

Sure they save 10% on real estate due to absences, but I wonder if it's to sell a cool look. GM just changed to open floor plan.

> When can this fad end

It's not a fad, businesses aren't doing this just because it's trendy and cool and they think people will like it, they're doing it because it saves them a fortune and they care more about their bottom line than their employees well being.

It saves a fortune, but the companies are spending a fortune on their employees' salary and benefits too

I think we're talking the difference between $300/month on open desk space vs $1000/month on an office. It's a lot of money and it adds up, but these people are costing the company a total of $10k-$40k a month

My theory is that open space is extremely helpful to certain types of people, and those traits coincidentally overlap with the people calling the shots at a lot of companies. Sociable upper managerial-types probably value being able to collaborate more easily in open space more than being able to concentrate in private offices.

Plus it's harder to get away with blatantly goofing off if anyone can look over and see your screen at any time, but I dunno how big a deal that is when people are setting their own hours and picking the projects they're working on. At least in my case, I don't give a crap if my teammates have Facebook and Netflix onscreen at all times so long as they're getting their jobs done

Salary and benefits come out of a different bucket than office equipment and installations.
So what?
It matters in this case because the discussion took a turn towards comparing the compensation of staff to the provisioning of the office environment.

In that context, companies' consideration of expenditures will take into account capital versus operational categories.

Why does it matter? It's all the same money no matter which budget it comes out of.
No, it's not. Capital expenditures are reported differently and held to different standards and strategies.
But if you have a million in funding, then who does it matter to if you spend it on infrastructure or operational expenses? You're still burning the same amount of cash.
(comment deleted)
It matters a lot to your board, your creditors and investors, the government. If you’re publicly held, it matters to a significantly larger number of investors and changes your legal obligations somewhat.

If you’ve ever heard someone talking about “the color of money” in a business context in regards to different types of incoming and outgoing accounts, this is what they’re talking about.

Whether capex is better or worse than opex from any particular vantage point is so heavily context dependent that I’m unsuited to provide a general overview, but it is easy to see how it could matter when you compare expenses attributable to salary vs expenses attributable to the purchase of real property in much the same way it matters to you as an individual whether you used your finances to buy a house or pay someone to mow your lawn.

You are trying to rationalize this. Don't. Companies work under their own rules and are not rational actors.
Salary and benefits aren’t treated exactly the same as capital expenditures. That’s how your purchase of a ten thousand dollar piece of electronics becomes a thousand dollar charge every ten years, no matter when the check clears. Which looks better on your companies balance sheet?

Have you ever tracked your time as a salaried software developer? I used to, and used to think it was a stupid exercise. Then I learned that my payroll costs were being capitalized against the project in development. Two years later when the project launched, it hit the books and started deprecating over seven years. That meant my company essentially had two years where my salary wasn’t on their books; when it hit, those two years were skewed over seven.

Have you ever had to differentiate between tracking time spent doing development and time doing support? Support is an ongoing operational expense that can’t be capitalized.

Same pot of money, vastly different ways to split it up.

I am a salaried software developer, and my employer requires me to track my time, for precisely the reason you describe. And I still think it's stupid, despite having heard this very explanation at least twice (or thrice, if you count your comment). It doesn't make it make any more sense; it just makes corporate accounting sound like so much smoke and mirrors that accountants and investors willfully participate in. Maybe I'm focusing too much on the fact that those dollars are coming out of their bank account into mine every two weeks like clockwork regardless of the fact that they're pretending that they're trickling two years' worth of salary out to me slowly over a period of seven years or whatever, but it just seems so arbitrary and nonsensical to pretend that they're not spending that money to pay me right now.
> those dollars are coming out of their bank account into mine every two weeks like clockwork

Would it make you feel better to consider that those dollars aren't really coming from their bank account in any meaningful sense? They're almost always from a large creditor who extended a line of credit, or from the sale of unsecured debt against the company if you're big and bad enough. And that their "bank account" is almost entirely divorced from cash on hand, and it's built up from money other businesses and customers owe them for services?

We assume that businesses are going to be in business for the foreseeable future, that they'll pay their debts and collect profit on their assets and the world keeps moving. In that sense, corporate accounting isn't the smoke and mirrors; it's the way we give that assumption some basis in reality. We assume that your business will stay in operation and sell the product you helped build, so why penalize them for not being able to get money before the asset is built?

Ah, yes. I always forget that the entire global economy is built on debt. That actually makes it worse, in a way, but at least it makes sense in context.
He's explaining why it matters organizationally.

Organizations aren't rational; they're a product of their structure and incentives.

It matters in this conversation because it's NOT the same pile of money to the people making decisions about the office space, nor to the people in charge of hiring. Those people are allotted certain budget for the buildout of their roles and expected to justify budget increases, irrespective of other piles of money.
I would also guess that kind of hip architectural firms that get hired to design the offices of giant successful tech firms are 10-20 person companies who may have equally open offices but don't have the visceral understanding of the differences between an open 20-person office and an open 1000-person office.
Even 20 can be a problem if you go from 2 chatty people to 3 chatty people.

At any point in time, you can count on one chatty person to either not engage, or to disengage once they have.

Then everyone brings headphones and it's harder to ask people questions than being in cubicles.

>My theory is that open space is extremely helpful to certain types of people, and those traits coincidentally overlap with the people calling the shots at a lot of companies. Sociable upper managerial-types probably value being able to collaborate more easily in open space more than being able to concentrate in private offices.

Yes, and in addition, sociable developers value being able to collaborate more easily in open space. I don't know what your coworkers are like or what age range they are, but over my career, I've absolutely seen that engineers in their 20s absolutely prefer open spaces, and are extremely sociable. I haven't seen this so much with older generations. The type of people entering this profession has really changed over the decades.

In 1990 there were probably 1 million developers. Now it's probably closer to 100 million.

Developers are close to a representative sample of the whole population, and the general populace is not introverted :-)

If your developers skew towards those in their 20s, many of them have never experienced working in solitude. University culture is dominated by study groups and camping out in the library, so it's no great stretch to go from that to an open-office layout, or even one where you are forced to hot-desk.

And laptops have been the norm. It's a little different when you were accustomed to go back to your dorm room where you had your desktop setup to get anything done.

>And laptops have been the norm. It's a little different when you were accustomed to go back to your dorm room where you had your desktop setup to get anything done.

This isn't quite right: before having your desktop computer in your dorm room was normal, you had to go to a computer lab to get anything done, and those had no privacy whatsoever. Computer labs with PCs were quite common until colleges started requiring students to buy their own PCs, and before this, the computer labs had terminals (like VT100) which connected to VAX servers or mainframes.

Anyone who went to college up until the mid-1990s should be familiar with computer labs.

> computer lab to get anything done, and those had no privacy whatsoever.

My computer lab in college had a lab monitor who enforced the "library quiet" culture. It was nice.

This theory doesn't pass the smell test.

Virtually every university library has quiet areas and collaborative areas now. Most of my peers go to the library to concentrate (work in solitude) and visit the loud area of the library when they want to be more social or meet in groups. Also it's not like people are constantly talking in the loud area either, most people are by themselves focusing on work but will be interrupted by friends occasionally whereas in the quiet area interruptions don't happen at all. You sometimes end up texting your friend next to you because you don't wanna disturb others.

There was a post a few months ago on HN saying that librarians are rethinking how libraries should be structured because people are using them to go and focus rather than for books.

Your hot-desk point is true though, my peers at the office and at school are more accustomed to carrying around a laptop and setting up wherever rather than setting up a personal workspace with pictures of family and the sort.

It sounds to me like universities should just stop wasting space in the library on study areas, and downsize the library a lot so it only has rooms for books and nothing else.

Then, they should separately have buildings (or separate spaces within that building maybe, for existing structures) that are dedicated entirely to studying, with both quiet areas with cubicles (there were things like this at the library when I went to college), and more open areas where talking is acceptable. Then, the university can put a cafe there to sell overpriced coffee drinks and snacks, and the building should be very profitable.

Why does it matter if it is a single building or multiple buildings? My university has a library that has book space, quiet study areas, group study areas and multiple overpriced food/drink vendors.
It doesn't really matter that much, and it really doesn't matter at all if it's different wings of the same building. But separating these things for future construction might make some sense: for instance, you could put the study building in a really convenient part of campus, and stick the library off the side in a less-convenient location, since people don't use that as much.

I'm also thinking that you might not want lots of food and drink around the stacks of books. But in an open study area, why not?

Finally, if I go to the library to look at stacks of books, the last thing I want is for the bookcases to be surrounded by a somewhat noisy study area with groups of people talking. It should be as quiet as a tomb.

Sociable upper managerial-types probably value being able to collaborate more easily in open space more than being able to concentrate in private offices.

This is not my experience. Most of the upper management at my employer spend their days wandering the halls looking for open "huddle rooms". Or, they just camp out semi-permanently in one of those spaces. They absolutely do not collaborate in public. In fact, they can't - too much of what they do involves information that, if not strictly confidential, is at least somewhat need-to-know.

I know when Amazon was increasing density in some of their offices, they also built a few more meeting rooms (they did not, however, increase bathroom size, and I strongly suspect they were violating OSHA rules, if only due to gender inequality).

This is possibly the only place I've ever worked where they made even a half-assed attempt to maintain the ratio of employees to meeting spaces. And you're right. Post densification, managers are constantly having to schedule meeting hours or days later or settle for two smaller meetings because everything is full. And if you screw up the room reservation, you have to just cancel the meeting because there is nowhere to go.

But a lot of that pain trickles down onto the people doing the work, so I don't think it's fair to look at it as getting what they deserve. It sucks for them, it's debilitating for us, and we always have to make it up by cutting corners or working later.

Haha, dude, I remember that. They were definitely breaking OSHA rules. They had something like 3x the dudes per bathroom allowed

I used to just go home when I couldn't find an available bathroom. Fuck that company

> Sociable upper managerial-types probably value being able to collaborate more easily in open space more than being able to concentrate in private offices.

This is the opposite of my experience. One thing that shocked me about a move to an open plan office after a life with offices was how stifling to discussion.

It's so disruptive to have a conversation at someone's workspace, that to discuss anything nontrivial (or even slightly sensitive) all participants go somewhere else. This greater cost subtly means that people don't really discuss as much.

When people do, it's more often in formal meetings (though of course people can go find a whiteboard together for a chat here and there). These meetings tend to fill their timeslots whether they need to or not, a known problem with meetings.

Random, "What have you been working on" do not rise to the point of happening as often, since chitchat at someone's desk is disruptive. Obviously this still happens sometimes at people's desks, as well as in shared areas, between activities, etc., but it's decreased. A culture of more regular 1:1s tries to help make up for this, I think, but the formal nature of scheduled 1:1s makes it hard to have the same organic discussions.

Even fairly mid-level management (and certainly upper management) and the large open-plan office company I currently work for claims conference rooms 24/7. This is clearly not about the ability to concentrate, but about the increased ability to collaborate.

So I’m on the fence I like the social aspects of open offices but I find them highly disruptive to work.

But one observation I have made is that open offices force me to bring work home. I can sometimes accomplish more coding in one night at home than in 1 week in an open office. One time I kept a log of every 6 mins at work and found that <40% of the time was actually spent coding in an open office vs 95% working at home and communicating over slack (I don‘t think I need to tell anyone here one 8 hour coding session is not equivalent to eight 1 hour sessions).

I think do not disturb private desks with open office hot desks or an open office with telecommuting is ideal.

And the hits just keep coming.

Some people are much better at thinking on their feet and out loud (I'm one of them). Ideas are fragile, and if you're trying to verbalize, for the first time, why something bugs you or how you think you fix a problem, and there's a bunch of fast-talkers around you they're going to kill your idea before they even get a chance.

I used to meet with these people privately, sort out what really bugged them, poke at their idea and come up with a compromise they'd still accept, then I'd go into meetings and try to out-talk the other fast-talkers.

Now you get one shot a day to do that, maybe, if we're both going out to lunch, going together, and don't bring the wrong people along.

I've worried sometimes that my soft skills were a little lacking. But I'm finding over time that my soft skills were actually pretty great, they just needed doors.

If it's that disruptive to chat. Perhaps the extra effort of going elsewhere.

Then reduces meetings. As Jeff Bezos says "communication is terrible"

Perhaps all that chit chat and meeting time is put to good use instead.

> I think we're talking the difference between $300/month on open desk space vs $1000/month on an office

I'd be very surprised if that were the extent of the difference. Are these numbers based on any data, or guesses?

I would assume that in open space you have somewhere around 100 sq ft per person (room for a 10x10 desk and access) and for a closed-in space they would have about 3x that.
Right but it usually isn't really between "open space" and "everyone gets their private office", but between "open space" vs "offices of few people in each, usually working on same stuff"
Even sharing an office with 2-4 people isn't that bad compared to open floor. You get used to each other's quirks pretty fast and keep the door closed when serious work is going on... it doesn't have to be solo offices for every person which would dramatically increase costs.
Working at a table with my small team (4-6 people) in a small office was my favorite working environment. Any discussions are likely at least somewhat relevant to everyone. Interruptions are not constant. Quiet environment. Yet still helps enable knowledge transfer among team members.
For startups it's really not a significant expense if you do it right. We're a small team and have multiple developers in the original private office, which I'm assuming the prior occupant CEO previously used solo, and then the sales/support guy share the larger main office area. Plus all food is eaten in a common kitchen area (keeping various smells contained, which matters more in smaller offices, is quite easy via perfumes/scent policies and simply not eating at your desk).

It works great for us and lets certain personalities control the level of interaction based on their tolerance. The sales guys love to chat naturally. For the employees who cross both sales/support + dev roles where we keep 1-2 "free" desks in the grouping which you can just pull your chair too.

Multi-person office rooms is really the ideal solution. For us we could scale it up as the company grows by building a 3rd wall creating 3 offices of equal size capped at 4-6 people each.

The hard part of course is scaling beyond that as almost every office property has been previously designed for with the open-concept in mind. Building your own walls or tearing down others isn't the easiest thing to do (or get approval for) in plenty of buildings, especially older ones. But as others have mentioned it's worth its weight in gold.

When this whole process was just starting to hit my radar I realized that there was such a thing as 'too big of a cubicle'.

As cube size goes up, eventually there's enough space for three people in a two person cube, or two people in a one person cube. You want exactly enough space for someone to be able to bring a chair and comfortably look over your shoulder, and not one iota more.

That fortune's pretty small, really. About $5,100 per employee, per year. It would take a lot of employees for that to even be a noticeable line item for a company with profits in the billions.

It saves an average of 40 square feet (65 for open office, 100 for an individual office), plus a couple of thousand in construction costs.

So, at around $100 per square foot per year (figures vary wildly, but I saw a couple of concrete values in the $75 range for the bay area), plus a one time cost of $25 per square feet for construction, that's less than $5,000 a year per employee, plus an additional one-time $1,000 amortized over about 10 years.

According to Google, they employ over 100k people. Suddenly that "pretty small fortune" is half a billion dollars.
Which is peanuts for Google.
It’s less than half a billion dollars investment to maximize the output from in excess of $15 Billion worth of human capital.
Google just lost a top percentile developer over their open floor plan. Literally irreplaceable. But they saved a few dollars on space. That is being penny wise and pound foolish, particularly for a company like Google who is not capital constrained.

(He may not have quit directly because of the open office plan, but given that it's one of the few complaints he makes, it obviously is a factor.)

given that it's one of the few complaints he make

It's not though. It's merely a qualification to the "Google is comfortable" comment. He says clearly the reason he's leaving is he's a bit bored. And that he doesn't want to be stuck in a comfortable rut. How would making him more comfortable with a private office address those issues?

The thing is, it doesn't matter.

To make a parallel with Microsoft in the early 00's and IBM before that:

https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost...

> Although there is some truth to the fact that Linux is a huge threat to Microsoft, predictions of the Redmond company’s demise are, to say the least, premature. Microsoft has an incredible amount of cash money in the bank and is still incredibly profitable. It has a long way to fall. It could do everything wrong for a decade before it started to be in remote danger, and you never know… they could reinvent themselves as a shaved-ice company at the last minute. So don’t be so quick to write them off. In the early 90s everyone thought IBM was completely over: mainframes were history! Back then, Robert X. Cringely predicted that the era of the mainframe would end on January 1, 2000 when all the applications written in COBOL would seize up, and rather than fix those applications, for which, allegedly, the source code had long since been lost, everybody would rewrite those applications for client-server platforms.

Google has more money than Microsoft had back then and Google's product-market fit has been amazing since day 1. Any 1 individual (or even 100 individuals, 1000 individuals) could mess up royally and Google would still be around in 2050 :-)

Though I'm tempted to agree, there is an old macroeconomic observation that might throw a wrench in the analysis, which is that the waves of new technology seem to be coming faster and faster, and likewise, the turnover of companies in major stock indexes has also gone faster and faster.

In an imagined hyper-accelerated future market where the trend continues, companies will be born, grow large, be disrupted and die in a figurative eyeblink. And Google's lifespan would be cut considerably shorter in such a circumstance, if for example something like Brave's business model were to hockey-stick and disrupt their golden goose.

However, the counterfactual to that is that there surely is some kind of end to accelerating turnover in the markets. And it's a statistical rule; individual companies can be hardy survivors given the right circumstances and management, and companies with longstanding platform monopolies, like IBM, MS, Oracle, and now Google tend to have a lot more freedom to redefine themselves; it's the customers that get screwed, not the company. All the company has to do is find a way to move its customers to the next-gen platform, and even when they start failing at that, like IBM, they have a lengthy fall.

Well, it's still a mistake, even if it's a survivable and, for some, a relatively inconsequential mistake.
Being "too big to fail" doesn't mean they should be choosing to make mistakes willy-nilly.
(comment deleted)
I'm curious whether Google's decision to stick to open floor plans was data-driven.
Data: we can't get our shit together about who works on what and how many people we need where and when so our office needs to be an open canvass for our amazing executive creativity.

Yeah totally data driven.

Why does hacker news display the best comments in such hard-to-read light gray?
Companies absolutely are doing it because it’s trendy. Lost productivity and increase of communicable diseases / sick time have been shown over and over to outweigh any superficial real estate savings, even just in a bottom line basis, and it’s not even factoring in effect on morale, superficial “collaboration” and other sources of additional lost productivity.

Many companies spend huge, huge sums of money on open plan offices. Like, not just renting them but tricking them out with super expensive desk units, fountains, game areas, etc. They even pay money to tear down privacy features and replace them with functionless decorations like exposed ductwork or glass whiteboard walls, even when they have no plan at all to increase worker density.

I had a coworker years ago when developers were averaging about 1.25 monitors per capita who slapped his own hard drive and video card into his work machine so he could get two spindles and two monitors. BYOD, long before tablets and smartphones.

In a world where SV is paying a third of a million dollars to developers, are you really saving money? As a fraction of the cost of your developers this is tiny.

Maybe developers should start Bringing Your Own Cubicle...

It has been a fad as long as I can remember. Doing this since the mid-80's.
> When can this fad end.

When the monetary and other incentives change.

Open plan offices are currently the cheapest way to cram bodies into office space, and the loss in productivity, quality of life, privacy and sanity doesn't factor into the facilities cost equation, which considers facility capital and operational expenses and ignores everything else.

As others have noted, the executives who make decisions also enjoy easy surveillance, which is facilitated by open plan offices.

It's not just a fad, the trend is going deeper in that direction -- hotseating for frictionless collaboration!
Consider that companies may prioritize team productivity over individual productivity. Communication and density could be beneficial towards that.
There's some pretty compelling evidence that open offices diminish communication.
There is a spectrum of "open". The Google offices I know are not wide open areas but team offices or areas.
I'm nowherer near his level, but I have, over the course of my career, rejected several job offers, explicitly saying the recruiter that their open office was the deal breaker. Nothing stops most developers from doing the same. It's just a question of priorities.
Thank you for Golang and for defending its simplicity.
25 desk locations in 12 years. Is changing desk every 6 months normal at Google?
Unfortunately pretty common.
Any insight into why? I didn't know about this. (Haven't changed my desk ever while working somewhere)
I've moved desks 6 times (between 2 buildings and 5 floors) in under 3 years. I guess when a company is growing rapidly, you've got to shuffle people around.
Teams grow at different rates and get bin-packed into mostly adjoining desks.
Pretty normal at all the big tech companies.

When I worked at eBay I changed desks more than once a year.

At Netflix it was really abnormal that I sat in the same place for three years. That was largely due to the fact that a special area was built for the SREs with an area for guests to hot desk during incidents and we didn't want to rebuild that.

Pretty much everyone else that reported to my Director moved away before we finally had to move buildings.

I worked at Microsoft for 12 years and I probably moved desks 20+ times. A handful of those was because I changed teams, but even in the same team, you do tend to have one or more office moves a year. Team focuses change and often people are re-grouped as a result. Other times you just run out of space in a building and they move your team to where there's more room (because maybe another team was disbanded or moved somewhere more suitable to their size).
In my eyes, Brad is one of the proverbial 10X engineers. I think Google/Go was lucky to land him and keep him around for this long. Best of luck in your next step, Brad!
10x engineers make other 10x engineers, most of the time.

Just look at mathematicians and their mentors and people they mentored, famous names everywhere!

It's not a coincidence.

That could also be "the most promising students go to the best mathematicians", though.
I think selection bias is involved here quite a bit as well. The best people in the field are more likely to take on pupils that they think are very good as well. And those people probably also do some self-selection.
> 12 years, 5 months at Google

> many Google-internal CLs ("change lists" == commits == PRs)

> 3,064 Android CLs

> 10,787 Go CLs

This is at least an average of 3 commits a day (4 if he didn't work weekends). How is that possible?

Three plus per working day is not terribly hard, you just have to make smaller, more focused commits and be productive.

Github claims I have 3,135 in 2017, 2,361 in 2018 and 1,855 in 2019. 7,351 in 3 years.

Commit count can vary a lot, perhaps? I know I commit far more than my coworkers, but that does not reflect the LOC or "amount" of work. I just visualize and chunk things up into commits more frequently.
my commit count is really low. i usually squash my commits before submitting a PR.

that was the workflow at my previous place of work, so it just became my workflow habitually.

This is not good practice in many circumstances. Large commits are very hard for others to review.
I supplied the 3,064 number. In Android, some of the changes get propagated to different branches by an automatic process. It's very much possible that the real number is lower by 10x or so (I didn't check)
Why wouldn't it be? Just checked my own commit count at work. Averaging 4 daily (including weekends and holidays), in our main repo for the past six years. There's some work going on outside the main repo, if I could be bothered to check all those minor repos the number might bump to ~5.

I'm certainly not exceptionally productive or skilled or anything - I just try to make my commits as small as possible. Commit early, commit often.

Reading through his itemized list saw "Met Googler wife", which reminds me: Brad created LiveJournal where I met my wife and many new friends. Thank you for that, Brad! I have been watching your work on LJ, memcached, Camlistore ..err I mean Perkeep. You are an inspiration and I will be excited to see what you will invent next!
Best wishes, Brad! Thanks for all you've done from the LiveJournal days on through Go and everything. Looking forward to learning what comes next!
"Rewrote memcached (which I wrote pre-Google) in Google C++"

What is diff in 'Google C++' and 'C++'?

Ahh, so just style changes. TY
More than that, the guide limits C++ usage to a safer subset of features.
In addition to style/subset, I also meant using Google's internal standard library.
C++ relies heavily on RAII. Exceptions are safer than broken instances from failed constructors.
In their defense, the style guide says they inherited that from legacy code.
Google C++ doesn't allow using exceptions and therefore requires broken instances from failed constructors.
Google C++ tends towards the convention of constructors that do only cursory initialization to a sane but non-functional state, things that almost-always succeed (and assert on failure), with the "real" initialization pushed to an Init() or Start() function.
Not these days, although that was true 8-9 years ago.

The preferred pattern now is to use factory functions that can return either a fully-initialized object or an error.

Not having exceptions doesn't imply that. An alternative is ErrorOr<ReturnType> returning factory functions. It requires that ReturnType is movable tho (can be further wrapped in std::unique_ptr if not).

Not every error is exceptional so not every error should use exceptions. This is especially important in lower level code where someone's exception is someone else's expected code path.

C++ are many languages in one. It depends which subset you choose.
Favourties: > Worked on most of the Go standard library. Primary author of net/http, database/sql, os/exec, Go's build/test CI system, etc.

Thank you. Software poetry they are to me.

And this one: > met Googler wife

Best wishes, Brad Fitz

Is Brad moving to Cloudflare given that this was posted by their CTO? Best of luck Brad, always been a fan of your stuff!
That would be news to me.
Always fun to speculate! I was connecting the dots of Go being widely adopted at Cloudflare ... or something like that.
Be honest, you are going back to Perl, right? Perl6 will be so amazing when you get involved again. See you at the PDX Perl meetups very soon?
You mean Raku, right? :)
Look, I've moved on from Perl so I don't need to know what it is called now.

(Edit: it's a joke. But I accept the down votes)

Fortran. (To paraphrase C.A.R. Hoare)
Livejournal was the most fun social network I ever used. The focus on moderately long texts rather than tweets/photos/videos, the one-way friending system where you could add anyone to your reading list, and the strict chronological ordering of the reading list were a winning combination. I wonder what's the best such network existing today?