Article

Tech skills of tomorrow: Software development

By Maureen Makes

The tech landscape is changing fast.

With a seemingly endless number of programs, languages and frameworks at your disposal, it can be difficult to know what tool is a flash in the pan, and what has the power to shape the future of your technology organization. But it doesn’t have to be a mystery.

We asked four experts in software development, data, machine learning and cloud computing about which hard and soft skills companies will need to thrive in the 2020s. Here’s what to pay attention to and invest in as you map out your tech strategy for the next year (and the next decade).


Software is ubiquitous. Everything from your smartwatch to your fancy new VR rig to your thermostat relies on software. So it’s not surprising that the number of software development jobs is projected to grow at a rate of 21% through 2028, compared to a rate of 5% across all jobs.

With this influx of new developers and new types of software comes shifts in practices, tools and tech stacks. Keeping up with the pace of change is a challenge for junior and senior developers alike.

Many trends have come and gone (anyone remember Knockout.js?), and many of the cool kids on the tech skills block likely won’t withstand the test of time. With an increasing number of activities per day being driven by software, the demand for secure, reliable software is growing faster than ever before.

The state of modern software development

With essentially infinite options to capture our attention, performance is becoming a key differentiator for products. Google has even begun factoring site speed into how it ranks search results. We want our information quickly and with high levels of availability.

Performance-minded programming language Rust is growing in popularity, particularly for embedded systems and applications. Beloved by developers, Rust provides greater safety than the most common low-level programming language (C++) through allowing protected abstractions, and greater speed over Java through automatic garbage collection.

Performance and scalability were also central to the development of .NET Core. Unlike its big brother .NET, .NET Core is cross-platform and open source. Though there is a learning curve for developers who traditionally worked in .NET, in the three years since .NET Core launched, it has been growing in popularity, both for individuals and in large enterprises, providing more flexible options for hosting and development. .NET Core has seen a 7% growth rate from July to October 2019 alone on the Pluralsight Technology Index.

With almost half of all web traffic in the world coming from mobile devices (up from 31% in 2015), it is no longer enough to build for the desktop. Progressive web apps (PWAs) are growing in popularity. PWAs allow for an app-like experience for users in the web browser, including functionality such as offline experiences and push notifications.

Finally, with major data breaches becoming a regular occurrence in the news, consumers are more aware than ever of what data they are giving away and
what risk that could potentially bring. Implementing security by design through principles like OWASP’s Top Ten is becoming a necessity for companies that store user data. It is no longer a question of if there will be a security incident, but when and what the scope and impact will be. Legislation like GDPR has also shaped the conversation around personally identifiable information, pushing companies to build software that has privacy as the default operating assumption.

What’s hot in software development

A few companies are increasingly willing to invest in overhauling significant pieces of their systems to take advantage of modern development technologies — and are showing what rewards can be reaped in the process.

For Figma, performance is critical to facilitating web-based, real-time collaboration for design. As the tool grew in popularity, the backend (written in Typescript) didn’t scale, so the company embarked on a full rewrite to Rust. The company was able to realize massive, 10x decreases in average file serve time. For Pinterest, using a PWA as a primary experience improved mobile SEO and time spent on the site significantly.

Showing their commitment to their customers, the DevOps lifecycle company GitLab has pushed boundaries when it comes to providing transparency and
an opportunity to collaborate to their community, allowing their users to inform policies around data access and use. A week after introducing a change to the terms of service that allowed for telemetry tracking in their product, GitLab rolled back the change, citing a lack of collaboration with users and contributors in the decision-making framework. GitLab is pushing boundaries in allowing users to be part of software decisions, giving them a voice in what data is collected and how that data will be used.

What you need to succeed in software development

With the pace of technological change, there is no one silver bullet framework,
tool or technology that will take you from here to 2030. Instead, a focus on
the principles and practices behind the software can inform the right tools and frameworks for the project. Here are three factors to consider as you architect your projects for the future:

Scalability

With the pace of technological change, there is no one silver bullet framework,
tool or technology that will take you from here to 2030. Instead, a focus on
the principles and practices behind the software can inform the right tools and frameworks for the project. Here are three factors to consider as you architect your projects for the future:

Security

The core principles of information security are confidentiality, integrity and availability. What this means for your system is that data is only available to users who are permitted, data is not altered by unauthorized users and data is available to users when they need it. You can’t maintain user trust without all three.

Accessibility

Lots of software promises to democratize access and information, but that only scales to people who are able to use the products. Almost everyone will be impacted by a permanent, temporary or situational disability at some point in their life. Accessibility needs to be baked in to everything that we build, both to allow access to the greatest number of people and to reduce our risk. As the Domino’s Supreme Court case showed us, creating accessible products is not a “nice-to-have” — it’s a core requirement.

Regardless of what kind of software you are creating or considering, odds are the needs and requirements will evolve over time. To ensure you are successful for the long haul, first focus on access. We expect software to work seamlessly in our lives, which means it’s fast, intuitive and accessible.

Second, engage your community. They want to be part of the conversation of what you are building and how. Build for the customer — not just in the products you ship, but also in the processes you use to ship them.

And finally, be aware of the impact you are having. We can’t not use software in our society. Consider the impact you want to have on the world through your code. Find ways to innovate and create solutions to the problems we face, and be aware of the problems you could be creating along the way.

About the author

Maureen Makes is an engineering leader with a passion for fostering autonomy in individuals and teams. She is currently the Director of Engineering for the learner engagement group at Pluralsight. She leads cross-functional teams focused on creating experiences that add value for learners, motivating them to develop consistent learning habits.

Through fostering a culture of self-improvement and feedback, Maureen coaches her teams to develop trust among each other and strengthen their leadership skills. She launched a chapter of Women Who Code in January of 2018, to create a community for technical women in Utah. In 2019, Maureen was named Technology Leader of the Year by the Women Tech Council.