Grooming effective remote developers in the world of DevOps
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
Source – searchsoftwarequality.techtarget.com
David Copeland, director of engineering at Stitch Fix, is an advocate for allowing software developers to work 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.
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.
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.