I agree to TechTarget’s Terms of Use, Privacy Policy, and the transfer of my information to the United States for processing to provide me with relevant information as described in our Privacy Policy.

Please check the box if you want to proceed.

I agree to my information being processed by TechTarget and its Partners to contact me via phone, email, or other means regarding information relevant to my professional interests. I may unsubscribe at any time.

Please check the box if you want to proceed.

By submitting my Email address I confirm that I have read and accepted the Terms of Use and Declaration of Consent.

remotely and offers a method for how to do it effectively.

Copeland leads nearly 90 developers at Stitch Fix, a San Francisco-based personal shopping and style service. He's been with the company more than four years and has spent that time working remotely from Washington, D.C.

As director of engineering and senior-most contributor to Stitch Fix, Copeland interacts daily with developers, users, business people and vendors, he said, noting that of the nearly 90 developers on staff, more than half of them do not live in the Bay Area -- and those that do, don't come into the office every day.

Moreover, as the third developer hired by Stitch Fix, "Me and developers one and two decided we were going to make remote [development] work because I was not moving to San Francisco, Copeland said, speaking at the recent QCon New York conference.

Copeland said that working remotely gives developers a sense of freedom and flexibility, and supporting remote developers also benefits employers like Stitch Fix.

"They get access to a wider pool of talent," he said. "There are a lot of really amazing developers that don't live in Silicon Valley," he said, adding that "there is always more work to do than there are engineers."

"Remote staffing in software development has become very common as the quickest path to scaling a development team," said Rhett Dillingham, senior analyst of cloud services at Moor Insights & Strategy. "Software development has become further suited to remote work as collaboration tooling has improved, for example with GitHub, JIRA and Slack, and as open source development has grown the culture of global scale development norms -- for example, in projects like Docker, Kubernetes, Cloud Foundry and OpenStack. DevOps has followed this trend in that the operations-focused roles have been further enabled for remote work as the tooling has enabled more seamless development and operations collaboration."

DevOps requires flow and feedback to succeed

In the DevOps world, the principles of flow and feedback are key as companies need to constantly bring new business value to the market to remain competitive.

Remote staffing in software development has become very common as the quickest path to scaling a development team.
Rhett Dillinghamsenior analyst of cloud services, Moor Insights & Strategy

"That kind of work requires constant communication and creativity," said Mik Kersten, co-founder and CEO of Tasktop Technologies and creator of the Eclipse Mylyn project. "I've noticed that full remote and asynchronous modes of work are insufficient. Even if we could get all the developers into a single location we could never get all product managers, support and other staff into the same space. Yet collaborating across those team boundaries is what DevOps is all about. So now we ensure that all planning meetings are done with video conference to level the field between local and remote team members."

Tasktop also brings its people together for regular face-to-face meetings to foster the relationships that help make great teams, Kersten said.

"This gives us the best of both worlds, in terms of leveraging the talents of remote staff, while fostering cohesive and highly collaborative team structures," he added.

Remote developers must master communications

The element of trust is crucial for remote development, Copeland said. And remote developers need to have four mindsets to build and maintain trust communicating frequently and clearly, being responsive but setting boundaries, assuming good intentions of their co-workers and helping others to help the remote developer.

"You really have to double down on being good at communication and being clear and building relationships and trust with people," Copeland said in an interview. "Because if you don't trust somebody they're going to think you're a talking head."

Copeland noted that a base level of technology is required for remote developers to be effective. A chat system is required, he said, as well as a video conferencing system that supports multiple users and a good microphone for each user.

Regarding synchronous communication, Copeland said, "I hope that we have holographic telepresence someday," but until then seeing each other on screens will have to do.

Often, remote developers like Copeland are among an organization's top development assets. Grady Booch, an IBM fellow and chief scientist of Watson/M at IBM, works remotely from his home in Hawaii and has been doing so for years.

Booch told TechTarget the requirements for successful remote development include:

the ability to communicate clearly, concisely and confidently on all technical matters;

tools that make possible a sense of presence -- throughout a day Booch is on Slack, he's texting, he's taking various Zoom meetings, and is an active presence to his team;

time for opportunistic and personal connection, because meeting face-to-face from time to time and developing a trusted connection is essential; and

management support.

Maintain a focus on shipping products

"[Working remotely] is not a thing where you just install Slack and everybody's good," Copeland said. "You have to constantly upkeep your remote experience."

For instance, when coding, remote developers should try to turn big projects into smaller ones so they can get their work out in front of people more often and demonstrate a cadence of productivity. Remote developers should also learn to screencast and diagram, Copeland noted.

In addition, remote developers ought to consistently show that they are driving toward shipping things and avoid spending hours heads down on anything, Copeland said. They instead should develop service-level agreements or SLAs for all forms of communications.

Remote developers must also be willing to travel to meet with other team members, he said.

Asked what advice he had for lead developers, Copeland told the audience at QCon, "I would say finding a way to drive things to completion expediently. Remote or not, getting things done, showing a result that is demonstrable and clear is super important. Because talking about a result is way better than talking about a theoretical thing you can do."

2 comments

Register

Login

Forgot your password?

Your password has been sent to:

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

Excellent Article! Couldn't agree more with your point regarding breaking big projects into small pieces. Here at FastStack.us we've been providing start-ups as well as mature organizations with engineering muscle for over eight years.

ALL our team members work remotely.

We never build a sprint that planned to last more than two weeks and once we get a client into production we prefer to push weekly.

* Wrap a sprint every Friday.

* Work into the weekend if you didn't handle your piece during the week.

* Complete testing on Monday.

* Age code on stage for a week or two.

* Production push on a Tuesday.

* Later rinse and repeat.

It just doesn't make sense to tie your business to a geographical labor market and then pay to house and furnish for an engineering team when you can access fully managed top talent across the entire continent through a company like ours.