No Code Platforms Are Creating a New (Maybe Better) Class of Developers
Thanks to no-code platforms, developers can be freed from syntax. Use that to up your logic game.
I’ve rediscovered my love of coding. And I did so without writing a single line of code.
No-code platforms are not a new invention. They’ve actually been around as long as code. The first startup I ever joined was a software development company that pivoted to selling the frameworks we had created to increase the speed and quality of our own development.
And as long as I’m dating myself, the first time I ever wrote a line of code was on a Commodore 64. Since then, I’ve founded, built, and sold companies in which I was the sole developer. But I haven’t touched a programming language in any professional way for a decade. I’ve been content to let real programmers do the actual programming.
Over that decade, languages, stacks and platforms have gone in and out of vogue, and most everything I was proficient in got too old to be of much use any longer (happens to the best of us at some point).
I now look at software code like a foreign language I picked up over a summer. I can hear it and I understand some of it, but I’m afraid to speak it lest I sound like an idiot.
No-code platforms are capitalizing on the fact that this is how most business and product professionals view software development. We get it, we kind of understand it, but if something doesn’t work like it’s supposed to, the syntax to get what we want is way out of our league.
But now, users of no-code platforms don’t need to know anything about syntax. Not a single command. This seems like a small change, but it’s actually a pretty big deal.
No-code platforms have begun producing a new class of software developer. And with all that mental energy being tapped for creativity in the logic instead of wasted on the memorization of syntax, no-code might end up producing a more productive software developer.
We’re all compilers anyway
When you dive down into software development, all of us developers are mostly relying on frameworks and platforms anyway (props to you folks slinging actual machine language, but most of us are compiling what we write).
My most useful skill as a coder was never a photographic memory that helped me remember all the syntax. I still keep Stack Overflow open when I code. My top skills were logical thinking and pattern recognition.
Those skills don’t work in a vacuum, which is where the majority of software development happens. Furthermore, coding in a vacuum usually produces less-than-spectacular results. As anyone who has had a bad experience in offshore development will tell you, if there’s a translation problem from the business requirement to the software requirement, a circus of unusable garbage software can cascade out of the outsourced shop.
So as software development shops started hiring proficient business and product experts to complement their coding talent, so too did business and product professionals start turning spreadsheets into databases with really poor user interfaces and low automation.
About 10 years ago, standalone automation apps and user interface platforms emerged to fill the gap, like Zapier, Slack, Airtable, and a host of low-code front-end platforms.
Two problems remained, however. One, the low-code platforms still required a good deal of technical understanding to use properly. Two, the automation services were extremely limited in what they could automate.
Then about five years ago, complete no-code options allowed business users to build and release complete helper apps, simple applications that could be used within an organization, but that are not quite robust enough to be released as a product to the general public. These apps automated internal business functions, with a front end, back end, data management, security, APIs, all available in a limited fashion.
Today, a platform like Bubble, which I’m using to build out a real product, has gone way past limited functionality, enough to evolve business users from helper app developers to product developers. In other words, these platforms have brought software development to the mainstream.
But with one catch.
You don’t have to learn syntax, but…
It’s very much true that no-code platforms don’t require the “coder” to know anything about syntax. But having the syntax written for you does not in any way guarantee good code.
Without the logical thinking, problem solving skills, and pattern recognition that actually makes great coders what they are, no-code products can easily turn into a circus of unusable garbage software. I can only imagine thousands of abandoned no-code projects that just got too complex, or didn’t work, or required too much input for a tiny bit of output.
But with those skills learned, the problem solvers of the world no longer need an expensive army of software developers working in a vacuum to solve the problem. And productize it. And monetize it. And build a company around it.
A software product is much different than a software program. Product developers are thinking about customers instead of users, value instead of data, and solving a more universal problem than just automating a series of tasks.
The secret sauce of a successful product is in how the product solves the problem, not the magic of the technology used to solve it. When you think about it that way, all product apps are actually just helper apps on steroids.
So here are the steps to go from a helper app to a full-blown product.
Don’t try to build it all at once
The biggest temptation for a problem solver using no code is to try to solve the entire problem in one sitting. Young coders do this early in their learning and then never do it again once they go through the pain of having to rewrite their application over and over again as things change.
Good coders compartmentalize and attack the problem in pieces.
In fact, it’s a good idea to start out with spreadsheets, and those third-party services like Zapier and Slack, and let the no-code platform act as a home base for the customer to see it all tied together. Then, perfect each part of the use case and use the no-code platform to automate and track those tasks, eventually eliminating all of the third-party products.
Think way ahead on your data structure
Most bad software begins with bad data structure. Good coders not only think about what the data will be used for, but also what the data could be used for, now and down the road.
So where and how the data is kept needs to be a structure that’s flexible and expandable. A good way to think about this is to keep it simple and stupid.
Don’t store something until you have to, then make sure what you store can be updated without manually going into the database.
Your users aren’t users, they’re customers
And customers need all kinds of classification. So you need a well defined user structure with a customer funnel built around it. This means you’ll need to track every change in their definition as a customer (for instance, prospect to current to former) and you’ll need to track every action your customers take in your system.
Now, this also means you’ll need to balance customer information tracking with the flexible and expandable data structure described above. So at a minimum, always be thinking about relationships. What is your customer’s relationship to the company, to the product, to their purchase history, and even to other customers? Define these relationships and all their forks and paths before you start coding.
You’ll probably have other entities in your system — administrators, partners, vendors, even your customer’s customers. And when everyone is a user, these relationships can deteriorate quickly if not defined properly.
Do not sleep on security and privacy
There is no kind of trouble more serious than security and privacy trouble, so you need to be strong on both. Most of the no-code platforms at least help you with the basics, but keeping track of who sees what and who has access to what and how long they have access to it is something you need to plan for ahead of time.
This means logins, passwords, account self-service, encryption, and continuous testing of the protections you have in place with every new release and feature.
Money! That’s why we’re here.
Payments are hard. Even with third-party services like Stripe and PayPal, seamlessly taking payments is a science in itself. Nothing will turn off customers quicker than a sketchy or difficult-to-use payment process.
Oh, and another serious kind of trouble? Fraud trouble. You’re going to have to deal with fraud and refunds and incorrect expectations and complaints. These are all costly problems which also take a lot of time to resolve. The more prevention and automation you can put in place ahead of the problem, the better off you will be.
Support — Because once you launch, you’re on 24/7
The business world doesn’t sleep anymore, and on the internet there’s no such thing as closed. You’ll need to build in self-support functionality and automation everywhere possible, so that you’re not painted into a corner to act immediately every time something breaks.
You’ll also want to think about every outlier — what happens when the customer tries to do this. You’ll want a plan ahead of time, or better yet, keep them from doing that.
Good coders take all this problem solving and integrate it into a product to deliver a seamless solution that doesn’t feel like technology. You’ve been freed from syntax, thanks to no-code platforms. Just make sure you use that freedom to up your logic game.
Hey! If you found this post actionable or insightful, please consider signing up for my newsletter at joeprocopio.com so you don’t miss any new posts. It’s short and to the point.
If you want more direct startup advice, look into Teaching Startup.