Programming in the pandemic - Percona: Clouds gather around the DevOps fallout factor

The Computer Weekly Developer Network examines the impact of Covid-19 on the software application development community.

With only a proportion of developers classified as key workers (where their responsibilities perhaps included the operations-side of keeping mission-critical and life-critical systems up and online), the majority of programmers will have been forced to work remotely, often in solitude. 

So how have the fallout effects of this played out?

This post is written by Matt Yonkovit in his capacity as head of open source strategy at Percona — the company describes itself as a provider of ‘unbiased’ open source database solutions that allow organisations to securely and affordably maintain business agility, minimise risks and stay competitive.

Yonkovit writes as follows…

When I think about how work has changed… well, we are very much a remote working company anyway. We have always utilised a remote team set up, so that our customers around the world can access our global team to meet their needs. So, in that respect, we were already further ahead than many businesses when it came to remote working and collaboration.

But of course, Covid-19 was a perfect storm for remote working. Many companies didn’t have the management teams or experience needed to deal with so many remote workers. They had to learn as they went along. 

Now, almost a year into ‘fully remote’ those problems have been worked out and many companies are not going back – in any full blown capacity at least. Several companies built on remote workforces are seeing their management and staff in very high demand and getting poached by businesses that previously wanted an office-only culture.

Personalising the digital experience

Yonkovit: Open database, open to discussing new beer policies.

We encourage 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… and 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.

In terms of remote work and the drive to cloud platforms, we have seen more teams taking to the cloud and running services such as databases there, or choosing Database as a Service (DBaaS) options. According to our last open source survey around 45% of companies are now using some form of DBaaS.

Teams that previously would only look at on-premise deployments are now considering more hosted options, while those previously looking at cloud hosting are more likely to now consider DBaaS as an option. It’s shifted the decision making process further towards the cloud.

The DevOps fallout factor

When you have an issue and everyone is remote, you are dependent on having the right skills internally. That has been a problem for companies that have focused on DevOps teams and reduced their DBA headcounts. Those businesses have needed to bring in more specific consulting expertise quickly in order to diagnose and fix any database problems.

When you suddenly become even more dependent on your online set-up to do business, areas like performance and availability become crucial. If your service is not online, then you simply aren’t keeping your business going. If your application performs poorly due to database issues, then you need to bring in experts with the right skills to find and fix those problems. Many teams are now looking externally for this help as the area is so specialised.

We’ve seen an increasing number of requests for support and services related to software end-of-life issues. In the rush to shore up applications in order to support companies’ Covid-19 responses, much of the everyday housekeeping was put on the backburner. 

That led to technical debt building up, where teams are now coming up against deadlines that require them to patch, update, or even migrate completely. This has led to increased demand for extended support around older databases, as companies buy themselves some additional time to make more concrete plans for the future.

The wonder of the watercooler 

Collaboration is different when you can’t physically get together. In terms of development practices, 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. This is especially true when developers need to work with other teams in the business.

I have seen that remote teams are normally more successful when they are smaller and already tight-knit. Having that 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 the team up. This can mean things get missed or taken for granted.

Some developers will actually prefer the move to remote work as they can concentrate on their own tasks, but it’s easy to become insular if you are not careful. Others will want to understand the context and have conversations about tasks they have in place. It’s definitely worth tracking the volume of commits that developers are now making and the amount of work that they are getting through, as well as the quality of commits and how those changes are meeting business goals. It’s about getting the right mix, supporting those who need more interaction, but also knowing when to get out of the way and let them get on with things.

I think some developers will welcome the move towards remote work. They can concentrate on what they want to achieve, and have more autonomy around how they manage their workload. Rather than getting distracted by noise, meetings, and general internal discussions, the developers can focus, which is essential for creating good code.

As a final thought here… we know that many companies offered ‘perks’ for office employees, to encourage them to stay in the office and work late hours: free lunch and dinner, free beer after five, games, dry cleaning and so on. When this shifted, employees who were used to this office environment actually started demanding or expecting free food and beer at home too! 

Perhaps the new normal hasn’t quite normalised yet.