With only a proportion of developers classified as key workers, the majority of programmers will have been forced to work remotely, often in solitude. Lack of face-to-face meetings can eat away at team morale and some team members may become withdrawn and more isolated.
The pressure to develop new software will continue to increase, but for team leaders and senior IT decision-makers, getting more work done – often with less budget – needs to be balanced with the fact that software developers working from home may well be juggling work with childcare duties, looking after sick relatives and home schooling.
Research from cloud communications platform Twilio reveals that nearly all (90%) chief technology officers and senior IT decision-makers at UK businesses view the role of software developers as important to compete in their industry during the pandemic.
According to the study, based on a Vanson Bourne survey of 400 IT decision-makers in January 2021, there is a widely accepted view that technology can be used strategically to rebuild and reconfigure businesses as they plot a path through the coronavirus crisis. This puts software development skills in the front line of business development, creating new line-of-business applications and reworking existing processes encoded in software to adapt them to rapid changes in public policy.
From a programmer productivity perspective, what really matters in programming circles is how much functional code has been developed, tested, secured, managed, deployed, maintained and pushed into live production. Have “code commits” increased or decreased? Have developers been just as productive by communicating over messaging systems and video collaboration platforms? Have periods of quarantine, lockdown and self-isolation actually allowed more work to get done?
Code productivity metrics
GitHub’s Octoverse 2020 productivity report illustrates how software development productivity during the pandemic is either consistent with the baseline or has increased. The report includes activity from more than 35,000 organisations covering the 12-months to September 2020. A pre-pandemic baseline can be established and changes observed during the first six months of the movement to widespread home working.
“In March 2020, there was a sharp decrease in the number of code commits. While this metric is far from perfect, it does provide good insight into developer productivity,” says Darren Broemmer, developer evangelist at DevGraph. “Organisations were figuring out how to adjust to remote-first work conditions. Engineers made the switch and the realisation settled in that this would be the new normal.”
Speaking about his own experiences, Broemmer says he was very particular about his workspace. This is generally true of many full-time software developers.
“Who can be productive with only a single monitor? Many engineers simply did not have a great setup at home. They probably had a desk where they could work, but used it only occasionally on a sick day or while waiting for a delivery,” he says. “I quickly realised that a stand-up desk for my home office was an absolute necessity. It didn’t matter that my corporate employer at the time wasn’t going to reimburse me, it had to be done. I simply couldn’t sit all day.”
Getting the right workflow
One contributor to the Computer Weekly Developer Network (CWDN) is Will Blew, a software engineering manager for Linode, which provides cloud hosting and infrastructure tools. Since he started working remotely every day, he says the most common challenge is that some workflows for software development do not work well in a remote environment. This, he says, can be upsetting and lead to lost productivity, but it should also be an opportunity to look at how the stress points can be eased.
“One thing I’ve changed since moving to fully remote working is asking about things related to remote work during my regular team one-on-ones. It’s important that everyone on my team has the things needed to do the work in this new way”
Will Blew, Linode
“One thing I’ve changed since moving to fully remote working is asking about things related to remote work during my regular team one-on-ones,” he says. “It’s important that everyone on my team has the things needed to do the work in this new way.”
For instance, team meetings that used to be conducted in-person are now based around online whiteboards and other collaborative tools. “Pretty much any time we would have used some type of physical tool we’re looking for an alternative so we can all collaborate wherever we are in the country.”
Video-conferencing tools such as Zoom and WebEx have become the preferred method for office workers to interact and collaborate, and they also seem to work well across software development teams. For more formal collaboration, tools such as Slack and, increasingly, Teams, are being deployed.
Another CWDN contributor, Matt Yonkovit, head of open source strategy at Percona, says it encourages social interaction and making time for personal conversations. “Using tools such as Slack groups allows our team to chat simultaneously about work and life-related issues,” he says. “We have specific groups set up for people interested in a whole range of topics, from pets, to cooking, to sports. We also encourage video chats, with cameras on, for team and product meetings. Not everything needs to be on Zoom, but it does feel different when you can see and interact with people.”
“Using tools such as Slack groups allows our team to chat simultaneously about work and life-related issues. We have specific groups set up for people interested in a whole range of topics, from pets, to cooking, to sports”
Matt Yonkovit, Percona
Collaboration is different when team members cannot physically meet. In terms of development practices, Yonkovit agrees it’s hard to stay connected with the team if you are used to that office collaboration and culture. “Having standups on Slack or Zoom can help, but it’s more difficult without the watercooler conversations or the whiteboard sessions where people can bounce ideas off each other,” he says. “This is especially true when developers need to work with other teams in the business.”
Yonkovit believes remote teams can be more successful if they are smaller and already tight-knit. “Having a close relationship with the infrastructure or database team, or with site reliability engineers and other external groups, is a lot more complicated when you scale up the team. This can mean things get missed or taken for granted,” he says.
Socialising for team coherence
Computer Weekly has heard, anecdotally, that at least some software developers miss the creature comforts that come with a funky workplace environment, such as soft seating breakout areas, a pool table, coffee machines and even free pizzas.
For CWDN contributor Holly Cummins, worldwide development lead for the IBM Garage for Cloud product family, it is the daily commute. “I didn’t expect that I would miss my commute,” she says. “The journey to and from London gave me head space to think about projects and catch up on emails and social media. I now need to set aside time for those things. I don’t miss crowded public transport though.”
New ways to keep the team spirit going during lockdown are needed. “At first, we tried to replicate the Friday social drinks, but it just wasn’t the same on a video call. More successful was fancy dress Friday where people got more creative and crazier than they would have dared to in the office,” adds Cummins.
Read more about developer productivity
- Developers work best when distractions are at a minimum, yet most organisations simply aren’t doing their part to reduce them. Be brave and try these three aggressive methods.
- Unproductive development teams aren’t necessarily staffed by unskilled or unmotivated workers. Give developers a boost with these concrete strategies, not strict mandates or inspirational posters.
She says a team member’s dog has become a bit of a celebrity on some conference calls. “We get to see Toggle frolicking in the field when we have calls while our practice manager is walking him. Also, most of us have had those occasions when we’re on important calls and our kids barge in to tell us something ‘urgent’ – those lighter moments help the team with the strange situation we’re in.”
For the people who contributed to the CWDN blog, while online collaboration platforms and video-conferencing tools have a role to play, they do not replace the value of face-to-face meetings.
“The best thing about returning to the office will be having tea with my colleagues. It’s not even drinking the tea, it’s getting tea in a big group that I’m looking forward to. I’m convinced we do our best and most creative problem-solving on the walk to and from the kettle”
Holly Cummins, IBM
Not being able to attend conferences has had both positive and negative effects. “Most of the tools we use, like Slack, WebEx and Trello, were already part of our work before the pandemic,” says Cummins.
“Our team can now virtually attend or speak at conference sessions anywhere – opening up a new world of opportunities to learn and exchange ideas. But the serendipitous interactions at a conference are just as valuable and we miss those. I’ve been trying out Spatial, a VR [virtual reality] platform where you can move between groups and conversations at virtual events – it will be interesting to see how that develops.”
While it is entirely possible for developers to install the best hardware and programming environment with multiple monitors and comfy seating to build a perfect home workspace, Cummins believes the missing ingredient is tea.
“The best thing about returning to the office will be having tea with my colleagues,” she says. “It’s not even drinking the tea, it’s getting tea in a big group that I’m looking forward to. I’m convinced we do our best and most creative problem-solving on the walk to and from the kettle. If a few of us are talking about a problem, sometimes a teammate who just came along for the walk will come up with the best solution. Even if we’re talking about something else entirely, stepping away from the problem combined with a bit of exercise has a way of untangling problems.”
Read more on IT management skills
The ephemeral composable stack - Copado: Orchestrating cloud-connected DevOps
Programming in the pandemic - IBM developer lead: personal insights & professional process
Programming in the pandemic - Percona: Clouds gather around the DevOps fallout factor
Percona CXO: a database security fix 'in one line of code’