Last week I was in San Francisco to attend the launch of Postman Flows. It was a fun event focusing on innovative use cases built entirely on Postman's new visual editor. I walked around from booth to booth talking to different vendors who have built incredibly impressive workflows ranging from online bank management to controlling robotic arms - without a single line of code.
After talking with Postman CEO Abhinav Asthana, I realized the power of what they had done. Flows let you drag and drop API requests around on a canvas, linking them together to chain results, mutate variables, and display charts, graphs, and dashboard metrics. This is cool because it puts powerful workflow-building tools in the hands of non-technical folks.
But then Abhinav reminded me of something that made the gears in my head start flying. Postman has built a huge API network containing fully documented, functional API requests you can import into your flows. This means you have access to payment APIs from Stripe, text messaging APIs from Twilio, caching APIs from Momento, and hundreds more. They've assembled the world's largest API LEGO set, letting you build basically anything.
Software development is changing. Abstractions are getting higher and services are being introduced that handle more of the undifferentiated lifting for you.
As we lean more into tech, we do less and less actual coding.
Don't believe me? Let's look at what's happening before our very eyes.
Low-Code Editors
Postman isn't the only one exploring this space. We've seen big updates and announcements from AWS around low-code development. The Step Functions workflow studio is probably one of the best visual builders I've ever used. It lets you piece together hundreds of AWS SDK calls while taking advantage of conditional logic and callback functions. Pretty much everything I build these days is backed by a Step Function workflow created and maintained in the designer.
We also have AWS App Composer that brings the visual designer to your Infrastructure as Code (IaC). You can create all the resources, permissions, and secrets for your apps without touching code.
On the furthest end of the low code spectrum are companies like OutSystems and Bubble. These vendors provide you with visual editors that do everything from building your user interface to configuring and optimizing your database. I've been using OutSystems for years to build rapid prototypes because of how easy they make it to build a website.
Native Cloud Paradigms
If you haven't seen some of the things Wing and Ampt are doing, it's time to take a look. While these providers still require you to write code, you have to write a heck of a lot less of it.
I originally called frameworks like these Infrastructure from Code, but I feel like they are taking on a bit more than that nowadays (in a good way). After reading a post from Ampt CEO Jeremy Daly about native cloud development, I'm convinced this is going to be the most palatable step for developers from where we are now to "nobody writes code anymore".
With native cloud development, you don't have to worry about the nitty-gritty details around your infrastructure. You write your business logic and let the framework do the rest. Ampt will even monitor your app and adjust the type of compute it's running on to optimize it automatically.
Generative AI
Of course, no article about the future would be complete without mentioning generative AI. The tech wave taking over the world by storm has launched hundreds of startups, enhanced thousands of products, and made possible countless use cases that were never feasible in the past.
We've already seen services like GitHub Copilot and Amazon CodeWhisperer creep into our daily lives. They autocomplete our code and offer optimization suggestions as we type, often providing recommendations we never would have considered. We also have Meta about to enter the playing field with Code Llama, potentially offering the next big advancement in code completion.
Not only do we have code completion mechanisms, but we're also starting to see from-scratch code generators that use generative AI to interpret and build code from nothing but a prompt. Most, if not all, of these need a person to "ok" what was created, but as we continue to advance in the AI space, human interaction is going to be needed less and less often. We're going to be left with prompt engineering.
What Does This Mean?
To some, all this might be exciting. To others, it might be horrifying. All the tools, paradigms, and AI generators might take our jobs and leave us, well... out of luck.
That's not going to happen. There will always be a need for programmers.
However, what we consider "traditional programming" might change drastically. The specialty degrees we needed to maintain systems and build top-of-the-line services in the past might not be necessary anymore. Instead, programmers might be spending more of their time on workflow design and prompt engineering. We're a long way away from this being the norm, but it's not out of the question.
We live in an age of just do it for me. More and more managed services are coming to market that handle the undifferentiated heavy lifting so we can focus on becoming differentiators. We are building on higher and higher abstractions that are fundamentally changing the way we approach software. More responsibilities are landing in the hands of non-technical contributors. We go from idea to production in record-breaking time and we can iterate faster than ever before.
So, is coding on the way out? Maybe the coding we know today. But what's emerging is a set of empowering tools that help us move faster, scale better, and become more resilient to errors. Do I like change? No, not really. But do I like where we're headed? Absolutely.
Happy coding!
Top comments (5)
IMHO GenAI is a an accelerated starting point for coding. Important to use/have available as a tool, more important to know when to use and when not to...
What we're seeing is user tools that more closely resemble coding tools rather than coding tools that more closely resemble user tools. That coders can and will use these tools to get things done isn't a change from how things were.
In the before times, all HTML was coded by hand in notepad, vi, emacs or whatever your flavour of text editor was. Then came tools for uses to do WYSIWYG web pages. Developers used them too. It didn't spell the end for hand edited html. The tools got better and we can now point and click our way to a fully functional, secure (https and other protections) web-store with credit-card billing and all the bells and whistles. People still need to write all that tooling and still, many web-stores are made by developers first hand.
The user tools being sold as developer tools is a pain in my butt. Orgs see that sales pitch and it devalues the developer, disparages them. The Org starts believing they can throw these tools at us and get their requirements met faster and with fewer issues. "Look, even the accountant can make this cool thing!" Then the non-trivial requirements roll in. Suddenly the tool's limits have been found. The accountant can no longer maintain their solution in the fancy tool. The developer is now handed a steaming pile to fix in production because the rigours of the development process were never thought of before now.
The fancy tool soon finds its true place: proof of concept development or limited functionality. Maybe it is a cog in the greater solution that is finally built after the software development process actually happens, if the tool has the hooks needed.
I've seen so many low/no code tools come in as a saviour only to be gone once it's discovered how hard it is to add a loop to that fancy process manager you were sold for $100K/year. (I'm looking at you IBM) Yes personal experience: I took 3-6 months to write up a replacement BPM that saved us the $100K/y not counting internal and external support time. We did not need the fancy gui so the project managers could drag and drop steps into swim lanes. We had that in Visio, where they described the process and handed the diagram off to the dev to build the process.
AI in the world of assistive coding appears to be an overly ambitious text completion engine with strong opinions born from unknowable sources. Do not trust generated code always review it.
Not completely. Someone has to code the no-code/low-code solutions :)
AI is good and it will get better, but it will never replace/duplicate the human imagination. And that is where true innovation happens.
Happy Coding
Ai is human imagination too. I think Ai will never surpass the human imagination boundary. Ai will be better at every scale.
These tools will still have to be coded, deployed and run.