Is Coding On Its Way Out?
Tags: applicationdevelopment, ai, programming
Published: 2023-08-23 12:09:26


Last week I was in San Francisco to attend the launch of [Postman Flows](https://learning.postman.com/docs/postman-flows/gs/flows-overview/). 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](https://twitter.com/a85), 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](https://www.postman.com/stripedev), text messaging APIs from [Twilio](https://www.postman.com/twilio), caching APIs from [Momento](https://www.postman.com/gomomento), 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](https://dev.to/aws-heroes/how-i-built-an-open-source-serverless-newsletter-platform-3bm2) is backed by a Step Function workflow created and maintained in the designer. 

We also have [AWS App Composer](https://aws.amazon.com/application-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](https://www.outsystems.com/) and [Bubble](https://bubble.io/). 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](https://dev.to/allenheltondev/the-5-w-s-of-the-rapid-prototype-3ib8) because of how easy they make it to build a website. 

## Native Cloud Paradigms

If you haven't seen some of the things [Wing](https://www.winglang.io/) and [Ampt](https://getampt.com/) 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](https://dev.to/aws-heroes/the-current-state-of-infrastructure-from-code-1fjc), 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](https://twitter.com/jeremy_daly) about [native cloud development](https://www.jeremydaly.com/cloud-native-versus-native-cloud-apps/), 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](https://github.com/features/copilot) and [Amazon CodeWhisperer](https://aws.amazon.com/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](https://www.geeky-gadgets.com/meta-code-llama-code-writing-ai/), 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](https://dev.to/aws-heroes/prompt-engineering-the-future-of-ai-driven-development-4elm).

## 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!