I don't understand this fascination with central offices. We live in the year 2024. We should be able to look at our workforce, find small offices, and have hub and spoke networks of offices - and work from home as a fallback.
Rent a condo, do a communal office, if you want more close collaboration - shuffle your teams to colocate them - not force them into 1hr commutes into a fucking empty office.
Our infrastructure is now ephemeral on the cloud - why can't we be more flexible with our work situation?
People collaborate easier in person.
Travel is a downside.
Many of the largest software projects in history have been implemented by remote workers. Like the Linux kernel.
But if you require to read people's reactions and body language and try to figure out if they are telling the truth, or brag about your socioeconomic status or appearance, or if you need to assert dominance over others, or do social engineering like mirroring other's movements, then face to face is perhaps useful.
To me, when someone says "there is no replacement for face to face communication", what that usually means is "we distrust people here".
I dislike offices, they are cesspools of misery, dominance and fake smiles. Long live remote work.
You're summing up a pretty wide spectrum of things as "distrust". If a junior engineer says they understand what I'm asking for and will deliver it in 2 weeks, but actually they don't fully understand and will deliver half of it in 3 weeks, I wouldn't typically characterize that as them lying or being untrustworthy. But it's a problem that's a lot easier to detect and solve in person. (It's also, not coincidentally, a problem that Linux kernel devs generally don't need to worry about - there's no Linux Dev Inc. whose next big contract will fall through if a project doesn't finish on time.)
2 week deadlines is way to long for a junior. I would be reading and discussing a juniors code every day.
Even mid level programmers should be reporting progress every day.
10 working days of code is a hell of a lot of code.
The expectation of producing high volumes of code in short cycles is a red flag.
Programming is not data entry. Programmers are not typists. Programmers make progress by creating building blocks that can be reused later. In 2024, many of those building blocks already exist in the form of libraries.
If there's no reusability, everything is a special case, there's duplicate code, your program maps 1:1 to your data... there is a good chance you have a problem creating abstractions. In that case, the junior is you, and you are not the right fit to be a mentor.
If you see a constant need to micromanage people, that is a symptom a highly insecure personality that is unsuitable for management, or trust issues, or poor recruiting skills, or poor delegation skills (matching the tasks to the wrong skills). All of those are signs that you may not be ready to be a manager. Micromanaging will just stress and demoralize your workforce.
If someone is unreliable enough to need a conversation every day, either you or that person should not work there. And if this is the case for every junior engineer in the team, and the situation persists for long periods of time, the likely reason is that the problem is you.
I think you misread my comment, or perhaps our definition of high volumes of code is different. Perhaps junior means something different.
I also suspect what I consider "good communication" you consider "micromanagement".
I like reading and talking about what my colleagues are doing every day. I'm interested. I learn new things, and sometimes I teach others a trick or two. Sometimes I tell them I don't like something and we agree to disagree.
Sometimes the requirements change, and that need to be discussed as well.
Sometimes I just like hearing and sharing stories about things that didn't work out. Yesterday I spend a whole day profiling to try and work out why we are leaking so much memory. I didn't work it out, but I can tell my colleagues what I tried and what I will try next.
The point I was trying to make is that a solid 8 hour work day is a lot of time, and I think everybody should have something interesting to say about what they did.
Make more granular tasks with clear acceptance criteria. If the developer doesn't understand the task, suggest writing a design document.
Build trust so that developers reach out to you as they get blocked.
Try to make people explain their approach in clear terms and discourage trial and error.
Yep, agreed. Granular tasks of about a day or two, and just talking about it is easier than more process and paperwork. You should try it!
You mean a humiliation ritual? No, thanks. I am not going to build my career at the expense of the dignity of other people.
Build the skills, the trust and the enthusiasm and leave people work in peace. Nobody likes micromanagement. If people could get a paycheck without ever having such conversations they would prefer that. It's a cost to be minimized, not a reward.
Your only value is how much you empower others compared to you being absent. That is the baseline you are optimizing against. And if everything you do is to chase people to forcibly spoonfeed them you are not achieving that.
Right now you are like a first time plant owner that overwaters plants and kills them. Stop micromanaging people.
"I give deadlines to junior engineers who don't understand things."
Ding, ding, ding! You have won the toxic bingo.
If you work with 2 week deadlines you've lost control of your project. Like in Tetris.
It's quite rare to have the degree of control you're envisioning over a project. Most software teams are building products to sell to customers, and most customers aren't going to accept "IDK whenever we're done" as an expected delivery date. Companies can and should provide some degree of wiggle room, but it's not realistic to expect that you can avoid ever thinking about how long a task is going to take.
That sounds like you are totally winning!
If everything is urgent, that is a strong symptom that you completely lost control and you should not be running a project.
The value you add as a decision maker is making decisions that mitigate the risk of being in a scenario where everything is urgent, that is, a crisis. If you are constantly in crisis mode running for your life because you failed catastrophically.
I’m not sure why you’re being so hostile here. I agree everything can’t be a crisis, and if there were a way to have people in the office only when something important is happening, I think quite a lot of companies would go for it. But you can’t set remote work as the standard and then announce that there’s crunch time in July so everyone has to come in 5 days a week.
Because the primitive and irrational need to hurry all the time for no reason is what takes 99% of the satisfaction of building software while making software worse.
Remote work is the future, and irrational environment-ruining offices are the past.
Again, there are many important reasons - it sounds like you're just too isolated from this to understand the context you're missing. You should find one of your customer-facing coworkers and sit in on a call some time if you'd like to learn.
I agree with you, except the last sentence, which may vary from place to place.
My office is very friendly and people have very good humour. Which is good for socializing but for work, it's tough because so many interruptions and we waste a lot of time "talking about the weather". I am way more productive working at home.
They have good humor, always want to have coffee and lunch, and are your best friends forever. Until you change jobs and you never hear from them again.
I mean that’s just life. Why is this a bad thing?
You go through periods of time and when that chapter ends you move onto the next chapter.
Expecting a band of misfits to stick together for 40 years is what is atypical.
When I was in college I had a great group of friends but after we all graduated we went in completely different directions, industries, and live vastly different lives. The friendship was perfect in the moment but now I’m in a new one.
This is an excessively bitter take IMO. I'm saying this as a happy remote worker: office interactions are actually a good thing, provided you've actually built a good team. I miss many of my previous coworkers because we actually had fun collaborating, and we talked about interesting non-work topics. I enjoyed going to lunch with many of them because they were interesting people. And I recognize that such positions are uncommon and so I'm extremely picky abut new roles, but I know for a fact that it's not true to say in-office interactions are all deception and game-theorying.
Except, some jobs really really don't require much if any collaboration. We've been having to come back into the office since last September. In all that time, I've only spoken to another person a single time. Literally one hour in one day in the past 5 months. All meetings are still over zoom and when I'm not in a meeting, I just find some place in the building to sit and work. Except many people still weren't coming in since september and now they have cracked down on it and said people must be in the office and they are checking badge check-ins and the ip address of where our work laptops are being used to see if they are on the campus network or not. The result is tons of people are here now, but there isn't room for them. Before the pandemic, the company started getting rid of cubicles and moving to rooms full of desks and you just find somewhere to sit. But they don't have enough places to sit for everyone so if you don't get here early, you just end up sitting on the floor or wandering around. It is crazy how much lost productivity we are experiencing.
What the fuck?!
HR frowns on that.
Yeah I'm about to be harmed by my working conditions
Buddy, why on Earth are you still working there?
Really good benefits. Just in terms of vacation, we get 11 vacation days a year, a paid week off in the summer, paid Fridays off in the summer, 6 week paid sabbatical every 5 years, and 8 hours of paid time off every pay period (26 times a year) that we can bank and roll over from year to year.
I had a friend reporting a similar situation in the big consultancy firm he works for. There would be more workers than available seats. He said they would do it to make people get to the office BEFORE their working hours. Dark patterns all around.
I can do my job equally well in-person or remotely, but that's because I don't connect to my team. I started here before the pandemic and we never really clicked in a way that made in-person collaboration happen.
Whereas in my previous role, going remote would have had a negative effect, because we liked talking to each other and working with each other. I believe that on that team our online communication would have been more and better-quality than what I have now, but still less collaborative than in-person.
Other downside: way more coffee breaks and private discussions.
That’s not a downside. That’s part of building and being a team. We’re human, not machines. If you hire the right people, they’ll know when to have a laugh and when to work their ass off.
That very much depends on the person. It might be an upside for you but a downside for me.
That’s upside.
Private discussions happen way more often remote in my experience
I joined a company that went from in-person to remote and the number of private discussions and politics exploded.
Something about going remote and exchanging faces for screen names was like pouring gasoline on the fire for company politics. The number of private Slack channels exploded and one group even moved to their own private (unofficial) Slack because they wanted a private space where other people couldn't accidentally be invited to their discussions. It was wild.
I don't collaborate better in person.
I do, probably because of my particular flavor of strong introversion.
What's the solution to different people benefiting from different work styles?
People should find company cultures that match their work styles. That's the best way to allow people with similar work styles to work together.
There can never be one true corporate policy to rule them all. That said, I agree with most of the comments here. Hybrid is just bad. A company needs to pick on-site or remote.
Depends on the work being done. In my experience in-person collaboration just means the loudest most stubborn person gets their way and it's difficult to pause things to fact-check and research while decisions are being made. And honestly, fighting with this behavior is above my pay grade.
I wish they would stop trying to force us into shared working spaces. They can make me work from home, a close office, a far office... I don't care. Just give me a private office and I will do my best work. At home, I don't have room for a private office, so they would need to relocate me and cover a portion of the rent for their office. I am not a contractor. I am an employee. I don't control any of my working conditions and I shouldn't have to pay out of pocket for it.
As an anecdote, my neighbor is a crazy asshole who started blasting music and having parties at random hours; it can be problematic for sleep and productivity. Police in California are inept at stopping this. Will the company pay to send lawyers or do I have to waste my own time and money to pick up and move my whole life for something worse to be waiting at the next rental?
What's the theory under which the company would get involved in your housing dispute?
But I love distracting people and making them unproductive!
The biggest reason I like working from home, is because I can have a private office. The second is the absence of a commute. If I had a private office and a short commute, I would have no problem going into an office.
It's not about you, it's about them. What they control, what they own, what they have.
They are in love with the feeling of dominance in a room full of people. They love to see the minions that they command. Its about being able to visualize and understand the domain that they control.
I wouldn't want to work in a company with strong "us" and "them" culture. If I don't feel everybody is working towards the same goals and is receiving a fair piece of the pie I would go somewhere else.
Running your own company for a while really helps see both sides of the equation.
That seems like a pipe dream to me. Money and power often to change people for the worse.
I don't even understand how somebody can seriously think that there is no "us" vs "them" divide in a company. This culture is everywhere, just some places are better at hiding it.
Taking the most generous interpretation of this desire: It might just be because management is just not used to fully remote. Most workplaces aren’t healthy and satisfying, they’re somewhat toxic and in many cases incredibly so. The adaptable managers that have a consensus based management style find a way; those that are used to doing things by decree find themselves ineffective in controlling the direction of their reports. Literally the number one priority of leadership is to control the direction of the team; if they’re unable to do so there’s not much else for them to do.
Any company seriously considering adapting to the new environment should consider some kind of retraining program for their managers and have a support system that will help them adapt.
If you think those toxic managers are going to get less toxic when they don’t need to worry about death stares from everyone if everyone sees them doing toxic things to people in person, I’ve got a bridge to sell you.
And those folks aren’t like that because of lack of training, generally.
The current crop of execs grew up watching Star Trek TNG - a flying office building where everyone lives for their work and you could sound a klaxon and everyone scrambles to the conference room. Also everyone loves and is willing to die for the leader. That's all you need to know.
Crisis! Head to the conference room!
As someone operating in exactly this manner, it sucks for the same reasons that hybrid sucks. Timezones, teleconferencing, shipping between offices, travel between offices, conversations that happen in one office not making it to the other office, etc.
Fully agree. My weekly email rant was on how anti-customer offices are. https://forstarters.substack.com/p/for-starters-13-there-are...
Our company has exactly this and I think it works really well! We are a small engineering team spread out across 4 states with tiny offices/hubs for those that want to get together. I work with a friend in town and we go to an office 3 days a week on the same days and I love the schedule.