On Working Remotely

I have been working with teams that are spread across countries (USA, India (Bangalore and Chennai) and europe). It has its own advantages but there are pain points to if teams are not ready to cooperate.

I agree. Future is in global teams.

The other problem is that once you’re senior enough to merit working from home, you are quite likely to be expected to mentor more junior people - who don’t, can’t, or aren’t trusted to work from home. Oops.

Again, this kind of thing is a fantasy - vastly oversold - in my other hobbyist field (transportation); most people will never and can never telecommute for more than a trivial number of days per year, period.

FINALLY! Someone willing to say remote development is hard and that it takes time to get it right. Great job! We just merged with our development partner in Costa Rica and we do nothing but remote development. I think we’re pretty good at it but that’s because we spent the time to do that, to understand what type of engineer it takes and how you manage the project. Here’s what I would add:

  • You should always hire awesome developers remote or not. The bar should be high even if you sit together.

  • The best engineers we have found for remote dev are the ones who know how to ask questions back. The product owner is counting on you 100% to see when the product is not coming together and to escalate that up. Like when you spoke with Joel, he is counting on you to know what needs to be discussed most of the time.

  • Remote with only 1 guy? Really tough to do well. Plus, most guys who are good enough to create killer products alone don’t touch the ground between jobs.

Bob Benedict
Avantica Technologies

Jeff,

Really great points on a super important topic. All your ideas are spot-on. I’ll add five more observations that I think are strategic problems for everyone dealing with distributed software teams:

  1. Fundamentally a lot of the hard problems in software still come down to getting a group of intelligent folks to huddle around a white board and brainstorm. Powerpoint and Skype just does not provide an effective medium for that dynamic.
  2. When I interviewed James Gosling, inventor of Java, in Making it Big in Software (http://amzn.to/b08auR) he raised a key issue around mentoring. It’s really hard for the next generation of up and coming software engineers to learn and grow from the gurus in their organization when they are remote. This poses a strategic problem for any organization, because your future depends on building that next wave of talent.
  3. Team building is important too. There’s a limit to how much trust and esprit de corps team members can build across Skype, instant messaging, and telecons.
  4. The time gap can be disruptive, especially when it’s more than two or three hours. Try doing a daily scrum when you have some people in Palo Alto and other in Beijing!
  5. From the individual programmer’s perspective, remember that if you’re out of sight (off site) you’re probably out of mind. It requires a much larger effort than normal to stay connected, and stay front of mind with the people who decide your next promotion or salary increase. To protect your career when working remotely you need to spend a lot more time communicating to others what you are accomplishing, and trying to maintain some social connection with people at the core of your professional network. I think a reasonable way to think of this is that for the 2 hours you’ve saved commuting, you’ll need to invest an extra hour every day in communication. It can still be a net win.

From the team’s perspective, if the finances allow it, there is still a lot of value in bringin people together face to face, even if it’s just once ayear, and even if it can’t be the entire team.

Technology is improving the effectiveness of distributed teams, but we are far from having an elegant solution. We’ll find the elegant solution eventually. I hope it’s soon.

Sam Lightstone
Author, "Making it Big in Software: Get the job. Work the org. Become great."
http://MakingItBigCareers.com

What’s all this about humble characters being insufficient to fully and effectively communicate online??

Why, I oughta… ಠ_ಠ

M1EK: I don’t think what Jeff is describing excludes agile at all. There is no reason that face to face can’t mean video chat. I approach any of these development philosophies as guidelines not a rigid set of rules. Adapt and use them in ways that help you and your company.

Work Ethic, as mentioned by others, is the ONLY requirement for remotely working, regardless of field.

The people with the highest work ethic, in general anyway, are the same people who absolutely love their jobs. Most coders that I know love to code, regardless of their talent level so most coders are fine working remotely.

I’ve worked with all levels of programmers, from true coding genius’ (which are very rare IMO) to expert programmers to moderate and casual and novice programmers and the only thing that makes any of them work well remotely is a strong work ethic. Programming isn’t about talent, its about understanding of logic and structure. What a novice doesn’t know he can easily learn provided his understanding of HOW things work is there.

JMO. Newbies are just fine to work with and in fact, can be a benefit as every app, web or software based, has parts that are easy yet tedious that more experienced programmer’s can’t be bothered with yet newbies can do while letting the experienced programmer’s work out some of the more difficult tasks.

I’ve been working from home ( one man dev team ) for the past year. I like it, and have no problems motivating myself.

Like working in an office, it’s not for everyone. I’ve found it’s a little hard to find employees / contractors that are willing / able to take instruction / give updates over the internet, but they do exist.

Some tips and a pros/cons list of my experience coding remotely. https://coderwall.com/p/0ikc0w?i=1&p=1&q=author%3Alee101&t[]=lee101

It’s a great article. Now I’m trying to understand how remote working works. Jeff talked about a kind of programmer named TOP PROGRAMMER and I was asking to myself what kind of knowlegde or experiences I must have to be “a top programmer”. Can I revive this old topic? Thanks in advance

This aged quite well, interesting.

We needed Covid for everybody [that is, especially companies] to realize that home office can totally work, though.

2 Likes