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..
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.
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?
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.
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.
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.
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.
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.
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 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.
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!
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.
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 hello@cloudstitch.com :-)
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.
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.
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.
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.
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.
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.
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.
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. https://news.ycombinator.com/submitted?id=whoishiring
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.
[1] - http://www.cs.virginia.edu/~robins/YouAndYourResearch.html
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
Remote working can be a blessing during bad weathers or you want to take a little break from commuting.