It seems that if you want to invest in your future, you should learn to code.
The importance of computer science education is everywhere you look, whether it’s boot camps that retrain blue-collar workers as a hedge against their jobs’ looming automation, or guidance counselors who advise students on the highest-paying majors, or even children in primary school creating book reports in augmented reality.
In spite of these efforts, there is still a dramatic shortage of software developers. The digital world, in which the average American spends over three hours of their day, is brought to us by only about four million software engineers. Only about 1% of the population can write code.
One way to address this demand is by leaning further into the education efforts of organizations like Code.org. Teach more people to code; encourage more students to major in computer science. There is, however, another option. We can make coding easier.
Creating software is as difficult today as it was 50 years ago when the internet was invented. Most of the innovation we’ve seen has been in areas focused on supporting the scale and constraints of giants like Google and Facebook, but emerging trends have the potential to upset this order.
The rise of “mini-apps,” bite-size pieces of instantly available content built on the open web that bypass the fragmentation and distribution headaches of the App Store and Google Play Store, are leading us into a “post-app store” world. This is rolling out alongside “super app” platforms like WeChat and KaiOS and new technologies like Progressive Web Apps. The apps of the future will not be downloaded from an app store (the average person already downloads zero apps per month), but rather, via interactive posts discovered inside these super apps.
Alongside this miniaturization of apps is the commoditization and availability of cloud computing. Before you might have to lease space in a data center and purchase physical hardware at a sizeable cost. Today, you can spin up a new server in seconds, for pennies. This is enabling a new and growing generation of digital natives capable of using increasingly complex and powerful creation and business tools such as Airtable and Coda to spark a movement where anyone and everyone can design.
These trends point toward a few approaches to make it easier to create software.
The most common approach in the wild today is the creation of specialized tools and infrastructure to create and deploy a very specific type of app. We see this with stores on Shopify, donation pages on GoFundMe, and blogs on Medium. These structured platforms allow for the easy replication and customization of a single type of app. You can think of it as “remixing” an app, be it for fundraising, e-commerce, or a dedicated blog. While these tools are powerful, easy to use, and oftentimes the best solution for a specific class of problems, they are fundamentally limited at a creative level. You can’t, for example, use Shopify to create a video game.
Addressing the limits of these rigid platforms is the rise of no-code and low-code tools. These tools attempt to transform lines of computer code into blocks and shapes that can be dragged, dropped, and connected to create an application. Some of these tools are quite powerful and valuable, allowing ordinary people to build complex pieces of software without ever seeing a line of code. However, they are constrained by the types and levels of abstractions made available by their developers.
In order to bypass these constraints and push the limits of these tools, projects often become as complex, if not more complex, than they would be if they were simply written in code from the beginning. These proprietary tools also bring with them issues of vendor lock-in and bit rot, leaving hopeful creators stranded with no export or migration path, in the event the service shuts down or changes direction. This is the case with Google App Maker, whose shutdown next year will leave all apps on the platform unusable.
While primed with opportunity, the market is still very much evolving. We are still in the early days of coding disruption, and there isn’t a long-term winner yet. It’s likely that an effective solution will come from multiple spaces. No-code interfaces can be incredibly valuable when paired with real, industry-standard code and a community of developers available for gig economy-style micro-engagements to help creators go beyond the scope of what is possible with no-code. The ability to instantly remix a piece of software, like creating a new store on Shopify, opens the door to looking at development in a subtractive instead of additive way. New things can be built by taking things that already exist, duplicating them, and modifying.
Continued innovation and investment in this space–making software development easier–is the most powerful way to increase the number of people capable of participating in the software economy. As more people learn to create, and as they create new things and push boundaries in new directions, software will begin to evolve in entirely new and interesting directions, and our workforce will reflect this market skill. It may still be early days, but the potential of these new tools that change the way we approach code will give businesses and employees the opportunity for growth and development like never before.
Dmitry Shapiro is the CEO and cofounder of