It’s hard to read a blog or news site these days without stumbling across an article about why everyone should learn to code. It’s a rallying cry that’s given rise to organizations like Codecademy and Code.org. It’s even cracked the national political agenda, with US House Majority Leader Eric Cantor declaring that “becoming literate in code is as essential to being literate in language and math.”
The icing on the cake was an article about ScratchJr, a new iPad app described as “coding for Kindergarten.” Like Cantor, the app’s creators believe that coding is a new type of literacy that should be available to everyone, starting at a young age. Yes, now even your 5-year-old can get in on the coding action, and build their own stories and interactive games.
Software Is ‘Eating the World,’ But There Aren’t Enough Programmers to Keep Up
Don’t get me wrong: I think the intent of all these “learn to code” initiatives is good. After all, the ability to build apps has never been a more desirable — and critical — skill.
Just look around you. Apps now manage nearly every aspect of our lives, personally and professionally. We have dozens of apps on our smartphones and tablets for our finances, fitness and everything in between; and we rely on nearly as many to do our jobs. On top of that, apps are quickly taking over our thermostats, cars and just about every device we own. Marc Andreessen’s statement that “software is eating the world” rings truer than ever before.
That’s why teaching everybody to build apps is such a noble and necessary pursuit, especially in business. Industries that have existed for hundreds of years are being radically disrupted and transformed by apps. The demand for custom software has never been higher, and the notion that traditional IT departments will be able to keep pace is laughable. According to a recent McKinsey study, 87 percent of IT leaders rate themselves poorly in terms of their ability to bring new ideas to market quickly.
If businesses truly want to truly become innovative app companies, they need to turn every department into an IT department and make every employee part of the innovation process. If someone in marketing or finance or HR has an idea for a new app, they should be able to take matters in their own hands.
Having Everyone Learn to Code is the App-Dev Equivalent of Creating ‘a Faster Horse’
While everyone today needs to be an app developer, is learning to code really the answer? Henry Ford said that, “If I had asked people what they wanted, they would have said faster horses.” I view everyone learning to code as app development’s version of a faster horse. What we all really want — and need — is a car.
The industry is falling back on code because for most people, it’s the only thing they know. If you want to build an application, you have to code it. And if you want to build more apps, then you have to teach more people how to code, right?
Instead, shouldn’t we be asking whether coding is really the best way to build apps in the first place? Sure, code will always have a place in the world, but is it the language for the masses? Is it what we should be teaching everyone, including our kids? Or are there other, easier and more intuitive ways to build apps? In order to empower everyone to build apps, we need to focus on bringing greater abstraction and automation to the app development process. We need to remove code — and all its complexity — from the equation.
My advice? Don’t teach everyone how to code. Teach them how to identify and understand needs, as well as how to visually express logic. Teach them how technology works, so they can understand the realm of possibility and then envision game-changing innovations. And then create an environment where they don’t even have to think about writing code — where building great apps is as easy as using iTunes. Just drag and drop.
Once we remove the friction from building the next killer app, we’ll finally make the leap from a horse to a car. And then the innovation race will be on!
Gottfried Sehringer is vice president of marketing for Mendix.