I am split on the remote work thing from a productivity / creativity perspective.
I do think there are times when I'm less productivity working from home compared to the office. I also think as a team we're less creative. Some of the best stuff I've done in my career has come out of casual conversations with my team about the stuff we're building. I've noticed I don't think about what I'm building as much when working remote, I'm just building it.
That said, I don't think 100% office is good either. That tends to just burn me out and I know other people I work with say the same thing. I think I'm at my best when it's 2-3 days in the office and the rest working from home.
40 hours in the office is really extreme these days. And any potential benefit of having employees working together in an office 24/7 is going to be negated by their dissatisfaction. Were I working at Twitter I'd probably be looking for a new job after this announcement. Not so much for the remote work decision either, but just the general lack of respect for how the employees prefer to work. This lack of flexibility probably means Musk won't just stop at remote work but he'll want keep track of your productivity, when you arriving in the morning, how long you take for lunch, etc. Working for these kinds of people in my experience is a living hell.
Housing in SF/SV is in trouble. Last week alone we had Twitter (3700), Stripe (1000), Lyft (700), Opendoor (550), and now FB (probably 5000). Obviously not every employee resides in that region but it's a good ~40% of the workforce [edit: of these companies].
Coordination with the real world is and always has been the pain point with STM. It's fine if your STM universe lives entirely in a subset of your data on a single machine [1], or within a single database [2], or with a single decision-making unit [3].
Most languages have extremely poor support for separating interactions with the real world from interactions that occur entirely within one serializable context (a thread working with thread-local memory, for example). Can you safely replay arbitrary C, C++, etc.? No, because side-effecting code could run at any time and occur in any context. So that is one problem that has to be solved first.
Suppose you've solved that problem. Well, now for a distributed system, you need to make STM talk to STM. Make one module talk to another over a network, or a filesystem, or another database, or a client browser. Do you have STM working in the JavaScript running on client's machines? And even if you managed that feat, do you have end-to-end STM from your datastore to your client's actions?
Distributed STM that wasn't painful to use, either to write or in terms of performance, would be a sort of holy-grail of distributed computing. I don't think any language or toolchain is there yet.
[1] Haskell, Clojure, et al STM engines.
[2] SQL-compliant relational databases such as DB2, Oracle, SQL Server, as well as distributed databases like HyperDex that support true transactions.
[3] Paxos, Raft, and other decision-making algorithms only ever externally appear to be consistent, but are internally complex and might have an internal tug-of-war.
I do think there are times when I'm less productivity working from home compared to the office. I also think as a team we're less creative. Some of the best stuff I've done in my career has come out of casual conversations with my team about the stuff we're building. I've noticed I don't think about what I'm building as much when working remote, I'm just building it.
That said, I don't think 100% office is good either. That tends to just burn me out and I know other people I work with say the same thing. I think I'm at my best when it's 2-3 days in the office and the rest working from home.
40 hours in the office is really extreme these days. And any potential benefit of having employees working together in an office 24/7 is going to be negated by their dissatisfaction. Were I working at Twitter I'd probably be looking for a new job after this announcement. Not so much for the remote work decision either, but just the general lack of respect for how the employees prefer to work. This lack of flexibility probably means Musk won't just stop at remote work but he'll want keep track of your productivity, when you arriving in the morning, how long you take for lunch, etc. Working for these kinds of people in my experience is a living hell.