Developer Tooling for Emerging Technology
2020 has brought a seemingly endless amount of problems, but software developers have responded with solutions. Despite all of this year’s change, one thing remains true: Software is being used in a multitude of ways to tackle some of the world’s most pressing challenges. And developer creativity is helping to progress exciting new areas of technology innovation; specifically, internet of things (IoT) and edge computing, 5G and autonomous vehicles.
The barriers to entry for development in these new areas has lowered in recent years. It’s now just as cost-effective to get started on an IoT hardware project as it is to build a web or mobile application and learning how to get started with the hardware is as easy as searching for “how to raspberry pi” on YouTube. The issue is, once you get started and begin shipping units, you’ll come to realize that developer tooling for emerging areas of technology is lagging behind the curve. The market for tools that monitor and test web and mobile applications is healthy and diverse, but tooling for IoT/edge, 5G and autonomous vehicles has yet to see the same surge. And as projects become more complex, how do you keep up with both automated and manual testing? How do you ensure that firmware updates don’t “brick” devices out in the field? Fixing a bug in a website can be deployed in a few minutes, and in some cases, customers won’t even notice. Shipping new versions of software to devices is a little more tricky.
One of the biggest areas of change in this sector is innovation in CPUs. For the longest time, engineers could write software that worked on either Intel- or AMD-based CPUs—and the majority of software that exists today can run on either of those platforms. However, IoT devices make heavy use of the newest player in the CPU space: Arm. Most people don’t realize it, but anyone with either an Android or iPhone smartphone in their pocket already has a device running an Arm processor. Arm processors work especially well in low-power environments, such as those you find in IoT. The biggest problem that engineers face with this new CPU is that the majority of developer tooling isn’t suited for them. It’s all been built with either Intel or AMD CPUs in mind.
We are only beginning to realize the possibilities of these emerging technologies—and developers will be the ones paving the way, building the solutions that will power our future. As they continue to evolve and create new unstructured data sources, companies will need to invest in the tools that enable developer teams to not only keep pace but also innovate.
The tools I’m referring to will be the ones that let developers seamlessly deliver software across any environment—from IoT devices to private or public cloud to embedded systems to 5G. CI/CD platforms are one way to accomplish this. But there’s a misconception when it comes to selecting CI/CD providers: that developers must choose between the security of on-premises environments and the scale of public cloud. A hybrid cloud approach to CI/CD is an effective way to test and deploy software at scale without compromising the security of a company’s most valuable resource: its source code.
For so many teams and companies, this was the year of throwing out the playbook and rewriting the road map. The window of opportunity for true software innovation has never been more open. Whether it be in IoT, 5G or autonomous vehicles, developers are moving fast to change the world. They need developer tooling that will help them deliver on those ambitions.