The author seems to have a single-mindedness about optimizing their own performance. If performance in terms of your value to the business was about sitting down at a computer and coding, getting in a "flow" state, etc, I would agree. Problem is, personal efficiency doesn't necessarily align with value generated. I've seen engineers spend months regularly obtaining "flow" with few interruptions or meetings, only to have the projects scrapped because they weren't what the business needed. The fact that the code was immaculate didn't end up mattering at all.
Informal, personal communication can make a big difference. Yes, getting up and talking to someone is more efficient than starting an email thread or slack conversation in many cases. Many of those conversations are engineer to engineer and involve important technical decisions.
And, an aside: remote meetings are simply worse than in-person meetings. Having worked on several teams where some members were in completely different locations (and time zones), I never want to experience that again. Give me every person relevant to my work in the same physical space; I don't want to get blocked from doing my work because you've gone dark on slack.
I promise, I get it. If I had my way, I'd work on whatever I wanted to work on, with no meetings or interruptions. I'd just be a lone wolf cranking out awesome features and feeling great about it. That's just not what any business needs, and it's certainly not what they pay me for.
If pivoting your engineering goals requires hallway conversations, there's something wrong.
To be sure, not everyone is cut out for remote work, the same way not everyone is cut out for office work. For my part, I can't fathom going back to regular office work. I found I was frequently disrupted by hallway conversations and "just want to bounce this off you" pivots and were nothing but frustrating.
To say nothing about the fact that my commute time now hang out with my family time.
I agree but isn't there always something wrong?
I'm in that spot, I worked mostly remote for the past 4 years and at every company it would have helped a lot to have a casual hallway conversation from time to time.
It shouldn't be necessary but in reality it often is. It seem to me like you need well thought out, light weight processes to make this work. I think it should work, but I never saw it working myself..
My experience with "open office" arrangements is that most of the conversation (important and casual) takes place in chats anyway--even between people sitting right next to eachother--because generally people don't want to distract uninvolved parties.
Sure they do. But you're going to miss adhoc conversations that people in the same physical location have. Remote people aren't left out on purpose, but many times this chatter doesn't warrant saying "Hold on, let's not talk to each other's faces. Better do this on Slack.".
Source: Worked remote for about four years, really missed these kinds of random chatter.
 My favorite post on the subject is Holman's: https://zachholman.com/posts/remote-first/
There are tradeoffs inherent in every working situation. This is one that really bothered me. It doesn't bother everyone, though.
I find that most talks like that are just shooting the breeze. _Some_ of them are useful and in my experience it's usually then they happen rarely. So I think it is beneficial for the team to get together once in a while, but working like that should not be mandatory and you should just let people go back to their preferred routines ASAP.
UPDATE: And yes, make sure the culture is "remote-friendly" ("remote-first") even if most of your workers spend most of their working time in the office, otherwise it's not going to work (and I'd argue that this is a good approach even if you don't have any remote workers, but that's for another post).
Even without that though, it's less about not being able to discuss things but more about not being 'casually included' in what is going on which leads to general misunderstandings.
I have never seen hallway conversations helping. Face to face, desk to desk conversations do indeed help, sometimes. In my case, according to my estimations, the time lost by not having those conversations (about 30-60 minutes per week) is very small compared to the time lost in: office distraction, office small talk, commuting(!), all the untold stuff you have to do to get ready for the office, nervous energy lost in all these, which easily sum up to 3-4 hours per day! So I can use part of the extra, say, 16 hours per week (that's like 2 work days!) that are free, to write detailed chats, e-mail, and pick up the phone.
Totally. Not to mention people getting sick during the flu season just because they can't work remotely due to the company policy.
Text chat is a poor replacement to in-person conversation as it is occasionally async and a lot of meaning is lost. Video conference is better, but is less spontaneous and makes it harder to pull someone else into the conversation. Above all, text and video eliminate serendipity - I won't overhear the the conversation my colleagues are having about a pain-point I solved 2 days ago. I don't think channels on slack can ever replace this for me - following a text discussion takes my full attention, unlike people talking within earshot.
That is ridiculous. If you solved something like that, post it on some channel everyone is subscribed to, instead of trying to "overhear" problems people are having, not to mention you are willing to be distracted perpetually, listening for problems your colleagues might have...ridiculous.
I'm not saying employees shouldn't help others, but there is a time and place. You can schedule calls, send an email, or even send something in a Slack channel. All three of those say "a response in a few hours is acceptable" instead of HELP NOW!
What is ridiculous to me is wasting my time trawling through a #general channel (419 unread), filled with irrelevant, ephemeral muck just for the 0.5% chance that someone posted a solution to my specific issue.
As ill-luck will have it, I got injured since my previous post- I will be working remotely for a while in the new year and I am not looking forward to it. Seriously.
I think the answer to both of those situations is a searchable Q&A board. (internal StackOverflow)
StackOverflow has already addressed the problem for most topics that can be discussed publically. What remains to be addressed is the internal/sensitive topics that people are unwilling to discuss in the open.
There are some projects attempting to replicate SO functionality but so far we have not seen one gain adoption like Slack has in the chat space.
Listen, I agree that this happens. But in my experience it happens so rarely that it does not outweigh all the negatives of having to drag a bunch of people to the office against their will day in, day out.
As for slack and such being a poor replacement to face to face, I'd say that it's because not all people are cut out for remote work. For me personally, I don't like it when somebody chats me up about things that are better suited for a slack (or even email) conversation. Things like getting the spec details buttoned down (which is actually the bulk of shop conversations, unless you're at a very early stage in your project) - you'd want to have a paper trail/reference to go back to once you start implementing. And remembering details from hallway conversations is hard, so you have to distract people from their work again or get blocked.
I worked on a remote team for several years and recently migrated to an in the office job in a similar line of employment and was surprised how often such things occur. In your case it may either be that your work does not lend itself to such activities or you are potentially unaware that they are occurring.
Slack is poor replacement for face to face. It is good for communication for many types of projects and teams, but it cannot convey a person's facial expressions or emotions that otherwise might be present in their voice. My current organization, while onsite, has teams spread across the globe that we interact with. Attempting to solve complex engineering problems via email and chat is doable, but takes longer than throwing a couple of the engineers in a room with a whiteboard (and so the company pays for travel when that is needed).
In my experience, remote work is very situational. Certain jobs, tasks, and teams will lend themselves to remote work, but those items are not the majority of work yet.
We're now talking software development, right? I accept that those things can be very important in other endeavours, but to me the person's well thought out and articulated opinions are much more useful than all those things. I agree, it takes time to put your thoughts in writing and often you end up tweaking your original ideas because you realized a better way of doing something while writing them down, but that saves a lot of time for both parties, provides a solid piece of documentation you can refer back to afterwards, and usually results in a better implementation which covers more edge cases, has fewer bugs and is more maintainable in the end.
> and so the company pays for travel when that is needed
In my experience it's almost always been a waste of time and money. It did provide other benefits, such as getting the remote people to hang out together, but that's neither here nor there. But then again, I never really valued whiteboard conversations much over discussing in writing (slack/email).
Making software that should integrate with a business (either as a product or internal tool) has different communication requirements. Also, developers tend to understand each other better than non developers understand them.
Over the years, I can't even count the number of times that I heard a conversation taking place and was able to step in and say "that's wrong" and stop several people from a multiple day detour.
I do think 40 person open spaces are bad but small ones for a team of 2-5 that are all working on the same project are great (ideal imo), especially in a sealed room with lots of white boards, etc.
I do think that remote will become more and more common as companies see it as a way to reduce costs.
It seems like the author is mainly concerned about what is best for them, not the team. Requirements and clarifications constantly evolve. It is expensive to have every requirement exactly defined with full test cases when you aren't sure what you need to build. Being involved in that process gets everyone to good enough quicker. Also, I'm not sure what to do when a customer calls (8-6, presumably) and has an issue and the night owl is the one who knows that part of the system, telling the customer to call back at 1:00 cause that's when Bob is awake seems pretty silly.
Most tech companies have hours ~8-6, because that is their customers hours too, not out of a mandate to irritate employees. I do agree with the author that if the employer only cares about butts in seats, then it is a bad place to work but that has nothing to do with remote vs on site.
Not sure if you've tried this or if it's practical for you, but I've found that having a completely dedicated space, with dedicated tools, can create a working context that helps boost productivity. I won't name them due to privacy concerns but my company has been very good about dealing with remote workers and provides a basic set of office amenities to any worker who is selected to go remote (convertible standup desk, remote access point with office telephone, all-in-one printer w/ ink refills, etc.)
> Over the years, I can't even count the number of times that I heard a conversation taking place and was able to step in and say "that's wrong" and stop several people from a multiple day detour.
I'm not sure what your experience is but a trend I've noticed is that this tends to occur when only a subset of team members are remote - in fully-remote teams the use of collaboration tools (mailing lists, Jabber, IRC, etc) can often replicate these kinds of ad-hoc conversations with the added bonus of automatically capturing the information discussed.
I generally think environments where ad-hoc conversations are necessary to maintain overall effectiveness as being tool deficient.
Most of my experience that I was referencing was fully on-site teams. I wasn't saying that ad-hoc conversations were necessary but that they inevitably happen. Last week the CEO came and told the support team "I talked with customer X and we're going to upgrade their hardware. Then they can use the new apps but also their existing fobs". I'm in the same room and interjected that their fobs aren't compatible. That plan was scraped and a new plan was created to help the customer. Solving an incident like this via tools requires almost all conversations to be done via tools and inevitably you have to invite everyone to everything or otherwise you defeat the point. However, this means that people now spend a lot of time "listening to virtual ad-hoc conversations" via the tools just in case it is relevant or you have input. It can also be solved with meetings but again you have to over-invite and it is more time people aren't working on the tasks they are already behind on.
Incidentally, this is one of my biggest issues with Slack, etc. You can use it to have fewer meetings but really all you have done is turn your day into lots and lots of micro meetings that may or may not be relevant or require your input. People need to learn how to plan and run productive meetings but that is a different topic. :)
Business communication tools and project management are actually two of my biggest personal passions. I've even created a free online tool (MVP right now) to help people practice team communication in a fun and interesting way.
I think one of the interesting effects of using different types of communication tools is that they limit the spectrum and volume of input we can receive. It sounds like your experiences are enhanced by using a communication tool (in-person) that has a very high dynamic range of input (sight, touch, sound, smell, etc.) and that's very "chatty" (literally). Personally I get side-tracked easily by spontaneous conversations (to my professional detriment) so I find that tools that help me sanitize and rate-limit my inputs tend to help.
Feel free to defend your privacy (I did) but if you don't mind me asking, what's the online tool you built?
Basically it is a kind of puzzle but there is information you have that the others don't (and vice versa) and you all have a shared piece of information (the goal). The intention is for you to use the tools you use today (phone, Slack, text, etc. but not video/screen sharing) and communicate to solve the puzzle by collectively meeting the goal.
You can reach the tool at http://mmunicate.co (remember it is an MVP and work in progress)
You can message me directly with minimal research. :)
The difference between having a dedicated home office "space" to do/think about work and just going to the "home" space and trying to get work done is night and day. Occasional working from home is completely different than full time working at home. Once you've carved out a good space and have reduced distractions outside of work space (say a spouse asking you to do chores) you can maintain work mode the entire time, sometimes even better than at work. The sense of control is amazing for getting hard stuff done and concentration.
There's something to be said for transition time though. My routine was that I would always leave the house whenever I was done with work, whether to go get groceries or go to the gym, or just go for a 10m walk. I can't cognitively switch from work things to home things in the blink of an eye, I don't think the hardware we have allows for that.
The majority of tech companies do not have hours 8–6. That's farcical.
Only truly archaic companies require developers to show up at 8am. More importantly, most developers are not on "tech support" duty so setting hours by customer call-ins is pointless.
I've watched other programmers fight for and get left alone, and then watched as they went off into the weeds coding things that solved problems we didn't have.
Sometimes being left alone even increases my stress and reduces my productivity in the long run because I choose to work on harder problems and try to solve things I think people want, only to discover after I deliver that it wasn't very helpful and I could have chosen something much simpler to do and finished faster. In the mean time, I've delivered more code and increased technical debt more than I should have, and I end up getting interrupted with more maintenance issues down the road.
Couldn't this be solved by using a project management app?
Worth noting that the experiences I'm talking about, watching programmers go off the rails, and going off the rails myself, many involved the use of various project management, tracking and review tools.
It's not true for all projects or all programmers, I make no absolute claims. But my personal experience has been that figuring out the right approach to anything that takes more than a couple of days takes multiple conversations no matter what. My personal experience has been that tasks that run longer than a week almost always need one or more course corrections before they're complete.
Working in an office also demands a lot like for example all the social stuff and politics that goes with it. Putting in a bit more effort into communicating actively in case of remote work, pales in comparison to that.
To clarify what I mean by active communication: Instead of thinking "Oh, I am not really sure about this. Let me ask John next time I see him in the hallway", Open your email or what ever communication app you use, fire a message right away.
I have also find it helpful to maintain a "thought log", where you scribble down your random thoughts about the works or concerns that you might have, that other interested people can look up..
That's just a sign of bad or nonexistent management. If you're managing remote people you need to know what they're working on, and you need to make sure it's aligned with the company's goals. If that's not happening you're not doing your job.
Well, if you're a rank and file engineer, your "job" isn't explicitly to figure out what the business needs. However, if you care about becoming more valuable over time, you owe it to yourself to understand why the business values you. The business doesn't care about the code itself, it only cares about the solutions the code creates. If it's slow, that's a problem. If it's buggy, that's a problem. My instincts tell me to accept nothing less than purity, but a business needs pragmatism and "good enough".
I only work in startups where I feel people expect me to know the business needs, I wouldn't want to work at a place where somebody 'breaks down' the business needs in small packages which need no knowledge about the business needs to implement. I think 'the good' startups realize that this old pattern doesn't work if you try to be innovative and agile.
Developers are often aware of solutions that do not occur to the business people. A business person might think we are being as efficient as we can be in process P, but then a developer may come along and say we can automate parts of process P by implementing solution S, for example.
A lot of the time this sort of thing does not happen in the scheduled, structured meetings, or in email chains, or in video conferences. It happens when people in the office approach each other "out of the blue" and decide to grab a conference room and work something through face-to-face.
And being able to resolve issues faster, and respond faster to changes, is valuable to the business.
That is most definitely not the programmers fault whatsoever. Scope, feature set, product/market fit, and current status should be reviewed on a weekly basis by a product owner or project manager. If a general contractor builds you the house you demanded 6 months ago but your not happy with it now, who's fault is that?
> remote meetings are simply worse than in-person meetings
You give no explanation as your reasoning for this. Generally speaking, all meetings need to have an organized flow. I work on a team of 15 people where we can easily cover all our checkins remotely in under an hour. One meeting per week.
Blame is not easily assigned in this scenario. If your requirements changed have you conveyed these changes to the builder? Did the builder periodically reach out to checkpoint with you and get feedback? Communication is a two way street. No professional developer anymore can turn off their E-mail and phone and "turtle up" in their office, coding away in a vacuum. Only the most trivial software can be developed that way.
o clear written requirements expressing the business and high level technical needs.
o well defined acceptance test procedures to ensure that the delivered software (or hardware or whatever) meets those requirements
o thoughtful partitioning of the work between team members to minimize the needed communication and enable the team members to focus and work on their part without having a committee meeting every few minutes on every minor issue.
None of these are new practices. They, or something similar, is needed to work effectively remotely or for that matter in quiet offices with closed doors.
A positive trait in an engineer is the ability to resolve ambiguity. That isn't to say that all ambiguity can be solved by a single engineer working in isolation, though. What you don't want is people going with their best guess in an isolated, unilateral fashion, so you need good ways of handling uncertainty when it inevitably comes up. My contention is that, according to my experience, remote work results in a "dead in the water" status more often than office work.
I have seen remote work go very smoothly and go very badly. It depends a lot on how well specified the remote work is.
The "agile" and "issue tracker" methods currently popular do not teach good organizational and design skills needed to partition projects well for remote work. We've gone from one extreme -- rigid up front requirements and designs, the much maligned "waterfall" -- to the other extreme of disorganized, short-term chaos where the big picture is lost. Micromanagement without the big picture planning that is the proper role of project managers.
The OP is arguing for remote work versus cramped, noisy, interruption filled open offices modeled on garment industry sweat shops. Somehow most companies are doing this as if they got together in a back room somewhere and formed a cartel to impose garment industry working conditions in a bizarre attempt to magically lower costs by pretending engineers are seamstresses from poverty stricken nations making sub-minimum wages doing piece-work.
Are quiet offices either with high-walled quiet cubicles or offices with doors where engineers can concentrate and focus on difficult work but still walk over to someone and quietly discuss a pressing issue better than remote work? Probably so, but these sensible working environments seemed to have been banned by some mysterious executive decree.
Additionally there's an element of negotiation or dialogue around requirements which can often lead to cheaper/quicker to market/better solutions with input from engineering.
Both of these are much easier to do in person.
If the office is online, going offline means leaving the office. There's a WORLD of difference between a meeting when 5 people are in an office and 5 are online, and a meeting when 10 people are all online. When everyone is online it works about as well as an in person meeting, and frequently better because conversations tend to be more direct.
That said, having no personal rapport can be a big problem on remote teams - were I to set one up there would be minimum quarterly physical meetings, with most of the purpose being to socialize and sync on new models rather than sit and do normal work.
Having 1-1 vidcalls just to "work together" has been very nice as well. Once you get out of the idea that a video call has to be a meeting I'd say you can get 95% of the way to a physical space. Does not work for every engineer however.
That's poor project/task management if your whole day grinds to a halt because of a single blocker. There should always be more/other work to be done while waiting on a blocking issue to be resolved.
Voice + screen sharing is about as efficient as a face-to-face conversation.
And if you need to sync your working time with other team members - how is that a problem in remote environment?
Not even close. It's doable, but not as efficient.
The article doesn't talk about the high cost of commuting but this is the biggest factor for me. Having that extra two hours per day, and not being exhausted when I get home, has really expanded the amount of living (social, fitness, hobbies) I've been able to do and has expanded my life more than anything else. Not to mention the cost savings.
It's a lot more difficult to find remote jobs than traditional office jobs, especially ones that pay well. But the extra effort in the job search more than pays off.
My current contract is with a local company that happens to support remote work. I found this job through a recruiter. But like I said, it was a rare find. The recruiters I work with know that I'm looking for remote-only, but those positions are few and far between.
My contract is ending soon so I'll be looking at the online job boards in addition to working with recruiters; it remains to be seen how much success I'll have with that.
The biggest problem is that many companies that refuse remote work, don't have any issues outsourcing big piles of it to the other side of the planet.
The only difference with home office and the only thing that matters to them is that there is a warder (they call him a manager).
While working in a shared office has pros and cons, the benefits are huge. One of the main benefits is in how information is shared. Sharing an office, you overhear conversations, and the chances of random but important information about how things work and how people relate to each other is much higher. In addition, the bandwidth of the non-verbal and paraverbal information is much richer. People working remotely forego most of that information, and their understanding of the org and its culture is diminished.
So why do we have a distributed team? Because we hire the top contributors to our open-source project without imposing a geographic filter, and it's the best, most efficient way we've found to build a really strong engineering team. We're aware of the shortcomings of how information flows, and struggle constantly to improve how we communicate.
I think the nature of what companies are best fits for remote work, and how best to mitigate the loss of passive information sharing/lower bandwidth of subtle communication cues would be a great subject for a book or article.
My short version would be: it primarily solves a recruiting problem in extremely difficult to recruit for fields, takes advantage of a bit of arbitrage in some people's utility of remote work (introvert, commute, family, etc), and information needs to be overshared (more meetings than one might prefer, more documentation, more explicit processes, etc).
NYC, and it's helter skelter of noise and traffic and garbage and tiny living spaces, in my humble experience and opinion is not conducive to hard engineering problems.
I am probably completely wrong here and just a hopeless introvert with an axe to grind, but from my experience, working in home offices in towns like Boulder, Colorado, with a central, easily bikable office/startup HQ, would present the optimal small company setting.
A quality employee cares, they care about the problems of your company when they shower, when they sleep, when they are knowing their spouse in a biblical sense. The problems of the company they have pledged their allegiance to, like a knight in Game of Thrones pledges allegiance and service to their lord, are always on their mind.
So if you are paying for knowledge work, you would do well to dispel any notions of body/mind duality. Physical health equates to mental health, and a town like Boulder, CO is about the perfect size for optimal maintenance of a human body/mind. And there are hundreds of other communities in America with similar attributes to Boulder, CO.
And if you can take advantage of the space that your workers are already paying for in their rent or mortgages. Spaces that may have gyms and/or pools which are physically and mentally rejuvenating, well you will come out ahead.
I think the future of work will be semi-distributed, and this mad consolidation into a few coastal cities will be seen in the future as a gross inefficiency.
I haven't spent time in NYC, but I have spent time in a city that's about NYC density, in a neighbourhood that's about Manhatten density.
Honestly, all the above doesn't didn't me. I don't mind the constant drone of city noise. It feels natural and part of the backdrop. Conversely, I do get bothered by hearing a weed whacker on a quiet suburban sunday. The noises in low density areas feel like they "break the peace" so much more, and you can hear and take note of almost every single disturbance.
Though that was working on stuff in my own apartment, I shudder to think the kind of offices I'd have to work in. I agree it completely makes sense for more people to work at home.
I disagree with this prediction.
1) If given the choice, most people would prefer to walk to their day-to-day destinations rather than drive.
2) In order to create an area in which most destinations are within walking distance of the residents, a certain level of density is needed. This level of density manifests itself in "the traditional city", ranging from the relatively low traditional density San Francisco Mission district (25k ppl/sq mi) to the medium density neighborhoods in Brooklyn (for example, my neighborhood, Bedford-Stuyvesant, has a density of 57k ppl/sq mi. Williamsburg is similar) to ultra high density Manhattan areas, such as the Upper East side, which supports a population density of 120k ppl/sq mi (!!!). Older European cities are often within these density bounds.
Less density than the Mission and other forms of transportation become necessary for day-to-day tasks, and the city's face starts to resemble more driving-oriented (midwestern) cities.
3) In order to go beyond one's immediate neighborhood, quality public transit is important, as owning a car is an extreme unnecessary expense if the neighborhood is truly walkable.
4) Very few walkable metropolitan areas exist in the USA today, as transit is insufficient and neighborhoods are sparsely populated relative to a traditional city. Most that do are historic urban cores: for example, I'm writing this reply from Downtown LA, which appears visually similar to parts of Manhattan, is relatively walkable, and has decent transit options, but not nearly on the level of NYC.
5) Since so few desirable, walkable metropolitan areas exist with sufficient public transit, the ones that do featuring housing that is either extremely expensive (supply/demand) or, as mentioned, poorly maintained/insufficient. This forces the vast majority of people to live much further than walking distance from their workplaces -- often up to an hour or more away -- if they want to live in a pleasant apartment in a pleasant neighborhood within their means.
6) The result is that (due to shipping, coastal) cities predating cars are the only ones that can offer this living experience, and you will pay considerably for the privilege of walking to the bodega at 3 AM while extremely intoxicated, saying hello to the friendly person behind the counter, and buying a gatorade before you pass out in your 8'x10' bedroom.
NYC had a chance to remain at least somewhat affordable (by building transit options when acquiring right-of-way in undeveloped Long Island and Queens from the 30s thru the 60s), and Robert Moses completely blew it (because of his personal hatred of minorities and poor people). If you want to find out more about that particular topic, I suggest you read Robert Caro's book "The Power Broker".
One idea espoused in the book is that when you build mass transit before you build the community, you end up with a medium-to-high density community. When you build highways before you build the community, you end up with a low density community. These community patterns are nearly impossible to change -- this is why people complain Los Angeles builds "trains to nowhere" -- the existing communities are low density, but medium density is a prerequisite for a train line to be useful to sufficient numbers of people.
The only way to fix this in the future is to build cities with this idea in mind (or, alternatively, pray that self-driving cars fix everything). Redevelop existing areas to support new transit (an older Uber driver pointed out to me multiple new, high density developments in downtown LA, and suggested they were helping improve the area's safety and commercial diversity). Urban areas don't have to feel like NYC, but we chose a path back in the 1950s whose ultimate result was to dissolve the communities and lifestyles necessary for individual human happiness.
Looking forward, I'm seeing this "mad consolidation into a few coastal cities" become a "consolidation into a larger number of smaller cities" considerably more dense than Boulder, CO, and we will see this redevelopment of urban cores as a sign of what's to come.
There are tradeoffs associated with life in, especially dense, cities. Yes, walking to restaurants/stores/etc. can be nice. So can stepping out onto a deck or patio without a lot of noise and nearby neighbors--or the ability to hop in a car and be in forests or mountains in 30 minutes.
Also, while I think that fully autonomous vehicles are further out than many people here seem to think, I have to believe that once they do eventually exist, they'll make dispersed living relatively more attractive. If you have a "personal driver" at your beck and call, I have to believe that makes being able to walk to a nearby restaurant or taking the subway to see a play less compelling as tradeoffs against more crowded/noisier/etc. housing.
I think the highway-focused building plans of the USA from the 1950s thru Now is the fad, rather than the dense city. Extremely dense cities were "fashionable" for the couple thousand years before that. You could argue this was because we didn't have sufficient transit technology, and you might be right, but it doesn't feel like a truly compelling argument against the dense city.
> So can stepping out onto a deck or patio without a lot of noise and nearby neighbors--or the ability to hop in a car and be in forests or mountains in 30 minutes.
(1) These things can certainly exist in a city if you choose a neighborhood wisely and (2) pretty much every dense city also has at least one suburb available for people who desire these things.
> If you have a "personal driver" at your beck and call, I have to believe that makes being able to walk to a nearby restaurant or taking the subway to see a play less compelling as tradeoffs against more crowded/noisier/etc. housing.
Compared to taking the subway, I agree.
Compared to walking, I agree that many would rather take a convenient, inexpensive driverless car, but a sizable amount would also rather walk, assuming the time taken to get from A to B is relatively similar regardless of mode of transportation.
Walking has a lot of benefits, but driverless cars really do throw a big "what if?" into the whole urban planning situation. I personally believe that many will want to remain in dense housing for the social/community benefits, but at the same time, we'll have to wait and see...
And that is what I think we should be developing for, bikeable densities. And the bike of tomorrow is really a light weight electric vehicle, perhaps a foldable scooter with a small Lithium ion battery pack that is charged with a solar panel.
Bicycles increase human range without excessive negative externalities.
The result is a town that has culture, and restaurants and bars and a very usable public transportation system, along with scenic beauty and ample space so that one need not live packed into a tuna can.
It is your opinion that to get from your house to any other location, you need to use a bike, a task that many find more difficult (and dangerous) than walking in cold/rainy/snowy climates, and also results in having to pull out the bike (perhaps down some stairs) and find someplace to lock it up? That sounds like a lot of mental overhead for a brief trip to the deli.
I agree that biking is a wonderful way to get around (especially bike share, which I take advantage of regularly in Brooklyn for commuting and pleasure trips), but I also find it difficult to argue that it's inherently superior to walking in terms of community planning...
> the bike of tomorrow is really a light weight electric vehicle, perhaps a foldable scooter with a small Lithium ion battery pack that is charged with a solar panel.
This sounds pretty similar in concept to the Segway, and we all saw how well those worked. Not saying it can't work in the future, but there are certainly some challenges to solve before it can become mainstream (such as: what do you do in the rain? how do you remain charged in cloudy climates? how do they fit into existing traffic flow: with cars, or with bikes, or elsewhere? etc...)
> The result is a town that has culture, and restaurants and bars and a very usable public transportation system, along with scenic beauty and ample space so that one need not live packed into a tuna can.
You don't need Boulder-level (5k ppl/sq mi) density for this. Brooklyn or SF density will do, and will provide more reliable public transit than a bus network.
I personally find the Mission district coupled with Dolores Park and Bernal Heights to have ample space and scenic beauty for all my needs. Many cities neglect public parks, and they can make the difference between a dense but livable and a stifling neighborhood.
This is something that China has apparently been doing for a long time, albeit with insufficient attention to quality control. They occasionally get buildings that have high-tension power lines running through the stairwells, or buildings that just suddenly fall over, and then the West points and laughs. But at least they are making gestures towards urbanizing their rural populace, and re-urbanizing their existing urbanites. As useful as planning is, at some point you have to actually start building, or you never get anything done.
But then again, looking at the sort of development effort invested in Olympic Villages, where a huge, concerted effort puts up a lot of new construction in a short amount of time, putting up whole cities at once can also turn into an embarrassing disaster rather quickly.
In the US, it just seems like city governments are holding the city infrastructure as hostage to squeeze some more ransom money out of the residents, then shooting the hostage anyway. It's very frustrating to watch in other cities, and absolutely infuriating in your own. How much would it cost, really, to abandon an old, sprawly city, and build something that starts with a bunch of solutions to well-known urban problems that can't even be implemented when there's already a city in the way?
I don't fully understand what you're getting at here -- are you referring to Urban Renewal policies? Or utilities/real estate industry corruption...?
> How much would it cost, really, to abandon an old, sprawly city, and build something that starts with a bunch of solutions to well-known urban problems that can't even be implemented when there's already a city in the way?
It would cost A LOT, and it would be stifling to live in if it looks anything like the new Le Corbusier-inspired Chinese cities. Some climates such as San Francisco simply cannot be replicated elsewhere.
Also, it would be devastating in a spiritual sense. I know this isn't necessarily the place to discuss a more philosophical/psychological topic, but the deep sense of tradition/history rooted in place is important in creating life meaning for many, many people.
Plans to build a downtown multistory parking garage quashed by city council due to bond issue requirement. Instead, parking meters installed in business district to help manage parking shortage. Parking meter enforcement rights sold to private business for the equivalent of 2 years of parking meter revenue. Private business raises parking prices 300%, cancel free weekend parking, and ticket all violators within 5 minutes. Roads still full of potholes. Residents angrily oil their pitchforks and sharpen their torches, then storm city hall. Residents find that they cannot now build the original parking garage, because the parking meter contract forbids the city from acting as competition in the parking business. The ousted councilmen begin collecting $100k/year pensions. Municipality declares bankruptcy. Judge says that they still have to pay the pensions. Whaddya call your town? The Aristocrats!
I have been working at home for the past year, and I don't think there's any way i'd ever accept another non-remote job again. In any large city you're gonna be sitting in traffic a total of 10hrs a week. That's insanity. That's well over one full work day. With a web-cam you can still have face to face meetings. The only thing that I find missing occasionally is the use of a whiteboard, but that is a very minor thing. Having a whiteboard is not a good trade-off for 10hrs spent in traffic. Not even close. Of course in 10yrs VR will totally make it irrelevant where someone's physical location is, but i think even the basic webcams we have today already does as well.
Yes, there are books that have a multiple of co-authors, but these co-authors tend to not operate lone-wolf.
Looking at software, it becomes very complicated when you throw multiple engineers. If it's written in a manner where people don't talk to each other for weeks and just showing up with the pieces as if building an oil tanker with prefabricated parts that are put together.
Software is much more complicated endeavour and it's fueled by the endless changes that can be made. Nothing is solid or have physical constraints that clearly limit options once the product is out the door, where as software can very easily ebb and flow with changing stakeholders and turnover.
50 shades of grey didn't have multiple authors that came before each other and a group of guys writing it together and readers demanding changes that caters to them.
And while some software projects do need 100 people, most don't -- and most don't even need 10. I get the feeling that a lot of project managers don't even think about the possibility that something could be built by a focussed individual working in a low-distraction environment.
Another trait, it took me a while to notice. I noticed the following facts about people who work with the door open or the door closed. I notice that if you have the door to your office closed, you get more work done today and tomorrow, and you are more productive than most. But 10 years later somehow you don't know quite know what problems are worth working on; all the hard work you do is sort of tangential in importance. He who works with the door open gets all kinds of interruptions, but he also occasionally gets clues as to what the world is and what might be important. Now I cannot prove the cause and effect sequence because you might say, ``The closed door is symbolic of a closed mind.'' I don't know. But I can say there is a pretty good correlation between those who work with the doors open and those who ultimately do important things, although people who work with doors closed often work harder. Somehow they seem to work on slightly the wrong thing - not much, but enough that they miss fame.
 - http://www.cs.virginia.edu/~robins/YouAndYourResearch.html
However, at the later stages of a company when you want 100+ engineers or more, it can be a major damper to organizational growth. Front line management becomes a necessity to keep teams healthy and get a consistent culture across the company. Career paths also require curation that is hard to do with people spread across offices and timezones.
So essentially what we end up with is remote work being optimized for small startups and slow growth companies. Large companies that will always waver back and forth on it, without actually figuring out how to make it work at scale. From a career stability standpoint, it's kind of a beating. Every job will seem awesome for a short period and then devolve into a shit show.
Those of you who are betting the farm on remote work should keep all this in mind. The smartest remote folks I know have realized this and just do consulting/contracting and making lifestyle choices to support this way of life.
I say this as someone who worked remote for 3 years from Texas and moved out to SF to work in a big office for a major tech company. There's huge benefits to remote work, but it's not a panacea.
In the US, there's a growing polarization between the coasts and middle America ("flyover country"). I, for one, don't want all the good programming jobs to be on the west coast.
Remote work, where the workers bring their own equipment and office setup, is probably better for people with disabilities. For example, an employer doesn't have to care or possibly even know that a worker is using a screen reader or other assistive technology. Assuming, of course, that all the applications one has to use on the job are accessible.
In fact, let's take it a step further, and propose remote work with strictly text-based communication. Yes, yes, we lose the nuances that are communicated through tone of voice, facial expressions, etc. But think of all the kinds of discrimination, whether overt or accidental, that disappear. Disabilities (including hearing and speech impairments), accents, race, and age are now completely irrelevant. Sounds like a big win to me.
That reminds me communist utopia: lets make all people equal ... by making everyone poor.
At work it usually* is a $600 computer, a $60 chair, low end dirty keyboard and mouse, small low quality screen. The office is cold, I have glare in my screens... and I share a room with 60 persons.
It's hilarious how my personal setup outclass my professional one.
* I am lucky enough to have found an employer which value his employees and that's not the case right now for me.
Edit: That's a slippery slope. What next? Buying a new microwave, new window blinds, a modern thermostat, softer toilet paper ...
That slippery slope is also slippery on the other end, ok, company A bought you "xyz gamer laptop" when everyone uses MBPs or what not. 99% chance it's going to go sit in the closet for a few years after you leave until donated or sold whereas if you used the standard equipment it can be cleaned and released.
I'd rather skip the hassle and bring my own things in if it's not a change to the standards.
When it comes to the chair it's inexcusable for the company to provide equipment that will hurt the health of their employees.
Yes, there are shitty employers that don't care about you being comfortable or provided with the proper hardware for your job, we've all been there. I couldn't tell you the last time I started a new job and wasn't given a current generation laptop and nice monitors (not Apple quality but totally fine).
That's just poor management. I'm costing you the same money to get less work done if my laptop is slow. It doesn't benefit the business at all.
I wouldn't trade my daily lunch with my wife and kids for twice the salary.
I've managed to find many good remote contracts but from local companies (which sounds funny). It's either just assumed you will work in your own space or they're happy for you to work remotely after a couple of face-to-face meetings.
Here are just some successful companies that are heavily remote-based:
WordPress powers over 25% of the web, remember. They have been remote since the beginning and have hundreds of employees.
I've worked remotely for many years. There are good companies and bad, but I've never seen evidence a company failed because it was remote and you've provided no data or examples. Companies fail for a multitude of reasons, but you're essentially saying that successful remote companies are a fluke. Nonsense.
If you're freelance and bill by the hour as well then those hours easily add up to an extra day a week you could be working.
Once I'm at work, I get down to it and am good for about 4 hours or so (on good days) of really good work. Spend an hour or two on email, light reading, talking to coworkers, and that's my day.
I work from home on average maybe 0.8 days a week, for various reasons, but I get lots of work done and am quite productive from home.
There are some things that you just can't do the same from home. You can be much more agile when working in proximity. Face to face conversations are important and effective. There is a lot of missing out if you work 100% remotely in companies that aren't 100% remote.
Just about everyone works from home 4 days a week, and comes into the office one day.
It expands the hiring pool by a pretty significant amount, one of our devs is 2 hours away (4 hours round trip, and he still commutes less than his wife does every week), it lets us get a lot of the "face to face" benefits done in one day, and the rest of the time is remote.
We do also have a couple fully remote, and a couple "always in office".
It works out nice though as we tend to remember to include the "always remote" people on our in office day because most of us know how much it sucks getting left out.
Junior devs, interns, even moderately experienced devs can all benefit immensely from mentoring by senior devs. Mentoring is a fuzzy thing that happens in the margins, and that's exactly the kind of thing that's hard to replicate in full-remote work.
Of course, everything in moderation. Senior devs need some time alone to churn and burn through tasks, but less experienced devs need guidance, leadership, and experienced perspective. And sometimes you need a mercenary like the author to just run solo and get it done. Different strokes for different folks.
Less tooling may be required, less time invested, etc. to have effective mentoring happen when you are in person.
The only caveat is that it's important that you work in an organization that is aligned with remote work, if not remote-first. Just scoring 'permission' to work remotely somewhere not used to it, is probably a recipe for a pretty bad time.
I really agree with your caveat, and I've seen a number of places that have some pretty unmotivated individuals try it, and have it fail. This left a bad taste in everyones mouth, and they wrote off remote work. The reality was that they had crappy employees, and not that remote work can't work.
Why is that?
Hence the idea that remote working is probably most effective when companies treat it as the norm--at least on a group by group basis.
I've actually never worked at a place with a large number of devs under the same roof.
You said "capitalism" but you meant "liberalism," and you said "communism" when you meant "authoritarian dictatorship."
But setting aside this equally unnecessary and inaccurate argument, the whole tone of this article seems to glorify the archetype of the "110%" employee. I'm "passionate" about programming and computer science, but I also don't just want to pull up a JIRA and bang away code.
Even if we accept the author's premise that open offices and social work environments are bad for productivity (which many people here have already pushed back against), I didn't try to find a job with lots of smart people so I could only interact with them via email. Sure, an open office occasionally distracts me and gets me out of the "flow," but it's almost always to help someone or join an interesting conversation. These things are valuable to me on their own, because (1) I like interesting conversations and (2) it means I can ask someone for help whenever I need it. And that's a better long-term feeling than slamming out code every day, which, by month two or three, starts to feel a little uninspiring.
But she has no idea how to make a career out that reliably. She started out doing QA/testing, now she is all into oracle and DB2. Using oracle tools and IBM tools for managing/writing SQL for enormous databases. Government sized databases.
She is making low six figures now here in KC.
Thanks for any advice or leads on remote only work as a career!
1. Remote job boards https://remoteok.io/ https://www.wfh.io/ https://weworkremotely.com/
2. Stack Overflow https://stackoverflow.com/jobs?allowsremote=true
3. Who Is Hiring? thread posted on Hacker News the first weekday of every month.
Sooo hard to do. I worked remote over the summer and tried convincing my wife that yes, I am working, even though I am home and sitting down staring into a screen. Not sure she ever got it but I'm working in office now so not an issue anymore. If I were to do it again I would definitely get a small office to go to or go to a co-working space. Good luck!
My roommate's startup has gutted their remote team, only one guy is still there and his days are numbered. From what my roommate told me, managing remote employees can be more trouble than it's worth.
I remain unconvinced that the clamor for remote work environments is really in company's best interests. When push comes to shove, doing remote right requires an investment on the parts of both the team and the company, and if one side doesn't or cannot pull their weight, then it becomes unmanageable, bringing the company down with it.
Employees can bitch about the employers, but they're the ones paying the salaries.
There is a cultural language, and a lot of facts outside the scope of normal direction.
I've worked remotely often and this has always been a huge issue: requirements can almost never be communicated succinctly, they come in waves and indirections.
So if we can solve that one ... this makes more sense.
As for the 'open office' concept, I can't think of anything more absurd. When I visit my clients I can't get anything done.
However, I've found that when people all have different hours (especially over different timezones) it's difficult for the one-off meetings when something needs to be hashed out in person or skype. I suppose this problem may actually be a side effect of our office having strict working hours so we don't know how to operate on the days when most of the office is remote and working on different hours. Companies like 37Signals have clearly figured out how to build a collaborative and productive company across multiple timezones.
Just a guess, but I wonder if the decision to just go with open offices has to do with the ability to scale such a plan quickly and easily, whereas scaling a remote team is too difficult or building or rearranging private offices takes too long and costs too much.
A possibly poor analogy might be the difference between going with some cloud provider which scales more quickly vs building out your own server which is more costly and possibly more difficult to maintain.
One thing we've learned is that "diversity" is so much more than just race/gender/ethnicity. Geographic location, even within the US, can be a profound contributor to the diversity of ideas, experiences, and opportunities. Makes you realize a non-remote team is living in a [geographic] bubble by definition.
If you're interested in building a better web stack / CMS that integrates with your office suite, give us a holler at firstname.lastname@example.org :-)
PS: Re open office plans in early-stage startups, I suspect cost savings are a driving factor.
This leads to a situation where leadership can't honestly acknowledge when they've made a bad decision.
The author blames this on a 9-6 schedule. But honestly I think it's way more likely a problem with drinking too much damn coffee. Everything he wrote in that part hit home, i was experiencing it very badly... until I started limiting myself to one big caffeinated drink before lunch a day. It's improved my quality of life a lot, I am tired way less.
I work as part of a team and we all work remotely most of the time, but we work the same hours because working different hours would cause problems. It's hard to conduct a daily stand up if everyone's working weird hours. We have some flexibility for people but everybody has to be around for the 9:30 stand up. This helps with coordinating of larger projects and bringing up blockers which the PO or Scrum Master can remove.
If some lone developer is working 3pm to 11pm then that person is not really coordinating with the rest of the team.
Also I'd really hate to hear what this guy thinks of pair programming.
I think it's important to be flexible with work hours, but that goes both ways. My concern is with places where strict requirements are set up for hours, and places that are not willing to be more open minded about crossover work hours. As far as I am concerned, 4 hours of overlap per day amongst the team is sufficient. If more overlap than that seems necessary, it is probably a process problem.
I love pair programming! However I cannot pair program in an open office plan with tons of noise/distractions.
For example, if the rest of the team is working more "normal hours", starting before 10am and you don't start until 3pm, that means they can't have the whole team can't have a stand up meeting until 3pm when you get on. End of the day stand up meetings CAN work, but the natural flow is to start the day with it so you can talk about what you WILL be working on today and what you DID work on yesterday, rather than what you think you'll be working on tomorrow.
Also, it's hard to ensure the whole team has overlap if the times are too flexible. I have a teammate who starts at 7am, if we had another teammate who wanted to start at 4pm, they would never overlap.
Until technical folks start taking over the world (maybe we're in the infancy stages of that?) I think most people who want to work remotely will need to expect to be in the office regularly if not every work day.
I can say that I like to see people in person and interact with them, but all the problems, not only with startups, but with office environment in general were spot on.
Personally, I find a lot of value in putting a face on everyone in my team. To me, it's a lot easier to work through a problem in person vs. over Slack or Skype.
But that's not to say I disagree with the OP. I totally value the efficiency of working in isolation if and when I'm at a point where I just need to be heads down to finish a task. At my office, we have the luxury of isolated couch rooms where it feels like working from home w/ the office and your coworkers steps away.
The reality is that not everyone has the same level of productivity or commitment. With a few rules it's often possible to get more than their salary's cost out of them. Sure, we'd all like to work in an environment of nothing but awesome co-workers, but that doesn't scale. Hell, you presumably support "rules" like "we've decided that the implementation language is L" so everybody's code works together.
What is brain damaged is that some companies are too stupid or fearful to understand when the rules do and don't apply.
I haven't had to sacrifice the ability to have face to face communications and relationships with my co-workers. I'm not saying these are my best friends, just that there's subtly more that comes across in person vs. remote.
I'm thinking the perfect mix is to live 1.5 hours from a big city where the jobs are. Go to the office if needed once/twice a week. Do the rest remotely, enjoy living in a house instead of a cramped appartment.
Is anyone doing this?
I need people to function, people to work with, people to talk about work, people to discuss decisions with and people to not talk to one another. It's what's motivating me, what keeps thinking for hours about problems.
Remote working can be a blessing during bad weathers or you want to take a little break from commuting.