7 ms·
On Working Remotely
- edw519 16y agoOne guy working all by yourself alone. This didn't work at all for me. Funny, I have trouble working any other way. I was unmoored, directionless, suffering from analysis paralysis, and barely able to get motivated enough to write even a few lines of code. I am totally grounded with tons of work and a million ideas of what to do and how to do it. I'm having so much fun, my biggest problem is finding time to triage all the possibilities in my head. I understand OP, but that's just not my experience. Programming can be a lonely lifestyle. I have my code and my cats to keep me company. I love them both. [EDIT: I don't want to leave the wrong impression; I am very social and used to find it challenging being alone. Not anymore. I just bury myself in my work, which is something that has to be done anyway. Now I don't want to be bothered when "I'm busy", but I do want to be bothered at most other times. Dinner with SO, time with friends & family, and visits to the hn virtual water cooler fit in perfectly. Now back to work - see you in a few hours.]
- inerte 16y agoSince you and lukev shared similar experiences and are currently modded highly, I want to say I am the opposite of you and more like Jeff, but like he said, maybe we're a rare breed among programmers. People make me feel empowered. I enjoy the watercooler talk, I feel depressed when I lunch alone (really, really down. For days). I like to talk, I like to make people laugh. I think the lesson is to know who you are. Jeff and me like social, you and lukev like more lonely. Don't rely on blog posts telling what's better, find what works for you and go for it.
- TheSOB88 16y agoOh God, eating alone is the worst. Especially at a sitdown restaurant. It's like God teasing you about your lack of friends.
- ojbyrne 16y agoEat at the bar if you can. Sometimes its actually an advantage because you can get a single seat at the bar even when all the tables are filled. I do agree with your sentiment though.
- deleted 16y ago[deleted]
- eoyola 16y agoFor me eating alone is a special privilege of being an adult that I enjoy sometimes and has its benefits. Regular eating alone might actually make me a healthier eater in the long run. I recommend both eating alone and also eating with company of course but pls. don't pity yourself. If you do then it will be easy for others to think there's something to pity about you.
- mturmon 16y agoProbably you're the only one at the restaurant who cares that you're eating alone. Certainly your dinner alone is well below Yahweh's interest threshold. So, relax, slow down, and enjoy your meal. Because you're not busy talking, you can appreciate your food better.
- mey 16y agohttp://en.wikipedia.org/wiki/Extraversion_and_introversion http://en.wikipedia.org/wiki/Extraversion_and_introversion The Myers-Briggs indication that Extraverts gain/draw energy from socializing, and Interverts find socialization to be an drain on their own energy, could be readily applied here.
- lukev 16y agoWow. I guess I'm completely different from Jeff. I have no need whatsoever for a "coding buddy." I'm considerably more comfortable working on a project solo. Even with a good team, I hate the coordination overhead. I can, of course, and good team skills are important. I'm not saying that. But the coordination costs of software development increase super-linearly, so I tend to prefer using the minimum number of people that can possibly do a job. The break-even point is around 4-5 - after that, adding more people makes things slower, unless you can split the project into autonomous chunks.
- acro 16y agoAnd it sometimes seems very difficult to explain to the management types that adding people to the project will not make it go any faster.
- lukev 16y agoOh, no... they don't add people. They add "resources."
- hello_moto 16y agoSaw this in a software as well recently. There was a grid/table for adding/removing employees. But the title said "Resources".
- gaius 16y agoYet they sure don't like being referred to as "Powerpoint resources".
- MartinCron 16y agoEven though it was 15 years ago, I still vividly remember the disquiet I felt the first time I heard the term "human resources". It felt so Soylent Green to me. Even though he's not universally popular around here, I'm going to admit to liking Seth Godin's "Let's call it the talent department" argument: http://sethgodin.typepad.com/seths_blog/2008/02/marketing-hr.html http://sethgodin.typepad.com/seths_blog/2008/02/marketing-hr...
- grnknight 16y agoRemote work and distributed teams provides one heck of a challenge for sure. We've been finding our way by trying different things and succeeding or failing - but I certainly agree with what Jeff Atwood said about keeping up with chat and mail lists... We're very cross-platform, so video chat doesn't work all that well for us across Linux, Windows, and Mac, etc... But I think the weekly status reports to the team has been forgotten, so we'll have to start that up again. :) I did a presentation for EclipseCon 2010 about our challenges that you can find here (with links to a slide): http://www.eclipsecon.org/2010/sessions/sessions?id=1156 http://www.eclipsecon.org/2010/sessions/sessions?id=1156 Great article though. Today it's nearly impossible to avoid a distributed team to get stuff done!
- liedra 16y agoIt seems a bit odd to me that he talks about working remotely and how awesome it was, but then all the coding jobs for his site (which he was somewhat selling in this entry) are for people "in an office in NY". But I agree, if you're working by yourself, you definitely need a very structured workplan, and it's very good to have someone to "report" to, even if they're not coders, but just as a grounding point for feedback and a passive nag to not slack off and get things done.
- bmj 16y agoI've worked on a distributed team for three years now. We've found that regular phone conversations and weekly "status" emails (nothing formal) really help the process and keep everyone connected. Typically we use email and Skype to communicate, but if an email conversation begins to get too unwieldy, we simply get on the phone.
- DanielBMarkham 16y agoGood article. The part that was missing was: your mileage may vary. I love hearing about how teams make it work. But over and over again I see a team do things one way that worked wonderfully well for them and then everybody else just copying that. Then it doesn't work. Every project is a new game. It's a well-worn anti-pattern
- matthewcford 16y agoSome good tips in here, we run a fully distributed team and had overcome similar challenges. One tip I would add is pair-programming on complex parts or sticking points through screen and vim, we have an ec2 instance dedicated for pairing which everyone has access to.
- technomancy 16y agoI was surprised at that omission from the article. Getting tools to ease remote pairing is one of the most challenging things about remote work. We ended up making Emacs a hiring requirement just because working from screen is such a crucial part of what we do.
- matthewcford 16y agoyes, vim or willingness to learn is currently a hiring requirement for us. Not a religious thing, just happend the first two guys we hired preferred vim.
- S_A_P 16y agoI disagree somewhat. I dont feel that I "Bleed ones and zeros" but find the solitude in my home office far less distracting than an office cubical, and tend to be way more productive. I think you really just have 2 basic types of people: those who want to get their work done(and do it well) and those who arent really committed.(for whatever reason, incompetent, lazy, bad work ethic, not interested in the work, etc...) If you have a team of the first type, you will get things done, if not, you wont. A less experienced developer with motivation to get things finished will not let distance get in the way.
- robryan 16y agoI agree, I'm sure there are lazy seasoned developers that love programming more than anything. People that are likely to get distracted by new stuff and their own projects. Regardless of skill level there are people that work well from home and others that don't.
- mattchew 16y agoYup. I think Jeff is making a faulty generalization here. I've worked remotely for years, quite successfully. While I wish that meant I was a super rock star code god, it ain't so. You do have to be reasonably conscientious, but you don't have to be a elite coder.
- MartinCron 16y agoNot to go off on a tangent about office architecture, but I feel that cube farms are the worst of all worlds for any intellectually demanding work. One extreme, private offices for everyone, works pretty well in that you have quiet when you need it and you can also collaborate verbally without disrupting others. The other extreme, a bunch of people in one room, works pretty well in that you can get a peripheral sense of what everyone else is doing, talking to the person next to you doesn't require hollering through 3/4 height walls, and you can always put on your headphones to signal "leave me the heck alone". The middle ground, cube farms, tend to eliminate both useful silence and useful noise. Personal preference matters, too. Some people just can't function in a noisy bullpen environment, while others tend to just "go dark" and run in the wrong direction if left alone. My company is planning on moving into a new office space divided into just two sections, one speaking-in-normal-tones-is-OK bullpen, and a distinct shut-the-hell-up fishbowl space to accommodate the different work styles. I'm eager to see how it works. I actually see myself shuffling from zone to zone depending on the nature of what I'm working on.
- jasonkester 16y ago"The minimum remote team size is two." By definition, I suppose, since a one-man shop has nobody to be remote from. I disagree though. I'm self motivated enough to run with stuff on my own. I've built a lot of big successful things with a team size of one, and I find it the perfect team size during the prototyping and buildout phases of a project. Sure, once you hit maintenance mode it's nice to have another person along to share the pain and help generate the discipline needed for months of refactoring and slow iteration. But when you're actually building something, I'm all about small teams. So now we have two datapoints. If I were the author, I would have gathered a few thousand more before publishing this article.
- someone_here 16y agoMumble is a great project that works well for teams. Low bandwidth, high quality voice chat. http://mumble.sourceforge.net/ http://mumble.sourceforge.net/
- BudVVeezer 16y agoOddly, at my last job, we used ventrillo. I happened to have a server from playing WoW, and so I just had the rest of the team use it. Cross-platform, low-bandwidth, and worked awesome.
- mbrubeck 16y agoIt's much better working on a truly distributed team than being the one remote worker on a mostly-centralized team. My group at Mozilla is distributed across seven cities (I think) on two continents. We use all of the techniques Atwood listed. At Mozilla, where a large portion of the staff is in Mountain View, it helps that my manager is working remotely just like me - so I'm not more remote from him than anyone else is.
- jasonkester 16y agoAt the risk of plugging my own thing, this situation is the reason we built Twiddla, so I'd recommend checking it out if you're trying to build stuff with a distributed team. Mostly it was to deal with communicating little graphical changes to remote designers without resorting to MS Paint and email, but it does chat and voice too, so it pretty much wraps up the whole "tools you need" section in one thing.
- pppglowacki 16y agoHi, from personal experience, our 2-man team found TeamViewer a bit more useful though. Twiddla has its strengths but it failed when we tried to share a dynamic website. It only excelled in sharing static websites so we were unable to share websites that required a log-in or a form submission. We ran in to a lot of time consuming problems when using Twiddla so we abandoned it because we just did'nt have the time to play around. I guess it is more for communicating with remote designers and it definatly is way better than MS Paint.
- ben1040 16y agoI can't stress enough the persistent part of the "persistent mailing list." I worked as a remote employee in a group where we had half the team (couple dozen folks) in an office in Toronto, and the remainder of us scattered about in remote sites across the US. We had a mailing list for questions along the line of "Hey, this question is important but not enough so to bug anyone in chat." It wasn't persistent in any usable manner; it archived to an Exchange shared folder hosted in the main office, and I learned that searching these folders over VPN was an exercise in futility. Basically then you'd have new people hiring on and not having the organizational knowledge pent up from all the decisions made in the past. They'd make bad decisions in their work because either a) they couldn't search the list for help and just decided to cowboy it, or b) they mailed the list, got blown off for asking a question that has been asked dozens of times before they showed up, and will just cowboy it the next time.
- dpritchett 16y agoThe best enterprise collaboration tools merge read-/post-by-email features with a rich web application. This gives everyone a chance to stay in touch whether they're on a laptop or a blackberry. Edit: Forgot to add my agreement that Google Groups-style search and archiving is key as the parent poster asserted.
- c00p3r 16y agoI wonder how the projects like freebsd, webkit, chromium, and thousands and thousands more are successfully going on without such pathos and attempt to impress the world. Shared culture and vision plus trac with several plugins (or code.google.com) are enough.
- joubert 16y agothe fact that people are "chatting" on HN seems to prove his point that you need human contact during the work day
- dan00 16y agoI'm working remote and love it. But I'm a very introvert guy. I don't like smalltalk, I don't like talking to a group of people, it exhausts me. But I love to philosophize with one person, when one thought generates another one, when both appreciate the thoughts of the other and go together beyond their own border. Most of the communication with my teammates is done by phone and a request tracker. If someone develops a new feature or a customer has a demand, everything goes over the rt. It works pretty well, you can always see what your teamates are working on, and how they solved a problem.
- msg 16y agoHe he, I did a double-take when you said you didn't like smalltalk. I was like, hey, object-orientation isn't so bad. Guess I am one of those introverts too.
- dmn001 16y agoTeamviewer, DropBox and Skype are the best tools I've used for remote working.
- morbidkk 16y agoadd mikogo and callgraph to it