Why No-code is a Godsend for Developers
Tags: nocode, mvp, learning, productivity
Published: 2020-12-11 15:37:45

It's so easy as a developer to dismiss the idea of learning no-code tools. After all, you know how to code, why should you spend time learning tools designed for those who can't? While no-code inherently means a non-technical person is able to operate the tool, from my own experience and listening to leaders in the field like [Tara Reed](https://www.indiehackers.com/podcast/180-tara-reed-of-apps-without-code), no-code tools are often complex and lean heavily on concepts from software development. A developer will be able to get up and running much quicker and have a better understanding of a project's tech needs.

## Developer advantages

The most important experience developers bring to the table for no-code tools is not their knowledge of any particular language, but all the time they spend thinking about the systems they work on and how data flows through an application. No-code tools abstract a lot of boilerplate and let you focus on connecting the pieces together, but they still rely on very similar thought processes as building with code. This gives you an advantage over someone non-technical, who in all likelihood doesn't have to spend time considering how the apps they use function under the hood.

This second reason will change as the field picks up steam, but the current no-code tools are quite technical & complex to get running. Look at site builders, for instance. Yes, you can build visually. But if I don't know what a good design should look like, I will still end up with an ugly & weird website. Beyond that, making it possible to visually edit CSS isn't more useful to a person who doesn't already know CSS. Even if you're not a frontend wizard, you already have the mindset needed to learn how it works & how to find answers to your questions.

Developers are also used to getting down and dirty with the technical side of problems. To build something, you will still need to do debugging and handle edge cases just like you would with code, just a lot more of them will be problems with business logic now. You already are used to having weird issues arise and having to dig into these incremental problems before reaching your overarching goal.

## Can no-code build everything?

Not every idea can be built with no code, but the landscape of tools and their quality has expanded dramatically in the last few years. Building a web app? [Bubble has tutorials](https://bubble.io/blog/tag/how-to/) on how to build [MVPs](https://en.wikipedia.org/wiki/Minimum_viable_product) of the most popular ones like AirBnB, Spotify, Instagram, and more. You can visually build websites with Squarespace, Webflow, and the 5000 other site builders. You can connect events from thousands of apps together in interesting combinations with Zapier, Integromat, and the like. Makerpad has a [growing content library](https://www.makerpad.co/education) of examples of how to solve problems with different combinations of no-code tools. Even more tutorials can be found on [nocode.mba](http://nocode.mba), and there are tons of interviews on these sites and around the web with people who successfully built businesses without any coding required.

It's possible the problem you want to solve is so unique and complex it can't be done with no-code, and you are forced to get down and dirty with your favorite language. I'd bet a large sum, though, you're overcomplicating the features required to call your solution a success. Do you really need multi-region deployments, incredible fault tolerance, and a hand-crafted authentication system for an internal company app only 10 people will use?

## Why no-code over code

Do you enjoy spending time wrangling libraries and problems with your environment when you originally sat down to build something awesome? After a couple hours burned, you have 500 Stack Overflow tabs open and just got your repo to a 'Hello World' state. We've all been there, it's frustrating to realize you made no progress on the actual idea. With no-code, you can just make something instead of watching your laptop barf stack traces, despite the tutorial you're following saying it should 'Just Work'. 

With no-code, you save time and frustration when trying to prove out the concept in your head. It goes from a thought to in someone's hands much faster, so there is less time before you start learning about all the assumptions you got wrong. I've built multiple apps for myself thinking they would get used all the time, then stopped using them a week later because it was wishful thinking or I misunderstood my own needs. Luckily, I used no-code tools, so I was only out a fraction of the time if I had developed an app with code.  Spending weeks or months building out similar functionality, just to drop it, would have been incredibly disheartening.

I struggle in many of my projects to avoid Shiny Object Syndrome. It's so tempting to try out a new framework, a new language, or Serverless, or Kubernetes. Wanting to learn the newest, shiniest thing is awesome for expanding your skillset, but less awesome for actually finishing a functional version of your idea in a reasonable amount of time. You'll spend a ton of effort learning how this Shiny Object operates, and dealing with issues you created from lack of experience. You could argue no-code tools can still fall into this trap, and I'd agree, but you'll find out much faster if a no-code tool can't do what you need, and with quicker development times you're less likely to find a bunch of shiny new things before you've finished.

No-code helps keep your eye on the prize better, too. When coding it's easy to get sucked into the technical weeds trying to fight through bugs & your own logic to complete a feature, but it might not be worth your energy. Since they are simpler and have more guardrails on what you are able to do, it's easier to stay focused on the overall goal rather than getting sucked into the weeds. If you want to build a web app that helps people pet dogs, you aren't making much progress if all you've done is create an authentication system.

## Intro tools

At this point, you're raring to go find out what No-code is all about. There are a million no-code tools and new ones coming out all the time, it's the new hotness to build your own site builder like Squarespace. With so many it can be hard to know where to start, so instead of listing out all the tools from my bookmarks, I'll drop a few I've found easy to get going with. 

- [Carrd.co](http://carrd.co) = Simple, no fuss website builder with good price for the Pro version
- [glideapps.com](http://glideapps.com) = Create functional Progressive Web Apps you can use on phone or desktop with Google Sheets
- [Zapier](https://zapier.com) & [Integromat](https://integromat.com)  = The glue between every possible app you use. Set events from your desired source to cause actions in another app, .e.g. new email comes in and create a Contact in Salesforce
- [Bubble.io](http://bubble.io) = Visually build fully-fledged web apps. Haven't gotten to dive too deep with this yet, but the potential seems amazing.
- [Airtable.com](http://airtable.com) = Like a spreadsheet & a database combined. Integrates really easily with websites to display data.

No-code has been around since the days of Dreamweaver and is only building momentum. With it's continued growth, it's worth it for developers to at least understand what these tools are capable of. As tools continue to improve, businesses will more often use them to automate operations and free up devs to focus on the interesting challenges. Next time you want to learn something new, give a few no-code tools a try and see what's possible. You'll be surprised at how quickly you can slap together something functional instead of getting your libraries and environment in order.