Software development in 2021 and beyond
2020 is now – finally – hindsight. It was a year of unprecedented disruption – how businesses connected with their employees and customers transformed nearly overnight. We saw organizations rapidly pivot to remote-first environments, undergoing years’ worth of digital transformation in a matter of months. Time to market was already top of mind for software development teams, but the last year ushered in urgent requests for new functionality to engage with customers and communities digitally. Much of this transformation was supported by developers who became “digital first responders” – helping their organizations become more agile and resilient. Developers moved workloads to the cloud and found new ways to code, collaborate, and ship software faster, from anywhere.
Many of the changes we saw were trends already underway for software development teams, but they accelerated amid the turmoil of the pandemic. As we enter the new year and look forward to recovery, it’s a good time to reflect on these massive shifts and consider the lasting changes they’ll have as we transition back to hybrid work environments. It’s also an opportunity to consider how these changes will affect the future of software development and how we can play a role in building a more resilient future together.
In this blog, I’ll discuss how we can help grow and support developer talent amid unprecedented demand, improve developer inclusivity and velocity, and help engineering teams scale out through open source and low-code tools.
High demand for developer talent
he most successful companies understand digital transformation is not just about adding technology, but about supporting their people to continuously generate value through deep customer insights and rapid iteration. This doesn’t just apply to tech companies. LinkedIn data shows across the U.S., hiring for engineering roles grew 25% from 2019 to 2020. Digital skills will remain in high-demand – we expect to see 150 million tech or tech-adjacent jobs over the next five years. Topping the list of fastest-growing skills on LinkedIn since the pandemic hit are digital skills including programming and digital marketing.
However, many organizations struggle to hire technical talent, and digital skillsets continue to evolve rapidly as well. LinkedIn data shows more than 20% of hiring professionals say the skills they’re looking for now are different than they were before the pandemic. The global developer shortage limits the pace of innovation, digitization and transformation.
To help meet this demand, we must make technical learning more accessible to anyone who wants to learn to code and pursue a career in software development. This has become even more important over the last year as the pandemic and economic crisis left so many people seeking new jobs. In fact, research shows 70% of workers moving into emerging fields like product development, data and AI jobs come from outside of those roles.
Leaders need to build skills training programs alongside onboarding to ensure they are preparing their employees for the tasks ahead. That’s why Microsoft has created a global skills initiative to help bring more digital skills to 25 million people worldwide through data, free learning content, low-cost certifications and job seeking tools.
Minting new developers
With technical skills and developer expertise in higher demand than ever before, a lot of people will be learning to code over the next few years.
To inspire the next generation of developers, we’ve teamed up with partners including Warner Bros. and LeBron James in “Space Jam: A New Legacy,” “Wonder Woman 1984,” Smithsonian Labs, and NASA; and with Netflix on their new original movie “Over the Moon” to help learners explore computer science, data science, and learn to code with their favorite superheroes, athletes and cartoon characters. By connecting learning content to something interesting, relevant, and most importantly – inspiring, computer science and coding become less intimidating and more attainable for learners of all ages – whether they are 8, 18 or 80.
It takes more than technical skills to succeed. To help students and educators build vital skills like communication, confidence, problem-solving and resilience, we’ve developed a series of mentoring toolkits to help build a more inclusive future for the tech industry.
The educational landscape is also shifting significantly – from physical settings to institutions that educate in virtual and hybrid spaces, to self-taught learners. In remote learning environments, students learn via cloud-hosted platforms and tools, and their educational institutions build on the benefits of self-service environments and at-scale collaboration. At Microsoft, we’re building platforms for teaching people how to code that provides all the infrastructure for remote learning – the developer environment, lab and tools for real-time collaboration to facilitate rapid learning at scale.
Workplace flexibility and remote-first collaboration
As my colleague Scott Hanselman wrote, “Quarantine work is not remote work.” As we’re working from home, our children are learning alongside us. We’re dealing with unprecedented stress from pandemic life and economic challenges which we hope will see some relief over the coming year. As recovery begins and we all get back to school and work – remote work is here to stay. At Microsoft, we’ve adopted a policy for a more flexible workplace that allows all employees to work from home for up to 50% of the time. I expect greater workplace flexibility will become the industry standard – in fact, LinkedIn saw a 4.5x increase in remote job postings from January to December 2020. Generally, this is good for inclusion, it’s a better environment for some employees who can concentrate better at home, and for many women who often bear the brunt of domestic responsibilities.
Our team was always remote-friendly – but we didn’t realize until this year what a huge difference there is between remote-friendly and remote-first. We found aspects of some developer tasks were easier to transition – for example, making a check-in to a cloud-hosted repository is something we’ve already been doing for years. But other aspects are missing – particularly around team culture, collaboration, and new employee onboarding, that usually depend upon huge amounts of osmosis and have generally taken place in person in a physical environment together.
Initially, when we looked at certain measures of activity like pull request (PR) rates, we didn’t see much of a change as we entered mandatory work from home. But as we broke it down by role and experience, we found that managers and new hires seemed to be disproportionately affected. In some parts of our organization, we saw significant increases in after-hours instant messaging, as well as increases in PR rate. However, new hires were submitting PRs at a rate much slower of those new hires of last year. And we found many managers responsible for keeping morale high were also facing burnout themselves.
We’ve worked to foster more inclusive remote-first environments for employees including encouraging shorter meetings, creating space for transitions and Teams features like virtual commute, focusing intentionally on time for well-being and learning, as well as finding new ways to collaborate, which I discuss more below.
Inclusive and supportive team cultures and human-centered developer tools
At Microsoft, we have long been advocates for human-centered design. We recently used human-centered design to help us work with partners to create lifesaving solutions. We also use community co-creation and our Customer-Driven Playbook for building our tools for developers. Our process often starts with an open-ended inquiry to understand where developers are experiencing the biggest pain-points. As we talk with development teams, we’re seeing a tremendous need for developers to collaborate pre-commit – for pair-programming, mentoring, defining component boundaries, debugging, and learning. This has become more difficult over the past decade as teams have become more distributed. With distributed teams, it becomes harder to build social capital – the kind of connection with a colleague that makes it easier to overcome challenges together. A focus on building the right team culture is critical – encourage team communication, normalize asking for help, and make it a priority for established employees to support onboarding.
If we’ve learned anything while being separated from each other last year, it’s that connection and bonding are important elements in successfully working together. That’s why we’ll see a growing need for human-centered coding experiences – those that enable you to connect and bond with your colleagues in different modalities as you code. However, developers require focus for productivity and collaboration can sometimes mean interruption. Human-centered coding can become a way for you to learn about your colleague’s habits, coding styles, best practices, and general tribal knowledge asynchronously while also being provided cues on the best time to engage in real-time with your colleagues and connect with high-bandwidth tools optimized for developer-to-developer collaboration like Visual Studio Live Share – so you can both preserve your focus time and stay “in-the-zone.”
Human-centered coding also means bringing other human perspective into your development process. This requires being open and engaging with users and developer communities for feedback and input. As my colleague Sarah Novotny says, “Success in open source is just as much about your own contributions to the community as it is about what you learn from the community.” This has always been a tenet of open source, and we’re now seeing it apply to product development at large.
Scaling out with open source
Over the past year, we saw an interesting trend on GitHub: Enterprise developer activity dropped on weekends and holidays but open source contributions jumped, suggesting that as people are “signing off” of work, they are “signing on” to open source. We saw open-source project creation jump 25% since April, year-over-year. Open source can become an outlet for creative expression, an environment and community that supports learning new skills, as well as a way to build on the shoulders of giants.
With the rising demands of new technologies and rapid time-to-market, professional developers have increasingly turned to open source so that they can focus their ingenuity on their unique business requirements. Research shows 99% of applications contain open-source components. The average project on GitHub has more than 200 package dependencies; the top 50 projects are depended upon by more than 3 million packages. As companies move to the cloud, they prefer cloud platforms that offer ready access to open-source ecosystems.
Scaling out with low-code solutions
As the pressures of 2020 grew, developers were asked to fundamentally reinvent how businesses operate. That was asking a lot of developers who are already stretched beyond capacity. It was in these circumstances that we saw many developers adopt and support low-code tools. Low-code has the potential to fundamentally change how developers work, and we’ve only scratched the surface on how low-code tools and professional developer tools can be used together to get solutions out the door more quickly.
To further scale digital feedback loops and accelerate innovation, developer framework teams can create reusable components which can be leveraged by others. These building blocks help junior developers add value more quickly and empower citizen developers, who have domain expertise but lack formal development skills, create applications, and automation that would not have made the priority list of a central IT development team. These solutions built by hybrid teams can still use the same quality processes and DevOps automation used by solutions authored exclusively by professional developers.
We saw Microsoft customers across industries – from The American Red Cross to Toyota – turn to the Power Platform to help optimize business processes, improve communication and collaboration, and prioritize work for other strategic business problems.
Over the next year, we expect low code solutions to continue growing as a key tool for professional developers and business users. One of our low-code experts, Dona Sarkar, shares a few key trends to keep an eye on, including the merging of low-code with collaboration platforms, how automation helps resolve business hiccups, and how fusion developer teams (both pro-devs and those with a primary job function other than building software) will work together to solve business problems.
Continuing to build, grown and learn
There’s no doubt the last year will have a lasting impact on the technology industry and the developer profession. There’s a lot to look forward to, and I am excited to see how we all continue to build, grow, and learn together as we continue to support the resilience of our broader communities.
this article has been retrieved from https://blogs.microsoft.com/blog/2021/01/14/software-development-in-2021-and-beyond/