I have been writing code for the past 15 years. I have experienced many languages and technologies, but none have impacted my life as much as no-code technology has.
If you're not familiar with no-code technology, it's a "new" way of programming without writing code. Whether it is a website creation platform like Wix or an application development platform like Bubble, no-code is taking over our lives. It enables people who do not know how to or have time to code to create software without needing to write code.
Even though I do know how to write code, and if I don't, I can quickly learn, I use no-code technology at least weekly, and sometimes daily.
No-code technology enabled me to take my skills and knowledge to a level I wouldn't have reached as rapidly with only code. I covered many of the fundamental reasons why no-code technology can propel IT organizations to the next level in a previous blog post. Still, I thought I would give you concrete examples from my experience.
Before we dive into the examples, let me tell you a little about me, what I do/did for work so you can have some context as to how no-code ended up fitting into my life.
As I mentioned previously, I have programmed for the past 15 years; maybe more, I honestly haven't kept track. I did take a few programming classes in school and college. I would say I took a total of about five formal computer science classes throughout my entire education.
Don't let my non-conventional computer science background fool you; I can still pull my weight when it comes to programming. I spent most of my career writing code to solve problems. I programmed robots, did big data analysis for particle physics, and, now, I solve IT business problems using code.
I write code to run on both single and multiple systems, each posing its own sets of challenges, but let's face it, multiple systems are harder to handle.
One crucial detail of my job descriptions in IT is that, even though they all mention scripting and programming as preferable skills, programming to the extent that I do it is not part of my job description. That's where no-code technology comes in.
Let me quickly touch on the fact that I do more programming than is expected of me. My employers would like me not to do as much programming as I do because those skills are hard to find for my position, which means that I am irreplaceable. As good as it feels to be invaluable, it's not a scalable practice for my employers.
1. Quick fixes
A lot of work in IT is about putting out fires. In those cases, code gets written to solve problems as they occur at the moment. In those cases, there isn't always time to write good code. It tends to be a balance between ready quickly and quality.
Of course, crappy code never gets released into production *cough* B!@#$*&t! *cough* But no-code technology reduces the odds that it will happen.
One of the great qualities of no-code technology is that even though it cannot solve all the problems, the solutions for the problems that it does solve have been thoroughly reviewed and vetted. The implication of that is that the code running underneath no-code platforms is a production-quality code.
Let me give you a quick example of how I use no-code for quick fixes: I wrote a script to gather data on various computers (thousands). It gets deployed through standard means, but the problem is that there is no easy way to get the data back.
The standard way to solve this problem would be to write a program and run it on a server to gather the data. Or write data to a common file, but it's not easy to guarantee that this will be possible. The one thing I know for sure is that they will all have internet access. That's what makes Microsoft's Power Automate the ideal platform to solve this problem.
With Power Automate, I can quickly create an HTTP listener to trigger a workflow when data is submitted. In two steps, I now have a way to aggregate my data into an excel file. And if I need to act upon an anomaly, I can immediately send an email for remediation. This entire process takes a few minutes, and I haven't written a single line of code.
Is that something that I would have been able to solve myself? Yes, definitely. It's more or less the same type of code I used to write Koupi. But is it worth it to write this code from scratch in this situation? No, unquestionably not. With Power Automate, I created a significant component of my software in a few minutes. A few years ago, solving the same problem would have taken hours, if not days, of hard work for a piece of code that will run for a week. It's also important to note that I get paid more in an hour than it costs to purchase Power Automate for one month ($15/month at the time of writing), making a 1-month subscription pay for itself right off the bat.
2. Production integrations
No-code integrations in production! What!? Yep!
Look, there will always be a naysayer that will put down no-code as less valuable than code. Heck! I used to be one of those! But the truth is, no-code technology is fantastic at what it does. It doesn't do a lot compared to custom code, but what it does, it does very well.
For production environments, the only requirement is that something works reliably. No-code technology fits that bill perfectly.
After having written hundreds of thousands, if not millions, of lines of code in my career, I can say with absolute certainty that I trust no-code technology far more than I trust my own code for production environments. I probably spent more time hunting down missing semi-colons in C++ in the past ten years than I have spent troubleshooting no-code tools. Don't get me wrong; I gained a few gray hairs trying to figure out some of those tools. But, overall, they are more accessible than code.
Another incredible advantage/drawback of no-code technology for production is that the code itself is not your problem. You do not need to maintain it; you do not need to troubleshoot it. If there is a newer, better way of doing things, it will be available to you in production, seamlessly.
Let me give you another quick example: At a previous company, I had to make sure that computers that were re-imaged (put a new clean version of windows on them) had the same name as they previously did. The first iteration of this was using a spreadsheet on a shared drive. It worked OK until someone had the spreadsheet open and prevented everyone from making any changes. So we needed a new solution.
It was awesome because it took just a few clicks to get snapLogic to connect to ServiceNow. And since an account was already configured in the service, all I had to do was drop the snapin, set a few settings, and we were in business.
With this approach, I created a robust integration in production without breaking anything. In case you were wondering, one day, ServiceNow contacted us because my account had opened 60 THOUSAND sessions. They thought it was a DDoS attack, which it was, but not an intentional or malicious one. Of course, this was user error, but I can tell you that snapLogic did not make that mistake.
3. Not worth my time
This may sound a little dismissive, but there are things where my writing code would be counterproductive and, therefore, not worth my time, especially if there are no-code technologies available to do the job.
The one advantage of writing code is the ability to have full control over the logic and the execution of the program.
Like most other aspects of life, there are things we all deem not worth our time, things like growing food, learning to fix a pipe, doing construction, etc. That's not to say that they are not worth doing or learning; there just isn't time in our lives to be a renaissance man. And also, thankfully, some people specialize in those jobs so we can all use our time as best we can without worrying about having to perform those tasks.
It took me a while to learn this lesson. I like to think that, when it comes to writing software, I can write all the code I need better than anyone else because I can translate my vision to code more easily than I can to English or drawing. If you have ever tried to center an HTML div using CSS, you know it's not that easy. This brings us to our example for this section: building the Koupi website.
I have written websites before, back in the olden days when you paid for internet access by the minute, and you couldn't have both phone and internet service at the same time. I wrote the entirety of the code of the Koupi application (minus the libraries). As a solo founder, I cannot focus on writing code for the application, the website, writing blog posts, supporting users, and reaching out to potential users all at once. Some things have to give, and in this case, it's writing code for the website.
As a developer, I do miss having full control over the components of my website. As annoying as it may be, I do love adding new elements to the Koupi application and go in google chrome to format it exactly how I want to. There is something about breathing life into a basic and boring element that words cannot describe. But the groundwork required to get to that level is more than I'm willing to do right now.
4. I am not capable of doing better
Developers cannot be good at everything. Code is a magic wand for computers, but not all computer witches and wizards have the same skills.
No-code technology gives developers access to the skills they do not have with minimal effort.
Even though I have touched a lot of computing aspects at one point or another in my career, I cannot perform or be good at all of them. Nobody can. Sadly, there aren't enough hours in a day or a life to become an expert at everything computer science has to offer. Especially given that new tools, concepts, and languages get created, and die, every day. Back in 1941, it was easier to be the expert in all of computer science because it was a nascent field. Not to minimize any of Alan Turing's work or contributions, which are considerable.
One of those many aspects of computing that I am not good at is data visualization. Writing code to visualize data is not necessarily trivial, especially given that data is messy. Thankfully, wonderful people came up with great tools for this, and I am NOT talking about Excel.
One of the constants in my career is the need to come up with data visualizations. I started with Excel, as everyone does. Then I moved to ROOT from CERN. Nowadays, I work more with no-code tools like Tableau and Power BI, which have radically transformed business intelligence.
With both of those tools, I can drag and drop fields into an input and out comes beautiful dynamic graphs. I can click on a point on a chart to filter the entire report. I can hover over a data point and get additional details about that data point. And all I need to do that is data. I can get from raw data to beautiful visualization in minutes.
Of course, these tools only help with the visualization. Code still needs to be written to analyze and format the data. Or does it? I have not used nor have I needed to use any of those tools, but there are no-code tools out there to perform data analysis and transformation effortlessly without writing code. You can even do machine learning without code.
No-code technology is a truly fantastic field. It enables so many to do so much more without needing to be an expert. It has changed my life and my work more drastically than I would have thought possible.
Those changes are the reason why I created Koupi. Years of no-code technology has enabled me to become an expert at writing code for automation. Now is my turn to give back and allow people to become automation experts without code. I hope that Koupi will change people's lives the same way that other tools have changed mine.
What no-code tools have changed your life? Let me know in the comments below!