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 had to work remotely during the Covid-19 pandemic lockdowns, often in solitude.
So how have the fallout effects of this played out?
This post is written by Forsyth Alexander in her role as product marketing manager at OutSystems – the modern application platform company that dedicates itself to delivering innovative client-focused systems that enhance service delivery and achieve results.
Alexander writes as follows…
There are few words left to describe the events of 2020. We saw a global contagion spread and create a pandemic of seemingly unimaginable proportions. Among the few things that we can say after the tragic loss of life and wider disruption is perhaps the fact that we all experienced it collectively; nobody needs to be told what has happened.
So, looking to the reality of carrying out roles in software application development, developers everywhere have had to face up to new – often much more virtually connected – ways of collaborating and working.
Sharing touch-points, traditional & modern
I know that developers as a community are sometimes parodied for introspectiveness and screen-obsessiveness. But, really, in reality, developers do enjoy programming as a team and sharing a pizza at some level or other.
Enter intelligent, modernised, contemporary software platforms. In this time of uncertainty, they offer automation and management that is well suited to virtual connections.
With these platforms, developers can harness more automation and management in terms of how work gets done, which is an advantage to them in this time of uncertainty. There’s a serious architectural planning process that needs to be a part of every prudently and professionally engineered software application development process. I can point to lower code platforms that go a long way to easing the complications of architectural planning in a remote working environment.
So what other elements of core software engineering best practices do we need to think about going forwards? After all, we want to be holistic in our approach to both our platform of choice and the lifecycle development process that we work in.
A holistic platform & lifecycle approach
Right now, it’s important to think about the shift to more visual modelling and the need to work with this approach across an entire continuous integration/continuous deployment (CI/CD) pipeline. This is bread and butter for developers today at whatever level of granular command line or higher-level abstracted toolset work they find themselves working with.
Looking more closely here, a modern application platform is characterised by creating a visual model – instead of code – that can be shaped and changed at the workflow logic, UI and data access levels by anyone – not just one programmer or coder. It also offers an artificial intelligence (AI) assistant that guides users through the development process so they don’t have to hunt up someone and ask for help. These aspects address the challenge of remote programming teams. They also make continuous integration and continuous deployment easier, often a sticking point whether a team is all together or individually working from home. Having wizards for integrations instead of coding or customizing APIs, for example.
Let’s also go back to reality and remember that developers – like everyone – have had it tough over the last year. The last thing a developer wants to do is spend hours working on complex refactoring exercises that simply drag a person down.
Thankfully, refactoring is becoming eminently more controllable, manageable, intelligent and altogether modernised. We can now use AI (drawing from increasingly vast, refined and accurate data pools) to look for opportunities to perform refactoring in the most efficient places… and according to a best strategic process plan. In this scenario, platform-level AI can be used to pull out code elements and resolve differences before manually coding back any fixes. An architecture dashboard that can provide insight and direction from deep-level Artificial Intelligence (AI) delivers this kind of refactoring and more, enabling developers to ‘drive on automatic’ more than ‘stick shift’ and so travel in a vehicle more adept to coping with any bumpy road ahead.
Looking at the big picture, we have created a better software engineering world for us all to work in… and that was an effort that started long before the pandemic. We now have the chance to use modern software platforms that enable us to benefit from automation and visual development, so that we don’t have to reinvent the wheel and can use easy front-end tools and UI prototyping, checking components in and out of a repository for reuse to save time and create consistency.
Brighter lights (and better times) ahead
We can summarise here by remembering that there is some light at the end of the tunnel for these guys (and I mean that in the gender-neutral sense). They made adjustments to how they worked, experimented with automation, and discovered that they could still deliver. Times will get better, in pandemic terms and in programming terms – and we might have picked up some new good habits along the way.
The past year has made many more organisations adopt increasingly cloud-first, cloud-native technologies and that will only further accelerate web-scale automation and control. This is going to be a platform-level advantage for software engineers and their supporting operations teams at all levels.
So how should we think about the planet going forwards?
With vaccines rolling out around the world, the need for a massive remote workforce will diminish, so we’re likely to see an increase in programmers going back to the office later in 2021 and throughout 2022. However, some will remain in WFH mode for the foreseeable future. Many software companies have discovered that a viable way to address the talent gap is to look globally for programmer talent. As I already noted, some have had great success using platforms that automate the tedious processes of development to help global teams build apps fast. So, even if they go back to the office, why would they want to go back to the old tedium and long lead times?
The modern application platforms that got them through the pandemic are just as powerful in ‘business as usual’ settings or a continued reliance on distributed, remote teams. They can address the spike in companies believing cloud is an imperative and wanting to re-architect their legacy apps so they’re cloud-native or build new cloud-native apps for a new environment.
The future-focused forward-looking (and essentially modern) organisation is often now described as ‘the composable enterprise.’ Software tools that helped developers on distributed teams or working at home are can deliver this composability, which is a uniquely post-pandemic paradigm. The granular control that this gives us is another potential stress reliever for developers. We should all keep thinking about (and discuss) the ways business and IT can work together in fusion teams that build and ‘borrow from marketplaces.’ How can they build and adapt microservices and other components that are suited for modern, cloud-native applications and environments?
It has been a really challenging time for everyone from programmers to health practitioners to parents… and even penguins (zoos had to shut, remember?). But, we’ve learned some important lessons about humanity and adaptability that show how resilient we can be, and we’ve seen developers do great things during the pandemic with new tools in their toolboxes. I see more of this ahead.
We have a brighter future to look forward to in the short, medium and long term – but, please keep washing your hands.
As an addendum to this story, OutSystems has provided a UK customer case study reference here — BT Group has explained how it has used technology to work through the challenges of the Covid-19 pandemic with its programming team.