Meta Layoffs
brandur.org
brandur.org
Going back to actual offices with doors would be way better for employees’ health.
Cubicles are still a way to treat employees like cattle. Except that this free-range approach to cubicles mixes the worst of cubicles with not having ways to deal with interruption, distraction, noise.
That doesn't mean open space offices are better. Free range cattle is still cattle, isn't it?
Working from home is like working in your private office, which in the 90s was reported as a perk and a status symbol.
Offices are great! Unless they're internal and don't have windows (although some people definitely still like them).
Cubicles are great! Unless they're in giant internal rooms that don't have windows, or don't have enough windows / the right kind of windows for the space (although some people definitely still like them).
AFAICT it's not that cubicles sucked, it's that they correlated with a bunch of things that made the job also suck, but cubicles were an easy thing to refer to about that kind of workplace culture.
...arguably, the same can be said about a chunk (but not all) of the complaints around open offices.
https://en.wikipedia.org/wiki/Johnson_Wax_Headquarters
That's an open office plan from ~1930, that, IMHO, is designed with the people who're gonna be working in it in mind.
Edit: I think this photo might be from much closer to construction. It's even more sparse / a lot less crowded:
https://www.nytimes.com/slideshow/2014/04/30/realestate/comm...
Open plan is just awful. Everyone can watch you and nobody does any work and its so loud and impossible to talk on the phone.
Meanwhile, my wife is dealing with health issues, but can't speak English very well. So I have to talk to various doctors' offices and insurance companies all the time, and every time I make a call I feel the need to hoof it across the building so I'm not blasting medical details into the cube farm. The quiet rooms are usually all full of people in meetings, so I have to hide in the mail room or walk a couple of blocks to my car.
I'm done with this shit.. I think I'm going to hop ship after my next $100k RSU vesting, this kind of work is just too undignified for me
If cube farms or offices with doors are so much better, where are the companies without open-offices and outsized performance financials.
I suspect most employees just aren't that productive for it to matter much.
There is probably some small percentage who are more productive, and even fewer who are much more productive, but their needs are overwhelming by larger business decisions, and fads in management and design.
Then again peacooks have like huge swag backs for no good reason other than looks.
I feel the concept of open offices are abit like agile. It is a virtue signaling "cult".
It doesn't matter it is counterproductive. You just need it to get the female peacooks.
Literally any of the top companies in the DOW Jones - very few offices are open plan - tech is an outlier here
Conway’s law may result in products’ appeal, thus what people are willing to pay for.
This is correct. The first capacitive touchscreen phone was the LG Prada.
https://en.wikipedia.org/wiki/LG_Prada
Interestingly, it came out just before the iPhone, and LG even alleged that Apple had stolen the idea from them. Considering how Jobs stole a bunch of ideas from PARC, and Apple really doesn't have a history of inventing anything, but rather taking other peoples' ideas and commercializing them better, it seems very plausible.
It makes the economy more efficient by reducing transportation costs, reducing carbon emissions etc.
It allows companies to hire from locations that they previously thought were unviable.
It helps employees spend less time in traffic and more time with their loved ones.
There may be some negative side-effects, such as making it harder to provide guidance to new hires, holding unmotivated employees accountable etc. But I think these problems should be manageable. Some ways to manage them would be: building more on-boarding resources (videos, documents, etc.), having regular virtual meetings with new hires and status meetings with unmotivated employees etc. It may be a good idea to pair new hires with each other on some projects or require new hires to come to office once in a while.
Ideally, companies should work around the problems with virtual work because remote work has certainly demonstrated its benefits. Let's hope that they will find those ways and improve the work-life situation for many of us.
Edit: sorry, I completely lost myself on a sidetrack
Actually I believe that your assessment is spot on, only that I would weigh the drawbacks a little different, in particular everything that involves new hires, even more in particular those new hires who are new to the field. This is a long term cost that is very difficult to predict: how will "second generation" remotes work? Is there hidden knowledge implicitly present in those who started in person that can diffuse from formerly present to pure remotes, but not from one pure remote to another?
When you swap money for products, you don't need time. If the economy shifts to visibility and attention, instant transactions are not possible anymore. Whatever people produce, somebody needs time to consume it. So all the productivity gains will be used to create more audience.
The paragraph ended with:
> we’re focusing on understanding this further and finding ways to make sure people build the necessary connections to work effectively. In the meantime, I encourage all of you to find more opportunities to work with your colleagues in person
So this is not in the least requiring employees to return to the office. In fact a reasonable reading of it is that it's actually supporting remote work by specifically articulating what is necessary for it to work well and then planning to facilitate that. It's a far more intelligent approach than the blunt option of "let's just force everyone back to the office 3 days a week".
"Bold new VR technology, what should we do with it? I know! Let's recreate brutalist grey concrete meeting rooms".
I remember hearing that his house has 2 foot thick RPG-proof windows, that it's a fortress. He literally has a large degree of optical distortion looking through his windows every morning. Let alone all the crazy stuff, real or imagined, that his security team is telling him.
So, he longs for even simple things like a boring meeting. Like when Michael Jackson closed down a supermarket just so he could go shopping like a normal person would. Same pathos here.
This is not ironic. It sounds like a disingenuous ploy to force employees out of the company without having to pay them what they owe or deal with the fallback.
Amazon seems to be pulling the same stunt.
The coincidence between mass layoffs and forced return to office starts to look like a massive wave of workplace bullying, and I'd be surprised if it wasn't breaking laws.
To put it short, it's the same way early Swift engineers were spending most of their time in C++. They had to to build the new language.
Same way I could see a metaverse company needing engineer physically present not just to get access to the newest hardware but also work around the limitations of their own products until it's actually ready to be used 24/7.
Now I'd still see whole classes of engineers not bound by those issues (e.g. backend engineers etc.).
For example, do you measure if a project is completed on time and the amount of bugs/regressions from it or do you measure how efficient contributors were by looking at loc, how much they are available,etc... because if things are getting done on time and with good quality but A lot if "unproductivity" then you have a metric problem not a productivity problem.
At the very least, there control there is less then absolute compared to meatspace.
Neuromancer's plot motivation is the guy who desperately wants his cyberdeck to work again, such that he takes on the big mission to do so.
Remote work is here to stay in society so finding ways to improve it will be valuable.
Outside of some very specific circumstances, I have a hard time seeing the value of VR meeting for work purposes that regular old video chat doesn't already have.
I don't doubt that people earlier in their career work better with more senior people at arms length to help them. Hell, I experienced a bit of that my first few months at a new job where I struggled to understand processes.
But after a period of time, I got it. Sure it took longer, but I got there.
Now, I get less work done in the office because people spend time socializing, and more importantly, the workstation is not customized to my liking because of this whole satellite desk situation.
I'll say this: If these companies tanked during the height of Covid, they'd blame it on WFH. Of course, the financial performance for these companies was quite good, so now that there's a bit of correction, they search for reasons to bring employees back to the office.
I think you are grossly overestimating the validity of that "data". Data can be twisted to say whatever you want it to say. I've watched management throw out results because it didn't align with what they thought, I've seen them cherry-pick and distort employee survey data to backup whatever they already wanted to do, I've experiences KPI hell and how it has zero bearing on the work being done.
These companies are not data-driven, they are people-driven and people are not coldly logical/analytical.
People (managers and execs in this case) don't primarily make data driven decisions.
They do what's good for themselves personally
Sometimes that means following whatewer the data says -- in other cases they might rather not want to look at any data
That's very far from clear.
It’s a power play. Companies need to know they’re in charge.
In-office I’ve had several discussions with colleagues about the state of the company, as well as competing companies looking for new hires etc. The number of those conversations have dropped to 0 since we went all remote, for obvious reasons.
And then you leave the company. So it's not really at all in the best interest of the company for you to take longer to get up to speed.
Average tenure of a SWE is still low across the entire market, at Meta it's probably even lower given who they hire for.
Maybe it would be in their interest to pay more, so you don't leave. If average tenure of a SWE is low, they are probably switching jobs for better pay. In that case, paying them more to stay makes more sense than having to pay to get a cheaper but unproductive new hire up to speed.
I think that would have limited effectiveness. In my experience, people usually don't leave because of pay reasons, and more pay wouldn't get most of them to stay.
They usually leave because they want to learn something new, or work on something different, or there are things about their working conditions or company that makes them very unhappy.
Offering more money would keep some of them around, sure, but not most of them. And those that it keeps around will still have those problems, but they'll no longer be able to address them. That can't be good for them or for the company they work for.
I don't believe paying more would instill any sense of loyalty in SWEs.
What's entertaining is that the various faang companies performance is likely unrelated to employee performance, and Elon musk's twitter will show a path forward for near-term tech employment
This is meaningless without knowing how productivity is being measured. It's very possible that said metric inherently favors in-person collaboration over remote collaboration - which would then skew the results of any further analysis of that metric.
This is also meaningless without knowing exactly what's being compared. I wouldn't be surprised if 3 in-person days a week was indeed more productive than 0, but what about 2? 1? 1/2? 1/30? 1/365.24? There's a lot of numbers between 0 and 3, and coming to any conclusions without understanding the actual shape of that graph is folly.
This is also meaningless without information on the wide range of in-person cultures or the wide range of remote cultures. These preliminary results could readily come about from having a remote culture that's more dysfunctional than other remote cultures and/or an in-person culture that's less dysfunctional than other in-person cultures. I've personally experienced both ranges more-or-less in full over the course of my career - as well as varying combinations of the two in hybrid environments.
Phrasing the whole discussion in terms of 'metrics' to justify the common-sense conclusion that junior people need more direct supervision is clearly sugarcoating it for junior recipients for whom the message is intended.
This line of reasoning will never not make my blood boil. "Well of course it's not data driven but we have to pretend it is for the juniors while the seniors know the truth", what absolute hogwash. Say what you mean or I'll assume what you believe what you say. Yout don't get to have it both ways. They said it's based on data so you don't get to pretend it was intuition (on top of which the people exercising the "intuition" have a vested interest in WFO).
I see this being repeated ad-nauseam. I don't really buy that at all. I have seen junior employees that performed and evolved fine on remote settings, on teams that had effective remote collaboration.
IMO, this is a lie that people that really miss working from offices grasping at straws to muddy the conversation with some kind of plausible deniability.
Those who want to figure stuff out will do it. That’s largely what this job is
And these people never ever mentioned using of intuition during making decisions because...
because no one believe that using intuition is actually working?
Ask Facebook.
> People with management experience can decide these things based on intuition. It's practically impossible to quantify anything in this industry, but 'data-driven decisionmaking' is fetishized to the extreme.
The answer to "it's practically impossible to quantify anything in this industry" is not "therefore we should just give up and rely on managerial intuition with zero accountability or measurement", but rather "therefore we should improve our ability to quantify things and pair that quantification and measurement with human judgment and oversight".
If you don’t like the conclusion your company has reached, it’s going to be a lot faster and more fruitful to change companies than to change their mind.
I love remote overall; I think it needs some amount of in-person to be most effective. I don’t blame companies for making decisions on imperfect [not “meaningless”] information as they try to figure out how to compete.
A big chunk of the commenter community here is ready to hand the reigns of this decision-making to AI, simply because a data-driven decision must be the correct one. No need to look too deep at the completeness of that data or the methodology under which it was collected and analyzed.
Why is it supposed to be problematic for the metric to favor or skew towards one over the other? The goal of the metric should be to measure something the company wants to optimize not to try to show all proposals for optimizing the something are equally adept at doing so. It's possible they are measuring productivity incorrectly but whether or not the measure favors a method isn't a signal for that.
I agree the other information is needed for the rest of us to consume the findings meaningfully though.
It's akin to asking whether a weightlifter or a marathon runner is more athletic. If I'm measuring athleticism by one's max jogging distance, that'll disproportionately favor the runner. If I'm measuring athleticism by one's single-rep max deadlift, that'll disproportionately favor the weightlifter.
This ain't problematic per se; I might have good reason for measuring athleticism by a skewed metric (for example, because I'm the coach of a track & field team and therefore need runners more than I do weightlifters). However, if that was the case then I'd probably be explicit about that when presenting my findings rather than simply using running distance as a proxy for general athleticism.
Likewise, Facebook might have good reasons to use metrics that inherently prefer in-person work and/or exclude metrics that inherently prefer remote work, but without knowing what those metrics even are (let alone why they were chosen), it's impossible to say whether findings based on those metrics are actually applicable to any organization other than Meta as it exists at this very moment.
Taking this to your mention of athleticism with two examples, the first of which being athleticism by lowest BMI which skews towards runners versus weight lifters. Being skewed towards runners doesn't mean lowest BMI is a sensible metric for a coach to pick runners with it just means it's an even worse way to pick weight lifters. Similarly measuring athleticism by how many basketball shots one can make in 10 minutes may not be skewed towards one or the other but still doesn't mean it's a good way to measure a runner. The only thing relevant to know is whether the metric is one you want to optimize for. Whether or not that metric is skewed towards a certain disposition may or may not be true but regardless which it's not how you decide if the metric is one you want to optimize for.
And I guess what I'm saying is that it ain't a determining factor in and of itself, but it's rather a tool to discern whether it is indeed applicable outside (or, for that matter, inside) Meta. If a metric does skew toward a specific form of "athleticism" or "productivity" at the expense of others, then it's worth asking whether there's a particular reason for using it v. it being arbitrarily selected.
What's an example of such a metric?
20 to one seems kinda low in my experience. At my last deskjob it about 30-50 to 1 and it felt like a good balance. My team and I (~5 people) met with the manager once a week for a couple of hours. Id estimate they had 2-3 meetings a day with other teams. Project direction and blockers were dicussed and adjusted. It felt optimal, enough to get guidance, but they were too busy to micromanage and get in the way. Non-high-level nitty gritty day to day issues were just resolved within the team throughout the week
Hence my question as to what the parent found problematic with a manager with many reports. Its possible self managed teams of ~5 don't work in many environments. Any larger group and i could see friction
That’s an absolutely insane number. That means if they spread it out evenly over the week, they will be spending 3-5 hrs every day on 1 on 1s.
In our company we also don’t have purely people managers. Even when I was managing people who were working on projects that had nothing to do with me, I had to gain a Technical understanding of their projects so we could have educated discussions and I could actually guide and help them with issues they might be facing, even if it was simply knowing who to direct them towards. We also tend to have small teams, with no project exceed about 5 devs.
If I was managing 30-50 people, that would have meant having an understanding of 6-10 wildly different projects at least.
Again, that seems well beyond the mental capacity of someone who is already spending about 50% of their work hours simply on 1 on 1s every week.
I directly managed 22 people at one point. 1:1s were an every other week affair. While it was possible, it was not sustainable. Keeping track of everyone and their goals & growth, flogging the PM team, running interference with the Sales team, keeping the exec team from interfering, etc. made it far more than a full time job. I was first in the office and last to leave, just so I could get stuff done.
That leaves them with nothing to do but the crossword for the other 15 hours of the week.
Managing a team is realistically not a full time job.
He did not write any code or independently make technical decisions nor act as a mentor or senior dev or anything like that. He used to write code, so could follow technical discussions but he wasnt some topdog 10xer. He just managed and he was good at it. Since he was involved in many concurrent projects he also knew the organization and talent very well
I'm not clear what "the day to day off the team" actually means in concrete terms. I dont mean it in a dismissive way, genuinely curious
You need to work with someone or get feedback, then you go talk to the relevant person..? If you really need you could go run something by the manager. Again i dont really see that being a full time daily job (for just one team). Just a few hours here and there. I guess the major sync is once a week, but youre generally in the loop with whats going on throughout the week
"heavily working on growing me"
You work together with your team and learn from each other. Often there is one person with more years of experience with any particular issue
Technical mentorship is great but almost completely separate from managment
- When there are blockers, especially with other teams. e.g. priorities mismatch
- Task assignments, priorities
- The project management side of things
I've worked in teams where the "manager" had several teams. But in those situations each team had 1 or 2 that were leads, either officially or not. But they worked with the rest of the team and were basically managers except for the people management responsibilities (performance reviews, hiring, firing etc).
Who makes the long term tradeoff decisions on staffing, maintenance, product priorities, etc.
That's the day to day of a team.
Boss is ultimately responsible for hiring/firing/pay (aside from some minor HR stuff) although he mostly relies on my assessment of people’s technical acumen. He attends our daily standups and likes to show up for important meetings. He also handle big picture estimations of how long our dev process is going to take, with my input.
Does that make me the devs manager? Maybe? So far the position is like a 70% technical 30% managerial position it feels like.
Managers are also expected to help their direct reports grow by offering them feedback. Manager feedback and regular performance evaluations eventually lead to raises and promotions which then builds up a manager's experience level. This often becomes a target in itself where managers try to optimize to promote their direct reports at the expense of more holistic growth so they can get a promotion.
Each team gets a manager because the manager controls promotions at the company and maintains employee standards.
I'm genuinely curious bc it was my one and only proper deskjob. Every other corporate structure sounds like office space
Really that's just a director level position with a manager title. I assume the teams have some person that's acting as the lead.
That's a pretty broad range, from conservative estimate 12 hours of staff meetings weekly for 30 people and 2, to 30 hours on the high side. This leaves no room for reporting up, or for relationship building via 1:1s, promotions, hiring and budget planning, among other responsibilities.
I feel the opposite though I'm an n=1 and don't have any data beyond myself. My company went full WFH during the pandemic and committed to it. Ever since we've become much more meeting heavy (I also have pretty senior IC title sadly.) Why?
Along with going WFH we began hiring from other timezones in earnest. Low cost of living areas are cheaper to hire from. Previously we were really careful about hiring teams in a given timezone together, everyone on the team used to be within +- 1 hour of each other. Now lunch times, day start, and day end times weren't in sync anymore. Before standup was at 1100, now meetings started appearing at 1000, 0900, eventually 0800. After all 0800 in UTC-8 was actually 1100 in UTC-5. My 1200 lunch is overwritten all the time by folks in UTC-6 for whom it's actually 1400.
Before you'd see people run to the bathroom or express annoyance finding meeting rooms, but now going from meeting to meeting is just a click of a button. What used to be a hallway conversation or an extra 10 minutes of hanging outside a conference room to hash out a few details becomes another 30 min time slot they book on my calendar along with everyone else.
Book out your lunch break in your calendar. If anyone manages to put in a conflicting event just simply don’t appear for it (or bow out early, or arrive late if the overlap is only partial) If anyone is asking tell them directly that this is your lunch break.
It is up to you to setup healthy boundaries and maintain them.
I've taken to hiding my calendar and not turning up if someone does some inefficient meeting booking.
> To me, although I’d certainly concede that WFH pares down meeting culture and certainly has benefits in logistics, it’s always been fairly obvious that in-person collaboration is more effective, produces a much stronger culture, and I suspect is important especially to larger orgs because it helps to even out performance. High caliber, experienced employees probably get just as much done at home at the office, or maybe more, but junior employees with less direction struggle more, and WFH provides the ultimate cover for less motivated people (which in a larger company will always be a percentage of the total) that might otherwise be held more accountable in-person.
It's not just about the heavy hitters, it's about the team as a whole. In person work, though a logistical headache and social annoyance, drives team cohesion.
This is probably true, but the thing is, I don't care. Team cohesion is not worth commuting. So any company that wants people who feel the same as I do to work for them is going to have to bite the bullet on the tradeoff.
Can you please name a few of those? Mine has gone all in and sincerely trying to make it work. And it still sucks. So curious to know some successful examples.
To make remote work function you really need to follow a model like GitLab has provided with their handbook. You need to document everything and use practices that favor asynchronous work. You need to adjust your training, benefits, communications tools, management techniques, etc. You can't just "allow" half of your people to work remotely and expect things to work out. In fact, the hybrid model is often said to be the worst of all worlds as the people who work in the office often ignore the remote workers and make everyone's job more difficult.
Right, and this requires resources (time and money) that VC hyperscalers maybe can afford to blow but the 8yo+ 50-100 person company whose HR "department" consists of maybe three people and whose non-technical sides don't understand the need to change everything because they don't need such intensive education, is going to grind to a halt for months if you try to roll this out.
I don't "blame remote work" or anything, but it seems practically impossible to steer a mid-sized ship in this direction - big enough you've got fiefdoms and you'll never get 100% buy-in from the comfortable ones without a CEO going in and knocking a few heads, small enough you can't put together a task force specifically to eat the shit to manage the transition. So either we go back to the office a significant amount of the time, or we slowly die.
I've seen it as bit more circular: in person work required team cohesion and strong social acceptation. In return the best teams were often better than remote teams.
I remember the pre-WFH hiring criteria including a lot more of "will you be happy sitting next to this person for the next 5 years of your life" wording for the 'cultural fit' part. The whole team being bounded had a lot of weight in the balance, and we'd go for a few lunches and dinners with potential candidates to get a better feel of the "human" part.
The highs were definitely high, in exchange, the lows were way way lower, and interpersonal disputes, people leaving for social (often pretty ugly) reasons were a common thing. We also passed on candidates that had pretty low oral communication skills, and looking around I see the same kind of profile happily employed and fitting right in WFH settings. They still have issues in fast paced discussions, but most of the communication happens in written form so it's way less of an issue.
Overall I think WFH has better flexibility and could help the industry with a lot of the social issues it was struggling with if the managements do it right.
> High caliber, experienced employees probably get just as much done at home at > the office, or maybe more,
So you remove the location and high caliber, experienced employees can adapt and probably need very little management. I think these types of people need less "team cohesion" and could probably be dropped in at any company and make the same impact. They most likely ask a lot of internal questions and look at the bigger picture of where things are going. Its usually why they know when to leave a company, they are part of the pulse and loose enough of them and you flat line.
> but junior employees with less direction struggle more
My understanding here would be this is why a manager would be needed, however since they have people who don't know the flow of things they need the IC's to now become trainers and perform on-boarding, while also staying current themselves. Shouldn't these struggles have come up in all the 1-on-1's and performance review's. What were all these managers doing during their WFH?
>and WFH provides the ultimate cover for less motivated people (which in a larger company will always be > a percentage of the total) that might otherwise be held more accountable in-person.
This one is always subjective but I'm sure a percentage of people were let down by all the interview hoops they went through and mock white-board "thought" experiments only to get to work on some mundane task that they are supposed to be "motivated" to do. Again, though would this accountability be seen in all the 1-on-1's and meetings that managers were having with people. Who's to say "less motivation" was just getting the work that was asked, done. At a certain price point compared to your peers and manager why would you go out of your way to fix processes or other items unless it made your work easier? I'm sure there was a person hired to specifically address that, what they doing?
In the quoted paragraph he acknowledges that high caliber people can work better at home. He is wrong about everything else.
- In person work provides the ultimate cover for less motivated people, not WFH.
- In person collaboration is not more effective for software engineering.
- Teams take advantage of the productive persons while playing political and social games at the office.
Moreover, with multiple rounds of layoffs nobody's gonna join Meta. Why joining? Getting 500k "salary" with a risk of being laid off in the next 6 months and spending the next 6 months looking for a job? It's not 500k, folks. It's a fake 500k carrot for naive bunnies.
I had offer from Meta, and I am so happy that I didn't go there. The company is just unstable, going downwards spiral. They have to pay me a really good sign up bonus with a good vesting schedule so I consider them, maybe, one day.
Minimum net income of $10 billion a year for the past 7 years is now apparently unstable
Blackberry profits were looking good in 2009 as well, it wasn't until 2012 that the wheels came off.
I remember when I left feeling funny that there were as many people working on metaverse stuff as were in company when I joined (like 16k), and it’s mind boggling to me now that the layoffs are affecting around same amount.
1. When capturing complex logic areas, especially if related to any areas that are related to money or legal considerations
2. When onboarding new people on any side who need to learn about or get context on a product (product, design, eng)
3. When you revisit a V2 3 months later and forgotten what decisions you made or why you made them
Lots of detailed specs to me sounds like a fast velocity of products and totally compatible with startups. That said, you also added the word "lots" that OP didn't use. It could just mean two or three!
Once all the interconnections are figured out and the mechanical engineers know what needs to hold what shape at what temperature and pressure, and the metallurgists know what chemicals will be touching the metal, and the power connectors to sensors are all numbered so you know how many you need and where they'll go, and the communications lines with what format and inputs/outputs they'll talk to at what voltage... to me a spec is the document that tells everyone where their little part needs to fit.
You have to do that downstream and collect it back upstream for larger projects, since the person doing it never has enough expertise. And then the spec negotiation between teams that don't really necessarily know what constraints each other has which need to be resolved so that people know what to design.
It's frustrating but actually writing down a detailed spec really does enable a lot of other stuff to happen. I'm sometimes blocked as an individual because of a team that's in my path but which isn't really in my field. Say, they do optics and I design the optical sensor so I need to know the optical power to expect but they have to do simulations and get information from the chemists and semiconductor test engineers first. I need a spec for what they want -- I need to know how low the light level is, how much noise there is, and lots of other little details too.
I don't know if that qualifies as "terribly meticulous" but in my experience skipping the spec step often means wasting an incredible amount of time solving the wrong problem.
That’s half the battle of writing code.
At our startup, the philosophy is to “first write code without writing code”.
This gives clarity of problem and proposed solution to weed out edge cases, before going too deep into implementation phase.
I don't feel the same about some of my years in tech. There are periods where I can't remember doing much of anything that could be called progress, even though I know that I was "meeting with stakeholders" and other ostensibly important things. There's this diffusion of responsibility that occurs in large orgs where everyone is micromanaging some infinitesimal slice of the mission while communication overhead and "following the process" consumes unimaginable amounts of time.
It's hard to not want to throw the baby out with the bathwater and desire some kind of self-governed organizational anarchy, but I'm not sure where I think that line is best drawn.
I love remote work, because I grew up in a small city with no companies operating in my industry and when covid hit I was able to go full remote, move back home, and be around my friends and family while contributing to my company and to my local economy.
The biggest thing that has helped my dev team thrive and be able to onboard new members is mob programming (https://en.wikipedia.org/wiki/Mob_programming). We have our own take on exactly how we do it, but the gist is that all our software engineers are in a video conference with each other as much as possible and focus on a single task.
We're starting to add new members in timezones that are 5+ hours offset from the rest of the team and that integration is proving to be hard. If anyone has advice on building TZ-distributed teams I would love to hear advice!
The anti-WFH screeds are always nearly indentical: extremely vague and non-quantifiable in a way that makes them technically impossible to argue against. I can't argue against the idea that they produce a much "stronger culture" I guess because how would anyone even begin to prove that one way or another? We probably couldn't come to a consensus on what that even means.
If coming in to the office had the positive impact pro-office people said it did I promise you that by now, 3 years after COVID lockdowns started, someone would have managed to put together some actual hard data instead of the same "culture", "watercooler ideas", "ad hoc collaboration" nonsense we've been seeing constantly since then.
this is why it's a shame people are ridiculing Zuckerberg's post ... they actually did quantify it and actually did come up with some nuanced insight into what works well and what doesn't and he says they are going to keep studying it to learn more.
To me, it seems like there are two tenets to this. (a) remote / distributed anything is hard. but at the same time (b) remote / distribute anything is powerful. Do it well and you will have enormous advantages that your competitors, shackled to their mere physical earthly pinprick of a location on this planet can never match.
Which is to say, it's actually worth trying to do well and I respect that Zuckerberg has taken this more nuanced approach to try and get there.
This is a pretty fucked up way of working. People can't get anything useful done if there is a mob of people on a zoom call. It's just a talkfest or more likely an opportunity for 1-2 people to dominate the conversation while the other folks tune out.
Even pair programming is a ridiculous waste of time a lot of the time, but this 'mob programming' seems to multiply the waste while achieving nothing much more useful than pairing. At least with pairing, the two people involved are building a relationship.
I don't think this approach scales to more than a team of 4-6 people but we've been able to forge strong bonds on our team, solve complex problems (in domain definition, actual code, ci/cd issues, and more) in ways that the entire team feels are appropriate and while also keeping the whole team abreast of all the changes. We get far more done than we used to and we've successfully onboarded several new team members.
You won't love to hear it, because the general way to handle large TZ offsets it to make work async, and it sounds like "mob programing" as you do it is quite sync.
What I've seen work is strong document culture - write docs, leave comments, etc. Have clear expectations on deliverables from the start ("this doc will design service X, impl can start when 3/3 senior engineers approve design by leaving an "I approve" comment). Everyone does their thing, and you don't need to be talking to someone to do it.
That sounds... horrendous. I really enjoy "pairing" when chasing down bugs, but doing that when trying to write new features would be nigh-on impossible.
I am all for remote work, but large time zone differences is a massive hurdle to proper remote collaboration.
The only way to smooth it out in my experience is with a decent documentation culture (not only one that gives incentives for documentation to exist, but also for it to be kept up-to-date).
On places with only tacit knowledge that spreads around through communication (and those can very well happen through slack, screen shares and so on), it becomes hard for the people that are seldom working at the same time as the "main team".
I just don't think it's very good for the company and for the overall productivity.
I stumbled into a job like this recently. The startup hired an upper management team from some well-known tech companies. They had several people who claimed that “organization design” was their passion, wrote “thought leader” blogs or substacks, and presented themselves as experts in all things agile.
I thought I was joining a lean startup team focused on efficient execution (as they pitched themselves) but they operated in the most bloated, inefficient, and bureaucratic manner I’ve ever seen. Roles and processes were so artificially segmented that I wasn’t allowed to use Jira without waiting for the next scheduled meeting so everyone could tell the project manager what buttons to click in Jira during long shared meetings. If you started to make any comments that sounded like they might be a product-related idea, they’d scold you for daring to think about anything other than code and demand that only product managers be allowed to talk about product things. Several managers seemed to do nothing other than police process among teams, dropping into your team’s meetings unannounced to observe and take notes about who was, and was not, following the extensive process documents they prepared for everyone.
Their solution to every problem was always to hire more people. If a new requirement came up, they’d stop teams from working on it and try to find a way to spin the new requirement into more headcount. This created absurd situations where, for example, the design lead had convinced the company to hire a new designer for every new initiative while the designers for past projects sat mostly idle all day. It didn’t matter, though, because the only goal was to increase headcount. People were praised for the amount of hiring they did and the number of people they managed.
This company was an extreme version of the dysfunction described in the article. I felt so relieved when I left and rejoined a company that didn’t create elaborate self-serving management structures as their primary goal. So many people at the dysfunctional company just thrived on shuffling from meeting to meeting every day, creating the appearance of doing a lot of work while actively interfering with everyone just trying to execute efficiently.
> High caliber, experienced employees probably get just as much done at home at the office, or maybe more…
“Probably” is the key word, here. It signals to me that the author is tired of writing at this point and throws in something with little conviction or defense.
I care about this point, and am inclined in the opposite direction: I think less work is done in office by these people.
Withholding any self reflection to qualify myself as “high caliber”, I can say I’m an experienced employee - and feel that my productivity dwindles in person due to distractions and thus an inability to “zone in”.
That means that I’m putting in extra hours outside work to achieve the same level of pre-RTO productivity. I’ve heard the same from others. Together, we’ve expressed concerns about the sustainability of these efforts.
For me, toss that sentence from this article and let’s dedicate time to that discussion, independently.
Junior staff need constant help, but senior staff need space that's hard to achieve at an office. Studies show people take 30m-1.5hr to dial in for deep work.
So, imagine a "light" office day:
- 8a drive, coffee, etc
- 9a sit down
- 10a standup mtg
- 11:50a team lunch roundup
- 2p random meeting
- 5p drive home
At best, that leaves 3 hours of deep work: 11a-12, 3p-5p. Heaven forbid someone swings by your desk during that period!
WFH gets the 2 commute hours back, gives scheduling control to bookend breakfast & lunch with whatever distracting meetings, an async standup removes the sync one's disruptions, and a lot of the desk traffic is gone.
So, WFH done right, ~doubles the amount of deep work by the more effective staff
> That means that I’m putting in extra hours outside work to achieve the same > level of pre-RTO productivity. I’ve heard the same from others. Together, we’ve > expressed concerns about the sustainability of these efforts.
I agree with this observation. WFH gives you the ability to mute chat where as with the office if you don't respond, its show up and discuss(aka interrupt). I've had some days in the office where I've left not knowing what exactly was done for the day but being mentally exhausted. I would say its the intangible items or project status such as all the information you dispensed or clarified, stopped people looking at the wrong problem, figured out the real problem, commented on a proposal, etc that is over-looked and not counted towards "work". This "glue" is what employers are really paying you for by being in the office, but don't want to recognize, instead basing what they pay you on the language you know, vendor products, projects, etc. With WFH you don't have to make the "glue" as much since you can focus on your project, setup the meetings you need, when you need, and you don't have to use non-work time for work. This makes other employees less effective, more-so caused by the organization than the individual, which leads to the perception/feeling that "more gets done" when people are in the office.
In my job experience good management recognizes the glue, can make the glue, account for needing glue or provide the justification for someone else to make glue. Poor management can not, thus everyone back to the office.
1) makes it actually clearer what is delivered and by whom
2) requires more from the manager to make sure the right stake holders are communicating efficiently and employees are satisfied - doable but more work load for managers and requires more experience from them
I think #2 is that companies are actually struggling with. It is not about the workers productivity (which generally increases by WFH), it is about the managers comfort, skills and experience.
Zuckerberg is not an "ideas" guy. He had that one great idea back in the early 2000s (whether you believe it was his idea or not, he did execute on it) and everything since then has been acquisitions. Sure maybe they can wring out more "productivity" by return to office or firing their middle managers or whatever but so what? It doesn't matter how fast you can run if you are running in the wrong direction.
My theory is that the companies grew bigger, their management became risk-averse for good or for bad. The logical thing for the management to do, is to insert a layer under them to insulate themselves from unknown risks. As a result, managers were busy planning and aligning and challenging any bottom-up plans but in reality they were just actively avoiding personal risks.
Dont think that is the case. Its more like we hired a somewhat poor manager, that manager hired yet more poor managers who in turn hired even more poor managers. All of these poor managers finds ways to make themselves appear useful using what they know how to do: endlessly discuss things.
The above is a caricature, but I think it has more than one grain of truth to it.
Bullshit. Everyone who worked in-office knows folks who spend half their day in pointless meetings, and the other half chatting by the coffee machine. Obscuring lack of productivity in an office setting is not particularly hard - it's a lot easier to "look busy" in person
When you work remote the only thing you have to show is your output.
Author seems to be confusing established companies that hold near monopolies as highly functioning. It is difficult to to learn from large US tech companies. At Google not breaking the webpage might be a good day of work, but in my field not shipping a prototype etc will end our company.
I would be skeptical of productivity statistics from a company in decline.
Sooner rather than later a large chunk of line managers and middle managers industry-wide are going to face a "what would you say you do here?" moment, and it already seems to have started at Meta.
On the middle management purge, I am glad to see it. I went into management at the time that was the only way to increase your leverage as an engineer. Over time it’s become a simpering pile of drivel and I am actively looking to switch back to IC roles. I’m sick to death of the professional manager culture in tech these days - it’s literally filled with people that just don’t like computers that much - likely got into it because their parents thought it was a good career and they realized after a few years they weren’t into it and switched to management. It’s been steered towards managers holding the nominal power but none of the ability to understand their decisions, so they a) don’t make them, b) when cornered make bad decisions. It’s sickening and I literally can’t stand my career as it stands. I’m not even allowed to commit code any more, and even if I were, I’m too busy going to bs offsites to talk about decisioning shift left strategies and how to make inhuman hotel seating open floor plan offices fun enough that people want ti come into their chicken coops to be milked.
In this case communication ability is crucial, since it requires written documents. Many people (managers and developers) lack the discipline, patience, and incentives to adopt this style of work.
Correct. So what do we do then? Changing people is hard. And communication styles are ingrained after a certain age.
Also, even the best communicators are finding it hard to do some tasks async, like designing a complex system.
If kernel devs can do it so can 90% of companies, if there is a will.
This seems to me like a culture matter that needs to come from the top, though.
But they have failed to do this. When they actually provide such data (a rarity), it’s cherry-picked to justify getting asses back in seats for egocentric reasons. They just want to feel the busyness of the business when they walk in the door. It makes the executives feel like they’re in charge of something.
No, the future is simple: eventually, you will be glad to hire competent people no matter where they want to work. COVID and the generally suppressed immune systems that it’s leaving behind will continue to thin the employee pool. The fascists will shut down H1-B and close the borders. You’ll hire us WFH, or hybrid, or full time in-office, by employee choice, and you’ll like it. Because otherwise you won’t have anyone to hire at all.
There are certainly "single issue workers" who will quit over non-remote, and more power to them, but it seems silly to think that Google, Meta, or Amazon would have trouble hiring workers with a 3-day-a-week office policy, especially at their top-of-market salaries.
If their performance data is reliable, why does Meta need several rounds of layoffs? The foundation of their analysis is weak.
I believe the second part but not the first. The most productive collaborations I've had by far have been virtual. People rapid fire exchanging ideas, testing things out on slack, quickly sharing screens to solve a problem and then jumping out again to focus on the next bit, etc. When it works well it's exhilirating. Everyone will have encountered situations when it worked badly. But nothing is as unproductive 12 people spending hours in a room where it inevitably gets dominated by 1 or 2 extroverts and the rest sit back passively. Doing it well either way is hard.
Although and manager worth their salt would know to pass this info along.
And anyway, in a "creative" area, like writing code, inventing new stuff, since when is "efficiency" a good thing, all that does is make the same shot, just more of it.
"Year of efficiency" is year of cost cutting. The blog post has an interesting take on it tho.
In software, the same thing with the same software stack with the same code base is not happening. If it's happening, either the activity is meaningless or can be a step in the build pipeline as requires no thought.
Efficiency can be measured either on number of bux fixes, features added or lines of code.
Great. Lines of code are meaningless they even vary by software stack, language, framewok, domain, Feature scope or bug's severity.
Bug fixes have exactly the same problem. Could be two weeks to find out that the issue isn't even in the code but in an external that had an incorrect value.
Features? Don't know. How much against the existing features the new features goes? The more that slope is, more necessary refactoring would be required.
When I read this, I translate it to:
"We don't know how to collaborate remotely efficiently, so we don't try anything different and say 'office work is better' "
Yes there's a value to meeting in-person. But don't say the process doesn't work when you don't know how to use the available tools to collaborate
My team lost manager almost 8 month ago. And I took additional management role alongside with a TL role by necessity. Burned out completely by now. It's so much more work and information you must operate I don't understand who can ever say managers aren't needed. It's ridiculous.
A line manager ought to be in the trenches, handling oncall, writing some code now and then, automating the bits of drudgery away, project managing, product managing, code reviewing and generally being an engineer. None of these things have to be done all the time and to the highest level of performance, but the idea that managers delegate all of these responsibilities leads to yes-men being promoted. If, as a manager, you do none of these activities, how on earth do you evaluate your people? You become the Vladimir Putin of your team, fed horseshit by people who have agendas or loudmouths while completely missing out on the concerns of people who do the actual work, with absolutely no idea of the actual performance and problems of the team.
It doesn’t check out to me that this is an overwhelming opinion. People definitely like remote and hybrid work but the tradeoffs vs being in person at least some of the time are well known to the point of being obvious. Partially-remote teams inherently have higher communication bandwidth between the in-office cadre versus the remote teammates, and all-remote teams specifically plan for team retreats and hangouts to build camaraderie, emotional connection, and understanding.
The Meta studies are one of those “you have to find numbers for the thing that is obviously true” situations.
It’d be really surprising to me to hear any kind of experienced developer contest this, even if their personal preference is to knowingly make that trade in favor of the flexibility being remote gives.
I’m curious if others agree or disagree here, given the author presented the exact opposite of my stance so frankly.
I did try full remote with my last role and it just didn’t work out for me, I found it harder to be productive at home long term and I like the change of scene of the office, so actively was looking for somewhere with an office and people in there at least some of the time in a new role - though I also appreciate being somewhere flexible so I can work remote if I need to.
I can see the arguments for both sides but to claim full remote is pure positive seems disingenuous to me, there are clear negatives. FWIW my team are at least 50% fully remote but I still prefer to be in the office even if a lot of my communications are via Zoom/Slack.
Even the organizations that I have worked for that have been better at this than others have still struggled. Perhaps there is room to just point out that high-level architects need to be involved in people and organization decisions.
In the end, flatter organizations are better, but structure of both organizations and software are hard problems and things that we struggle with throughout our careers on either track. I have usually fought to have ICs report at every level so that part makes sense.
But the question becomes what you replace middle management with? The answer shouldn't be "chaos."
Can someone who agrees explain how these points are obvious, to me, a person who's worked part- or full-time remotely for more than 10 years and has no concept of either of these things?
And this would be ok for a small company. But when you have tens of thousands of people who now need new clear marching orders, this is a very dangerous thing. And doubly so if you keep on changing those people's goals because you think you need to launch something big and new that requires thousands of people to build it (but you don't know exactly how it's going to be built).
Why is it dangerous (and I mean org-productivity-wise)? Because everyone has a natural need to feel useful and that they're productive and deserving of their pay.
So when clear instructions are lacking about what we're supposed to do, we make up things to work on. We hire people who say they can help us figure out what to work on. We create managers to manage people who seem to not know what they're working on, so that some direction can seem like it's clear. Because you can't have 10 people not knowing what they're working on, without a manager to manage their not knowing what they're working on. We schedule meetings to find out what other people are working on, and how we should get involved to be useful, distracting the few who are actually being productive.
So you find, after a few years, that you've accumulated a massive apparatus of people who have created a behomth of their own, simply from the desire to believe they're working on something useful. Sometimes they're very convincing, looking like they're working on something useful.
And unpleasant as it is (and surprising, as Elon Musk showed), many of them could stand to be fired without much detriment to the original purpose of the company.
Figure out what you want to build before you hire tens of thousands of people to do it. (and whether it will work). Or, at least as a caution, when your goal changes but you already have tens of thousands of people, be prepared to act unless you want to find yourself unwittingly in this position.
Heavy coding and no management have a place in the world. But no coding and heavy management also has a place in the world. Coding "heats up" the environment and management "cools it down". Sometimes you need heat, sometimes you need to temper the heat.
Companies start out with all coding and no management because they need to just produce. Then when they have something valuable, they must reign in the cowboy culture with management. Unfortunately, this often ends up overdone and there are very few leaders who have the guts to prune the overmanaged companies. Let's see how it turns out for the Zuck.
But dictatorships don’t have nearly as good a performance record as democracies, despite their “efficient” politics.
Quiet part out loud. tbf, it can definitely be true.
The downside to removing all management layers is:
* You'll have to interact with the directors of a company directly. I have experience with this and from this I can tell you that you'll find they don't share the viewpoints of most devs. They will expect things done yesterday and all possible corners to be cut. They don't care about Tech debt. Your estimates will always be too high and they will demand they be cut down to the unreasonable. They leave 0 time for testing as far as they know the dev work is done once the dev says so. They don't care about the complexity of implementation, they only see complexity in what they are asking you. SO if They ask "build me the next facebook" that is quite a simple statement but the implementation is very complex they see that because the statement is simple so should be the implementation
* Good luck ever getting a pay raise or a promotion. A decent manager will track you through those things as you work for a company and push for them on your behalf. A director only sees development as a cost to be reduced
* Much easier to directly blame developers when things go wrong. You bet your ass that if prod goes down there will be hell to pay. Fire the dev that brought it down. A good manager shields the team from this as they spread the blame of many departments making it hard to fire anyone
* You won't get any time for personal development. Kiss all those pluralsight courses goodbye that costs money. A yearly conference ? who's paying for that. Remember that the directors of a company will see money being spent as their own money because every dollar spent reduces EBITDA which will reduce their mega bonus
* Any problems you have with other devs are now yours to fix. Remember HR aren't their to help you they are there to help the company
* Projects will be dumped on you that are way outside your field of expertise. Directors often lump all devs into the same bucket. So for example if there is a new project that involves AI and no-one on the teams got any real experience then tough luck get her done
* You'll have to deal with strange requests. For example given chatgpt has been in the news a lot you'll suddenly be told to add chatgpt to the product regardless if it makes any sense. Normally a good manager would bat these types of things off to protect the dev team
* Time management is your problem. You'll be given an end date and told everything has to be done for that date
Note I get that having too many managers is bad but you ideally want small IC to manager ratio so that you are getting the benefit.