Articles

Enabling the Developer Ecosystem for Manufacturing – Part 1

If you were to ask a software developer what the most exciting industry for software will be in the next five years, they might mention retail, or healthcare, entertainment or security, or perhaps Fintech, Edutech, or Agritech. They might also tell you that all the exciting emerging software technologies like blockchain, Augmented or Virtual Reality, and Artificial Intelligence have massive potential in these industries.

This answer drives me crazy. My answer? Manufacturing.

Making things and our ability to use tools to change our environment is an essential part of our human identity. Manufacturing is the ultimate expression of this. It is an entire industry built around our creative solutions to physical problems and how we best deliver those solutions into other human beings’ hands. Despite advances such as Computer Aided Drafting (CAD), Computer Numerical Controlled (CNC) machines, and additive, manufacturing. stands nearly alone in the list of industries that have not undergone a significant transformation in the Information Age of the last 30 years. 

Here is a thought experiment to underscore the point: take a manufacturing line manager from 1985 and transport them in the factory of today – most of it would look very similar to them. Contrast that with showing a sales executive from a 1985 Barnes and Noble our current world of online retail. They would see an industry that has been transformed almost beyond recognition.

The State of Manufacturing

Unfortunately, the general public’s perception of manufacturing is that much of it is “dull, dirty and dangerous”, and though many factories are much more modern than people think, this perception is often the case. The picture of Tesla’s factory that pops up in your social media stream, full of shiny robots building cutting edge electric cars, in reality, represents less than 10% of factories worldwide. 

While a Model 3 is built in a state-of-the-art automated factory, this is not the case for the many of the components that go into that car, the bolts, gears, latches, magnets, glass, and electrical components. These items are made at other factories, where the metal, plastic, rubber, and silicon changes shape, are added or removed, are assembled, wired, fastened, glued, or welded, put into boxes, stacked on pallets, wrapped, taped and labeled. The bulk of this work is still done by human hands, using methods that have not substantially changed in decades.

Manufacturing also critically needs reinvention. There has been a growing skills gap in manufacturing for years, as skilled workers retire with no one available to replace them. Additionally, the Covid-19 pandemic and resulting shortages of critical care items and other goods have shown us how brittle the global supply chain is, and underneath, the cracks in a manufacturing industry that predominantly depends on human labor. Additionally, manufacturing needs to scale rapidly to support the world’s emerging markets as they buy more and more goods. We know that automation and robotics can address these issues by providing more capacity with less human labor in a more scalable fashion. 

We also have much of what we need to perform this automation: McKinsey reported 64% of manufacturing tasks are automatable with current technology alone. In some areas of production, this automation number is as high as 87%. Therefore, if automation is the answer, what keeps manufacturing from reinventing itself by implementing automation at a breakneck pace?

This is a multifaceted question, but one huge reason is software. The problems of manufacturing are complex, and increasingly, more advanced software is needed to solve them. Automation technology needs to be more accessible and easier to use, and serious machine learning needs to be leveraged to optimize complex production processes. Manufacturing systems need to be smarter and more flexible to deal with variation and handle uncertainty. These are all problems that require software to solve, and there are software developers actively working in the manufacturing space on these problems. 

Still, the critical mass of software talent is not there for manufacturing in the same way it is for other industries, the kind of critical mass that brings transformation. Here is an analog: the smartphone industry of 2005 employed plenty of software developers, working at RIM, Palm, Nokia, and others, but it was far from exciting, and there were nowhere near the number of developers engaged in the mobile industry that would later emerge. Manufacturing finds itself in that same position where it just isn’t seen as an opportunity.

Shifting the Narrative

Robotics software engineering needs a promoter – someone who sees the potential and can get others excited. Marc Andreessen made a great start in a recent essay. The Netscape co-founder and venture capitalist wrote about how we need to rekindle our desire to build things. This call to action was not just motivated by the poignant lesson in recent world events. It was also a response to the growing sentiment that we need to be using our collective cognitive prowess to solve significant problems that are holding us back as a species. What amazing things could we do if we were focused on the issues that matter, not just building the next cool app, and what if solving the problems that matter was just as exciting and fun? 

His article resonates with everything we have discussed so far because it specifically calls out manufacturing, and that we can do better, build more, and be more efficient, faster, and be more flexible at doing so. And since many of the manufacturing solutions to this problem involve software, why aren’t software developers flocking in droves to the industrial space?

Like any good party, the hype doesn’t over-promise. For manufacturing, the market potential is significant. The aforementioned 64% of manufacturing tasks that can be automated represent $2.7 trillion in labor costs. For the software developers who are more enticed by the opportunity to leverage cutting edge technology, manufacturing is ripe for this. Some of the most exciting possibilities I have seen for Augmented Reality and Virtual Reality technology are in the Manufacturing space, from programming robots in VR, to assistive tutorials and on-demand manuals in AR. Machine learning and AI similarly abound with opportunities in the manufacturing area. Even blockchain has practical applications (seriously, read about smart contracts and industrial robots, it’s fascinating).

The scope and gravity of problems that can be solved by innovative software developers in manufacturing is extensive, and the need extends beyond software engineers who focus on robot or industrial control software. Imagine writing software that enables a machining process to run overnight, allowing a company that makes ventilator components to keep up with demand. These are challenges that fit any developer, including anyone who gets up every day to create better user experiences, or amazing databases, or groundbreaking machine learning. Manufacturing needs the broadest cross-section of software developers to get involved, each with their particular skill and interest, to solve the most critical problems. So why don’t they?

The Promise of Manufacturing Software Platforms

When I think about what gives me joy as a developer, it’s about the opportunity to create something new, take a new set of tools out for a spin, and start building something awesome. I know this is true for most developers, whether they are working on the user experience for a new website, the front end for a new app, or the state machine for characters in a video game. Something about that act of creation – something from nothing – keeps us doing it again and again. 

Importantly, this creative process is best when I have the right set of tools for the job. It’s not just about having a problem and an idea; it’s about having a low friction path to the answer. In the context of developer ecosystems, manufacturing is different from other industries in one key way:  it lacks the software platforms that other sectors are defined by.

In most of the “exciting” industries for developers, there are mature platforms. Windows, Linux, Mac OS, Android and iOS, Unreal, Unity, SAP, Epic, Bloomberg, Webkit, AWS, Office, Salesforce, Basecamp – most industries are defined by a few broadly used platforms, which enable and excite developers to do amazing things. Peter [WN2] Gillard-Moss, Head of Technology for Thoughtwork TechOps, who writes on the power of platforms, wrote that platforms, “are the disruptive secret upon which a digital business is formed… a means of centralizing expertise whilst decentralizing innovation to the customer or user”. We don’t have to build things from scratch. We get to stand on the shoulders of giant piles of code that came before, that we can build on, change, and improve to achieve our goal.

In contrast, the manufacturing space is, unfortunately, exceptionally fragmented. There is a rapidly growing number of industrial robotics companies, and almost without exception, each has its own unique software and programming languages. There are some industry standards for software, mostly in the device communication area. For the most part, though, software developers implement the same solution or components of a solution multiple times for each supported industrial system. There is no Windows-like platform for industrial robots, no Android-like platform for Programmable Logic Controllers, and this results in considerable friction for developers already in the industry.

For developers on the outside looking in, there is often no clear place to start, add value, or use their specific skills. What developer who is used to rich and useful APIs would enter a market where everything is different and requires special consideration? Which robot would they develop an application for? (assuming the robot has an API at all… spoiler alert, most don’t) Manufacturing is unlike other industries, where the path to engagement is more established, even with emerging technologies – take the most recent Apple iPad with its built-in lidar, a game-changer for Augmented Reality. Because of the established developer tools like and toolchains like Xcode, Swift, and ArKit, developers made simple apps within weeks.

The lack of software development platforms in the manufacturing industry, the lack of something that developers can genuinely rally around, and the resulting friction and duplication of effort yields an industry that does not attract the kind of developers it needs

So where do we go from here? I don’t know about you, but I am never happy with long-winded discourses that present a huge problem and no solutions. That is why this article is just the first in a three-part series about how we can learn from the software platforms that have transformed a vast range of industries and talk concretely about efforts to do the same for manufacturing. Here I have merely set the stage – the ultimate goal is to enable real developer ecosystems in the industrial space, opening a trillion-dollar market to a population of amazing developers hungry to solve meaningful problems.