There is no denying that 2020 has been an awful year, full of uncertainties, unwelcome unexpected challenges; economies crashing due to Covid-19 and governmental lockdowns, countries shutting borders for international travelers; but hopefully, 2021 will be better with the Vaccine’s now being approved the world over and life can return to some sort of normality, but what will that normality be with regards to working practices with DevOps?
I think that the future is bright for DevOps as it fits perfectly with the new normal of remote working. The growth and acceptance of video conferencing for meetings and the advances in collaborative working programs like Slack, Teams, and Zoom have made managing remote teams easier. Also, management is getting used to the concept of work being something you do not a place you go.
This article is my annual attempt at crystal balling the upcoming year, what will be the next big thing, what should you learn? Also read our other 2021 predictions here: New trends and buzzwords in the DevOps era: are you ready for 2021?
Cross-functional teams become the norm
I find the concept of talking about the next big thing in DevOps difficult to conceptualize. especially when considering that the vast majority of companies are still in the embryonic stage of introducing a valid and functional DevOps practice. Yes, everybody who creates a Terraform HCL script and integrates it with an Ansible recipe believes that they are doing DevOps but they are not.
The fact remains that the overwhelming majority of DevOps Practices are still doing that Practicing and evolving. They are still building their pipelines, still missing key swaths of DevOps procedures. For example automatic test plans, monitoring, structured feedback. Most are still at the point of choosing the right tooling, and not considering processes and hierarchy. My first prediction is that companies will start to consider hierarchy and build out true cross-functional teams across product sets rather than continuing with silo-based reporting structures. This is going to be a hard pill for companies to swallow especially, those managers that are micro-managers rather than leaders and enablers, but the productivity results are myriad. It is possibly one of the only true benefits of the COVID-19 economy; the growth of remote working has forced managers to re-assess their measures of success from attendance to results.
However that said the fact remains DevOps is not a static paradigm, it evolves as its remit expands. Last year I suggested that the use of DevSecOps would rise and although that has been the case with the rise in the use of tools like SonarQube automating security reports, TwistLock automating Docker, and serverless security, and HashiCorp Vault managing Certificates, API Keys and passwords, etc. I would say that was a win for my 2020 crystal balling LOL
However, we digress so back to our focus and what is the next big thing for DevOps?
Code becomes business-centric
The next logical step with DevOps is code automation. Or to be exact low-code or No-Code. But before we dive deeper into this concept, what exactly is low-code or No-code? At its core, it is the ability to create new applications without the ability to understand the underlying code. It is the final step in the journey from machine code to the citizen developer who can build applications with little to no understanding of what is going on under the user interface.
Examples of Low-Code products have been around for many years Microsoft Excel, Lotus Notes for those of us with long teeth first placed development-like capabilities into the hands of non-developers, these tools did, however, require in-depth knowledge of the relevant business practices.
No-Code takes this concept even further. It allows the building of reasonably complex applications with no coding knowledge at all. No-Code allows creatives to rapidly create prototypes and MVPs to be launched to the world. My only worry is that this is yet another level of abstraction and dumbing down of knowledge. I am already finding operational staff commenting that they have no knowledge about the hypervisor level, never mind the bare metal layer of infrastructure and I am sure that this is also the case with the development side of the coin. The more we abstract and dumb down the bigger the fall is when something goes wrong lower down the abstraction stack. For example, when I started in IT people still coded in Assembler and wrote their own device drivers for Linux.
But even with that, all said, my second prediction is for a further dumbing down of the development process with a rise in Low-Code and No-Codes implementations mainly being driven by the perception of a greater return on investment as staff “should” be less expensive than “real” developers.
Getting ready for 2021
For this, I thought I would look at my objectives for 2021 rather than just picking a couple of training needs and saying there you are. I will deal with one soft skill and one hard technical skill.
With home/remote working staying prevalent of the majority of 2021 time management is even more important today than ever before. Juggling work/life balance is completely skewed, adding to this the additional issues of having to take responsibility to coordinating the education of your children, due to school shutdowns. Finding time is getting harder and harder. Time Management is at the top of my list. We are as a workforce being expected to do more with less.
Workloads are increasing, and management’s expectations are rising and this coupled with increased workloads are home leads me to thinking that a key skill is learning time-management.
- Set Goals – Goals give you a vision and a destination to work toward. These can be as simple as stating I will write 1000 words today.
- Write lists – daily, weekly, monthly, and quarterly: list codify your work. They will set your timescales and delivery. Lists will be dynamic, changing as work is added and completed. Lists are the first and primary tool to managing time. Lists feed into the next item.
- Set Priorities – as alluded too once you have made your list you need to set priorities, ask questions like “why am I doing this, does this task help me to meet my goals”?
- Set Schedules – time slice your day. Understand your peak productivity times, lock them out of your calendar if you are more productive in the morning,
- Focus on a single task at a time, I know people say they can multi-task but we cannot, time slice your day.
- Minimize distractions, working from home find a quiet place, if not head-phones to drown out the noise and provider a visual indicator that you are busy, I find this works well in an office environment too
- Don’t find excuses, no procrastination
- Learn to say no: You cannot do everything, even if you think that you have to you don’t. this leads on to the next in the list
- Learn to delegate, you are a team member, others in your team may have slack delegate to them to get the task completed.
- Take regular breaks, this goes without saying. Just because you don’t need to travel, does not mean need to fill those gaps with extra work or that there is no need to take breaks
This was as difficult one to chose I to be frank there are so many things to learn, and being even franker I am still learning the subjects I started last year. It is a fact that in Technology you are always learning, this is true when in the DevOps space too as this graphic shows,
The only thing predictable in IT is that there will be change. Crystal-balling is challenging some roads are easily worked out. Coding is going to get simpler as time goes on, so saying that Low-Code and No-Code will gain traction is a given. But that does not mean that enhancing skills in infrastructure and even IoC tools like terraform is not useful, it will be a number of years before that particular ship has sailed.