Hacker News new | comments | show | ask | jobs | submit login
An Office Made of Software (greer.fm)
45 points by ggreer 1426 days ago | hide | past | web | 27 comments | favorite

I've worked from home for 13 years. It's bloody hard. And although most of my work is done solo, my experience has been that collaborative efforts are far more difficult and slow when we can't physically get together.

The advantages of working from home are obvious. Short commute, convenience, midday naps, no pants required... no wonder people want it.

But the disadvantages are really only apparent once you try it. It's hard to get motivated. It's hard to feel a sense of accomplishment. No sense of office "buzz" or excitement. No one to carry you through the mid-afternoon doldrums. When collaborating, all that rich human emotion and nuance is squeezed through a soda straw. Can't go for a walk and talk through a challenging issue. No commute to transition from "work mode" to "family mode." No high fives.

I'm a hard-core introvert, and I miss people.

My business has been a one-man business for the last thirteen years. One of my greatest hopes is that, when I'm successful enough to be a sustainable multi-person business, that we'll have a kick-ass office where we all work together. Because working from home isn't all it's cracked up to be.

I worked from home for almost a year. It was a great thing for me, because ever since then I consider an office a perk and not an obligation. My reasons are below. Everyone is different, and for many people offices are a great thing.

- I had trouble mentally getting into work mode at home.

- Since my home windows are not tinted (I've since noticed that most office windows are), I was readily aware whenever the weather was nice. In those cases, if you can imagine this, I felt guilty for working because I should be enjoying the weather!

- I only ever felt proud of a day's work during a stellar day. Anything less made me feel inadequate (in the office, I feel good about what I accomplish and don't feel guilty about less productive periods).

- My pets do not come to the office. I love them, but they are distracting!

> - I only ever felt proud of a day's work during a stellar day. Anything less made me feel inadequate (in the office, I feel good about what I accomplish and don't feel guilty about less productive periods).

This. Surely this should be considered a fair drawback of office work?

My qualms are with the fact that office work seems to sorely hinder one's ability to self-report about actual productivity. Whilst this is lovely for one's mood (the value of which should, admittedly, not be understated), it seems to bode ill for effectively self-managing one's efforts to get work done.

"Offices are a good idea for many jobs today, but there is one specific case where I think they’re no longer beneficial: software companies. What do programmers do all day?"

See what just happened there? The author jumped to the conclusion that "software companies" employ nobody except "programmers". That might be true for a tiny start-up, but once you reach a certain size, all types of other jobs spring up:

- Managing payroll, health insurance and other benefits

- Sales and marketing

- Legal and accounting: someone has to negotiate the contracts for data center services (even if all the services are outsourced); someone has to pay the company's bills; someone has to do the taxes and other legal paperwork (lots of extra paperwork if it's a publicly traded company); someone has to reimburse employees for travel and other expenses.

- Recruiting

Imagine a software company with just a hundred employees (not a very big company at all, compared to Facebook's 5000 or Google's 45000) that consists of just people working from home. It doesn't seem to scale.

Why wouldn't this scale? Sales people typically only work out of offices a couple days a week if that much. They can make sales calls from anywhere and typically close big deals in person outside of their office. Is there a particular reason you think this wouldn't work apart from no one is doing it now?

Distributed companies require strong product and project management cultures - if it's a product that's sellable by sales people, there might be a dozen tweaks a day that might flow in engineers' direction - TSV export on top of CSV, change the gradient schema to a darker blue color, find out why two records are missing from a large customer's account, etc.

In tight shops where sales sits next to engineers and personal relationships are built, those small issues tend to get resolved rather quickly, leading to happier parties on both end, happier customers and higher product quality.

In distributed shops request must flow through a gatekeeper, such as project manager, who then keeps and prioritizes a list of such requests. Sales people then complain that nothing ever gets done, and requests go into a vacuum, while engineers complain about too much bureaucracy and inability to concentrate on large projects with all the pesky requests streaming in.

Yep. The company I work for (75-100 employees) is currently split between two offices, literally across the street from each other. Development, product, and QA are in one office, while sales, marketing, retention, accounting, and founders are in the other.

Even though we are literally across the street from each other, and even though we are together with like co-workers and departments, we've felt the same issue you've described here.

This is because we have grown lately and expanding our physical space has been... a complicated procedure. I'll be glad when we've moved into a single office again, which should happen by the end of the year.

> In distributed shops request must flow through a gatekeeper, such as project manager,

Why not a web forum or a chatroom? Some chat software even allows screen sharing.

If the company culture is supportive of such collaboration, that's a great thing to cherish. Frequently with no codified processes engineers would adopt a NMP ("Not My Problem") attitude, with questions getting ignored, and the rest of the organization paying less attention to the channel.

Remote working isn't for everyone.

The hardest part is motivation, not necessarily because the temptation to goof off is higher at home (sometimes it can be the opposite, if you are in an office where goofing off is common).

You don't get the human reactions to your work. For example you can't build some feature and just grab the nearest person to show and see their subtle reactions to it. You don't get to walk past another part of the building and see a room full of people using your software to get their work done or whatever the effect of what you are doing is.

Instead you end up sending an email at 7PM saying "I have completed item #232" and you get one back the following morning saying "ok, proceed with item #233".

There really could be an encyclopedia of challenges for working from home. It is hard to do right. It took me over half a decade to feel like I really had it figured out. Combined with running my own company was quite a challenge.

Social isolation, stress, illness, lack of exercise, are things that people who work from home face. Without deliberate action you can develop life threatening conditions after just a few years of neglect.

Offices, working together in person, can add a great deal of value and productivity to a task. I'm not convinced it is so valuable as to do daily.

Be mindful and pay close attention to your own personal health and relationships, and working from home can give you the opportunity to live a drastically higher quality of life.

I agree with you, but this is purely a software problem. Something like https://www.sqwiggle.com/ solves most of the human interaction issues. And if everyone could view everyone else's desktops in real-time, that would let you strike up conversations with others about what tools they're using.

Everyone in this thread seems to be talking about remote collaboration as it exists today, but I'm talking about how it will be in the future. The software isn't there yet, but it's bound to get there eventually.

Why don't you just grab the nearest person on IRC?

Also, the way your write it sounds like you and your teammates communicate so tersely as to be an impediment. Don't do that.

In every office I've ever been in, all the programmers type to each other all day long on IRC. In all the distributed workplaces I've ever been, they do the same exact thing, miles apart.

Talk to each other. All day long. Constantly. On IRC. Just like you do in an office.

I don't know if IRC is a great substitute for seeing a personal reaction complete with body language. Just little things like seeing whether someones eyes light up or glaze over when you show them something.

IRC can also be easily ignored as people go "AFK" or "busy", it's harder to ignore someone standing in your face.

I really think you hit the nail on the head. In a really good group, instant social feedback can be a big energizer. I think its pretty necessary to keep going after a while. Maybe you can get some of that remotely, but nothing replaces getting excited by other people in person.

>Well, the whole point of an office is to get work done.

I'm not sure about that. The whole point of an office seems to be to allow management to verify that you're getting work done. Or, to put it even more accurately, to allow management to feel like they're verifying that you're getting work done.

I'm not sure Floobits addresses that. In fact, I'm not sure that it's possible for a product to address that. It seems like the sort of thing that'll require a generational shift (as newer managers comfortable with remote work replace older managers who aren't).

> The whole point of an office seems to be to allow management to verify that you're getting work done.

This part is pretty easy. Whether remote or working in an office space, daily standups, commit logs and the delivery of results can go a long way in figuring out if someone is actually getting stuff done, or is just pretending to busy at a desk.

There are a couple of things people don't seem to address enough though.

- A lot of software development involves a group people designing and debating the architecture in front of a whiteboard. Most of this discussion is not preemptive, but rather happens on the spur of the moment.

- I strongly believe (but no data to back this up) that you are more productive when you work with a team you are comfortable with, both technically and on an informal social basis. This involves intense coding sprints through late nights or just having a couple drinks at the bar in the corner of the street.

I would be happy if working remotely really works for programmers, but everyone seems to be talking about the wrong issues.

> to allow management to feel like they're verifying that you're getting work done.

You hit the nail on the head for some offices. In some offices there's a clear ridiculous condescending paternal feeling as if punching a clock is going to affect the quality of the work in any way other than damaging morale.

There are two types of people, those who feel energized being around people and those who feel energized by internal deliberation. Offices exist to satisfy the first category.

What is happening though is that the valuable work of today is conducted by internal deliberation (building apps, predicting prices, writing compelling blog posts).

As it becomes more possible for people to distribute their work without a company (app stores and the like), the office will be bled dry.

I've often felt similarly, having worked on a number of remote projects.

But at the end of the day our efficiency/productivity in making major decisions is much higher when we gather. Technologically, this is driven by 2 things: 1) Whiteboarding software just isn't there. I can't as effortlessly sketch something out and share it with remote people as I can on a physical white board (which is arguably as relevant to "software companies" as actually writing code). 2) Audio/visual latency still exists. Even if I closed my eyes, I could still tell who's in the room and who's not. Sometimes I'll come in just for a meeting because of this.

I do think a happy medium exists in much smaller offices/coworking spaces where most people are WFH a lot but come in once a week for meetings.

I'm quite fond of private offices per engineer, with sets of four offices with doors pointing inward into a hallway. This allows each engineer to easily do a quick chat with the two across the hall, and a tiny walk brings you into your neighbor's office.

As the article points out, private offices are considered more expensive. The question is, how expensive are they? Is it the increased floor space they take up? The cost of the materials for walls and doors? More complex heating and cooling?

It's a sad trend indeed; here in Tokyo private offices are almost unheard of, and even back home in the SF Bay Area private offices are quickly going out of fashion.

The fact is that, for some engineers, auditory and visual distractions can ruin the focus needed to achieve goals. Open plan and cubicle offices are hell for these engineers.

Thought: A team of competent people will work together well no matter their physical situation.

Thought the Second: It's going to take some really _good_ software to replicate the intangible benefits found when people work in the same office. Overheard hallway chats, oh-by-the-ways in the break room, impromptu white board discussions.

Thought the third: Because these intangibles cannot be measured, a majority of HN readers are going to have a difficult time seeing the value of them. Commit messages, working code doing something - you can measure that, and it is good.

How do you measure the value of a game of ping-pong during lunch?

It's alright to work from home once you get past the wanking stage.

our commercial offices house sales professionals and executives. board rooms, client meetings, land lines, water coolers, coffee machines, nice views of the city.

most of our programmers work remotely from their homes, and our systems administrators work from home and in the datacenter.


Where do you work if you don't mind me asking?

What do programmers do all day? They read code. They write code. They read docs. ...

How are programmers different than bloggers, secretaries, online and social media marketeers, customer service reps, etc.. in this regard?

Secretaries are different because their job is to work with someone else. All the others you mention should be able to work from home the same as programmers, imo - are you saying they shouldn't and therefore programmers shouldn't, or asking why people here care about programmers and not social media reps?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact