In the Future, Everyone is a Developer
Why one company is poised to bubble to the top of the no-code ecosystem
Welcome to the new subscribers! If you’re reading this but haven’t subscribed, click below to join 2,491 of your smartest friends and peers who receive The Flywheel in their inbox every other Tuesday.
As part of this article I interviewed Bubble CEO Emmanuel Straschnov, and have published it as the first ever The Flywheel Podcast episode. You can listen to the episode on Spotify, Apple Podcasts, Pocket Casts, or Captivate (more coming soon). Please send me your feedback! You can do so by replying to this email or leaving a comment.
Coding is Hard
Learning to code is hard.
One must choose a language, scrounge for or buy resources, figure out which tools to download, find and set up a coding environment, identify projects they want to build, figure out how to deploy those projects, and—perhaps above all—get really, really good at Googling.
‘Everyone should learn how to code’ became one of the rallying cries of the early- and mid-2010s. Barack Obama himself got in on the fun.
In response came a wave of entrepreneurs offering coding bootcamps, promising that in 3 months they’ll teach you to code and land you a 6-figure job, all for the low price of ~$15,000.
But learning how to code is hard. Coding bootcamps came under fire from the beginning, hit with lawsuits and complaints that the curriculum wasn’t preparing students for the workforce as promised, and that the price was therefore exorbitant. Perhaps it’s not surprising that Lambda School, the first coding bootcamp to show venture-scale promise, has an entirely different model (9 months vs. 3, income-share-agreement vs. pay up front) designed to better align incentives. And even Lambda School has not been without its own controversies.
Learning to code is hard, and apparently teaching it in 3 months is hard too.
Enter No Code
Coding has only become more important over the past decade, but the emphasis on coding bootcamps has abated.
There’s a new wave of companies betting that the next wave of ‘everyone will code’ will have a different flavor. In this version of the story, the ambition is generalized: ‘everyone will create software, with or without code’. In other words, one need not be a software engineer or even know how to code in order to create applications of value for themselves, their companies, or their customers. These companies are behind the emerging era of ‘no code’, an ecosystem of software that aims to bring this vision to life.
People are using no-code tools to build everything from personal apps for their friends and family, to internal tools at large enterprise companies, and even to launch and scale startups.
This nascent ecosystem seems to be thriving: while it’s hard to find industry data on adoption of no-code tools, partially because the definition can be tenuous, the VCs are certainly paying attention. Two darlings of the movement have raised big VC rounds over the past 18 months: Airtable raised a $185M series D in 2020 and Webflow raised a $72M series A in 2019. Another darling, Zapier, having mostly gone the bootstrapped route, is profitable with over $50M annual recurring revenue (this figure was estimated as of 2018, and so the true number could be 2-5x this).
But there’s one company that seems to have flown under the radar: Bubble.
Bubble was founded in 2012, and took almost 7 years to reach the point that the founder considers its real ‘minimum viable product’. That hints at the product’s complexity. In 2019, after reaching the MVP, Bubble raised a seed round of ~$6M.
Compared to the other companies mentioned above, Bubble is not as polished, and has a much steeper learning curve. And given its funding history, has taken a lower profile compared to its peers. But Bubble is creating the programming language of the future—a visual programming language—and might just represent the future of ‘everyone will learn how to code’ far more than any other so-called ‘no-code’ tool.
We’ll get deeper into Bubble, its flywheel, and why I am so excited about its potential, but first a bit more background on no-code.
I chatted with Bubble CEO Emmanuel Straschnov for this piece and published it as a podcast episode! Click here to listen.
The Code Bundle
In a sense, one could say that ‘coding’ is a bundle of the following:
Structured logic: computer programs do exactly what the code commands, in the order that it commands it. Logic therefore reigns supreme, and coding rewards those who can solve puzzles using the most concise and logically elegant solutions possible.
Syntax: like with spoken languages, code syntax depends on the language chosen. For a simple example, the logic of these two code snippets is exactly the same. The syntax is not.
Javascript for-loop:
let a = [‘foo’, ‘bar’, ‘baz’] for (i in a) { console.log(a[i]); }
Python for-loop:
a = ['foo', 'bar', 'baz'] for i in a: print(i)
Tooling: search for ‘best IDE’ and you’ll see that there are millions of tooling choices developers need to make when embarking on their code journey. This is part of the learning curve for new developers as well. Even if you have learned the logic and syntax required, you still must find a place to write, test, debug, and deploy your code. This can be surprisingly difficult for the uninitiated.
There are other components: for example, Git (the version control paradigm that underpins GitHub) is a complex topic that is certainly required for anyone coding professionally, but these are the core components that are relevant to the discussion of code vs. no-code.
No Code is a Misnomer
The term no-code is a misnomer. For one thing, even tools like those I mentioned above rely on knowledge previously reserved for ‘coders’. To use Airtable, Webflow, and Zapier effectively, one must have some knowledge of database design, CSS, and APIs, respectively.
Furthermore, most, if not all, of these tools allow users to extend their functionality with code. Bubble, for instance, allows users to define custom APIs that unlock the long-tail of use cases that Bubble doesn’t support out of the box.
But the real reason I think ‘no-code’ is a misnomer goes back to the coding bundle I described above. In the bundle, syntax and tools are merely conduits to express logic. No-code tools similarly allow users to express logic unencumbered by the need to struggle with syntax or tooling. Under the hood, computers don’t understand text code at all, they respond to currents that flip switches to either be on or off. We invented programs called compilers that translate the human code into machine-readable code. Whether the logic is expressed via text or through visual representations is not actually that important given that context.
Text code, no-code, any apps we use, these are all abstractions of various types. In fact everything in computers is an abstraction. An abstraction is a way to understand and/or interact with an idea without needing to understand all of the details. If I run a simple addition program on my computer using code, I don’t need to understand the inner workings of the circuits that handle the computation. As soon as people moved away from programming computers with punch cards the long project of abstracting away the low-level details began.
The task of making computers easier to control is the history of computers. And the haters saying 'that's not real' have also been there every step of the way . A look back at the history of software development sheds some light: when Grace Hopper created the first ever compiler in 1952 that could handle text that was not mathematical notation, she faced pushback: “I had a running compiler, and nobody would touch it because, they carefully told me, computers could only do arithmetic; they could not do programs.”
The idea that code is” stuff you type in” is actually an artificial boundary we've placed, and it appears that the boundary may be starting to fade away.
All of this matters because logic is the truly fun and invigorating part of coding. No-code tools lower the barrier to creating software not because they are easier than coding, but because they allow users to focus on the most stimulating and intellectually rewarding part, and outsource the annoying stuff to behind the scenes.
But not all no-code tools are created equal. There are many, very useful applications for tools like Webflow and Airtable. But it’s Bubble that I see as having the potential to represent the next leap for writing software. Bubble is not just creating a tool that can be used to build any kind of application, but they are also building a true programming language. It just so happens to be visual.
Bubble: Visual Programming
I first started paying close attention to the current wave of ‘no-code’ after listening to an excellent IndieHackers podcast episode with Ben Tossell of Makerpad and Sahil Lavingia of Gumroad, but my history of tinkering with stuff goes back farther.
One of my most formative career experiences was in my first (and only) year as an Associate at KPMG, when I automated a bunch of super manual work using VBA Scripts and Excel, saving hundreds of hours and providing me interview fodder for years. In my next job at a hedge fund, I built our entire trading business using Excel and Bloomberg’s built-in API.
About two years ago, I caught the ‘everyone should code’ bug, and have spent hundreds of hours learning everything from Machine Learning to React. But despite my admittedly raw skills, when I wanted to quickly launch a project shortly after COVID hit in March, I experimented with no-code tools rather than carrying on with code. Eventually I discovered Bubble, a ‘visual programming’ tool, and haven’t turned back since.
Bubble is a comprehensive web application development product. I have been referring to it as a ‘full stack’ no-code tool, because it contains everything one needs to build and launch a web-based project. Using the visual drag-and-drop editor, one may design the visual elements of each page; using the workflow tab, a user can define actions for every element on the page (or workflows to run in the background based on any number of logical conditions), and a fully-featured, built-in database.
Anything that can’t be done through the hundreds of built-in tools Bubble offers out of the box can likely be done with one of the community created plug-ins. These are custom behaviors that anyone using Bubble can define and then release for public use. And if one discovers some behavior that cannot be done with the existing plug-ins, Bubble offers an API connector that allows users to write code—yes code!—to connect to any API in the world.
Take my experience for example: while building my product, I discovered that some Stripe payment-based functionality that I wanted to enable wasn’t supported by existing Bubble tools. I wrote a custom API for it, and decided to offer it on the plug-in marketplace. I checked a few months later, and over 400 Bubble apps were using my plug-in.
After years learning how to code, it hit me that Bubble is just another step in the evolution of software development. It’s not a no-code tool, but rather a new programming language, that has the potential to unlock the magical feeling of writing software to millions of new people. Folks who may not want the traditional code bundle for any reason could find both the intellectual stimulation and the usefully applicable skills of a software engineer in a tool like Bubble.
The Bubble Flywheel
Bubble’s flywheel starts with use-cases: these are the features that are available in the app. For a simple example, a built-in feature in the Bubble workflow editor is ‘sign a user up’. A user can create a button, and easily define the action ‘sign a user up’ upon button click. If the app’s user clicks that button, a new user will be created and added to the app database.
This is but one of hundreds (maybe thousands) of built-in use cases that come standard in Bubble. Because of the open-endedness and complexity, there’s a pretty steep learning curve. The Bubble onboarding walks users through 10 (!) distinct ‘app-building exercises’ before entrusting users with access to its first blank app. Emmanuel and team are actually proud of the learning curve; they believe it’s a reflection of the power of their platform that users need to invest some solid learning time to get going.
The learning curve contributes to the rich community element: Bubble’s forums are heavily used by Bubblers who share best practices, use cases, and offer support to one another. And there’s a symbiotic relationship between the community and the marketplace.
When you can’t figure something out in Bubble, you turn to the forums first. Often, you’ll discover that what you’re attempting can be done with a 3rd-party plugin, and that the author of the plugin has a forum thread on your use case. If not, you might create your own plug-in, post about it on the community, and hope the next user who struggles with that use case will find you.
Here’s the example I mentioned of the plug-in I created, and the users who have adopted (or attempted to).
Everyone should learn how to Bubble
One thing that is often lost in the debate on whether people should learn how to code is that there are typically two very distinct and different reasons someone might turn to code.
First is for practical reasons: there’s a specific project that needs to be built, a specific problem that needs to be solved, etc. The decision then becomes what tool is best for the job. For people who don’t already know how to code, learning to code to launch a very specific project is likely going to be too slow. No-code fills the gap here pretty elegantly.
The other reason is for general learning, and to gain skills that might come in use sometime in the future. For this, coding is a wonderful endeavor. Given time (and usually some money), the idea of spending several months or years learning how to code is really compelling to young and old students.
This is where I think Bubble has the opportunity to really shine. The fact that it tickles a similar part of the brain as learning traditional coding languages means that it can actually become something people learn before they need it.
Techcrunch lays out the case that today’s children who are growing up on Minecraft and Roblox are going to become the no-code generation: “Take the popularity of platforms like Roblox and Minecraft. Easily derided as just a generation’s obsession with gaming, both platforms teach kids how to build entire worlds using their devices. Even better, as kids push the frontiers of the toolsets offered by these games, they are inspired to build their own tools.”
As this generation of kids grows up, many will find their way to a CS major and a software engineering career; but many more will have the aptitude for it, the interest in it, but not pursue it for one reason or another. The no-code tools that are more analogous to programming languages may represent the perfect stand-ins for these millions of would-be developers.
In this sphere, nobody is even close to Bubble.
Today’s edition of The Flywheel was brought to you by No Code MBA:
Did this article get you jazzed about learning no-code?
No Code MBA teaches you how to build powerful apps, websites, and automations using the most popular ‘no-code’ tools. Through step-by-step video tutorials, you’ll learn by building real-world projects like Product Hunt, Tinder, Zillow, and Headspace to get the hands-on skills necessary to build on your own. With a No Code MBA membership, you'll get access to 150+ premium video lessons and all content released in the future.
My good friend Seth from No Code MBA is offering a special 50% discount to readers of The Flywheel if you subscribe within the next week. The Flywheel readers can subscribe for $99 per year (or $174.50 lifetime) by visiting the link below. The discount expires on January 19th:
That’s it for this edition of The Flywheel. Thanks so much for reading. A huge thanks to Tanya, Kushaan, and John for helping out with this one.
If you liked this article, smash that like button and share with a friend! Let me know your take on Twitter here.