TNS
VOXPOP
Will JavaScript type annotations kill TypeScript?
The creators of Svelte and Turbo 8 both dropped TS recently saying that "it's not worth it".
Yes: If JavaScript gets type annotations then there's no reason for TypeScript to exist.
0%
No: TypeScript remains the best language for structuring large enterprise applications.
0%
TBD: The existing user base and its corpensource owner means that TypeScript isn’t likely to reach EOL without a putting up a fight.
0%
I hope they both die. I mean, if you really need strong types in the browser then you could leverage WASM and use a real programming language.
0%
I don’t know and I don’t care.
0%
AI / Software Development

AI for Developers: How Can Programmers Use Artificial Intelligence?

Artificial intelligence isn’t taking your job, but it does warrant your attention! Click here to learn why and how to use AI for developers.
Sep 18th, 2023 11:17am by
Featued image for: AI for Developers: How Can Programmers Use Artificial Intelligence?
Feature Photo by Christopher Gower on Unsplash.

 No, AI isn’t going to steal your job.

Artificial intelligence (AI), machine learning (ML), and natural language processing (NLP) are changing the landscape of… just about everything we do. And therein lies the problem: Is AI going to impact your job for the worse? If the headlines are any indication of things to come, you — my software developer friend — might be feeling nervous. But let’s hit the pause button, because this conversation isn’t exactly black and white. Under the right circumstances, AI for developers can be a good — nay, a great — thing.

In this article, we’ll cover:

  • Why machine learning algorithms will not fully take over the software development lifecycle.
  • Why and how AI code assistants are your friend.
  • How you can use AI-powered tools to your advantage.
  • A few examples of AI code writers and other tools you might be interested in.

Let’s go!

Wait, Will AI Replace Developers?

It’s one of the biggest concerns stopping some of us from moving forward into this next chapter. Over the years, there have already been stories and fears about robots taking our jobs. There are robots in Las Vegas mixing and serving drinks. In Texas, we saw the first-ever McDonald’s where you’re served by robots. At Amazon Go stores, you can shop without scanning anything or even talking to another person.

What does this more for those of us in tech? Won’t artificial intelligence make developers obsolete? I mean… just look at Google’s autocomplete.

Alt text: Autocompletion for AI searches in Google

 

Yikes. But wait.

First, let’s look at what’s likely the inevitable truth: AI probably isn’t going away. Natural language processing and large language models are only going to get savvier. A recent study from PricewaterhouseCoopers (PwC) shows that the AI market could add $15.7 trillion to the global economy by 2030, with up to a 26% boost in GDP for local economies from AI by 2030.

And make no mistake about it: Your employer is very likely looking into generative AI, if they haven’t already asked you to get to work on it! In fact, 64% of businesses think AI will increase their productivity. 60% expect AI to boost sales. They’re also hoping it’ll help them avoid more mistakes (48%), save money (59%), and streamline processes (42%).

Just look at the Google trend for the search term “AI tools”:

All of this is to say that if you’re not already using AI as a developer, you likely will be soon — or, you should be.

That said, know that artificial intelligence is not a replacement. It’s a supplement. It completes or enhances the whole. Indeed, AI has its limits. (More on this in a minute!)

For this reason, AI simply can’t replace developers. Rather, AI allows developers to focus on what they do best — build and ship — rather than get caught up in repetitive tasks.

The Benefits of AI for Developers

“I’m fine. I don’t need AI,” we can hear you saying. Hold that thought — let’s talk about this. The tides are turning, and you might want to go with them and not struggle against them. Here’s why.

1. Artificial Intelligence Is the Master of Automation

Developers are responsible for a lot of work that ends up being painfully repetitive and monotonous, like testing and debugging. Writing code in the first place can also be extremely tedious.

Depending on the source, developers might be spending nearly half of their development time debugging. Take half of your yearly income, multiply it by how many developers there are on your team alone, and you’ll start to get an idea of the time and money your company is spending just so that you can address bugs.

Now, imagine AI doing a good chunk of that work for you. Yes, we’re talking about automated code reviews, unit tests, code generation, and the automatic implementation of other repetitive tasks that can end up being a huge time-suck.

Alt text: Using AI for coding on a laptop screen

This technology can potentially do a lot of the heavy lifting when it comes to code completion. Picture being freed up to work on projects that you normally wouldn’t have had time to accomplish. Like Simon Willison — the creator of Datasette and co-creator of Django — said, this technology allows you to be more ambitious.

That’s the power of using AI tools for software development.

2. AI Can Reduce the Likelihood of Human Error

There are some things that humans are better at than technology. And, undoubtedly, under other circumstances, the reverse is also true.

If you write code snippets purely by hand, it is prone to errors. If you audit existing code by hand, it is prone to errors. Many things that happen during software development are prone to errors when they’re done manually.

No, AI for developers isn’t completely bulletproof. However, a trustworthy AI tool can help you avoid things like faulty code writing and code errors, ultimately helping you to enhance code quality.

While you won’t rely on AI tools for the entire coding process, leaning into AI coding assistant tools more often will reduce the likelihood of human errors and make your life a whole lot easier. AI-powered code is the present and the future.

3. AI and ML Allow for More Robust Data Analysis

It’s not only about using AI tools to write code, suggest code, and help with other potentially tedious tasks. You can also use AI tools to interpret, dissect, and audit the code that you already have. This can help you make more informed, data-driven decisions.

As an example, let’s take a look at Ambee, a climate tech start-up that is quickly growing. From the get-go, MongoDB Atlas has been at the center of Ambee’s database architecture, helping to support their AI and ML models.

With MongoDB Atlas, Ambee is able to run AI models that deliver data as a service to their own clients and provide intelligent recommendations. Without MongoDB, it would be exceedingly difficult for Ambee to house all of its data in one location and operationalize it for different use cases.

For example, Ambee uses AI to predict forest fires and their outcomes across the United States and Canada. This also means sending critical warnings to organizations so that they can protect people and property.

Source: https://www.mongodb.com/blog/post/ambees-ai-environmental-data-revolution-powered-atlas

For all of the reasons explored above, the conversations around AI and ML are far too complex to be as simple as, “Will this take my job?” Rather, we need to expand our horizons and think about the limitless potential thanks to this life-changing technology. Think of all the amazing ways that AI will help you create even better work than you already are.

How to Leverage Artificial Intelligence and Machine Learning as a Developer

It’s one thing to talk about how beneficial AI tools can be in software development, but it’s even better to actually experience it. Let’s talk about how you can get started using AI to improve code quality, code generation, and the software development process as a whole.

1. Use AI Tools to Support Your Efforts — Not Replace Them

We’ve said this already but it bears repeating. AI tools are a supplement, not a replacement. You can’t (at least, not yet) completely remove yourself from the development process.

There are still a myriad of things you can do that AI cannot. Period.

2. Know the Limits of the AI Tool You’re Using

Because AI tools can’t do everything, you have to be aware of where technology exits and you enter.

For instance, while you can absolutely use AI tools for debugging, you should still have human beings doing thorough testing and QA before updates to your software are made available to the public. Otherwise, you might end up with a mess on your hands. (Keep reading for some rather concerning examples.)

3. Ensure Your Manager/Employer Is on Board and Clear on Expectations, Boundaries, and Security Protocol

Some brands are all about AI tools and want to dive in immediately, if not yesterday. Others are understandably a little more hesitant.

What is your employer comfortable with? What’s off-limits? Do they want you to use an AI tool to generate code but prefer you stick to testing and debugging manually?

Beyond the boundaries, what are the expectations and goals? While it’s fun to experiment with artificial intelligence, you should still do so strategically.

Finally, how are you ensuring that you’re using AI in a safe and secure manner? Is there specific data and information you need to avoid putting into AI tools?

4. Take Responsibility for the End Results!

AI is not 100% bulletproof, and you’ve probably already seen the headlines: “People Are Creating Records of Fake Historical Events Using AI“; “Lawyer Used ChatGPT In Court — And Cited Fake Cases. A Judge Is Considering Sanctions“; “AI facial recognition led to 8-month pregnant woman’s wrongful carjacking arrest in front of kids: lawsuit.”

This is what happens when people take artificial intelligence too far and don’t use any guardrails.

Your own coding abilities and skill set as a developer are still absolutely vital to this entire process. As much as software developers might love to completely lean on an AI code assistant for the journey, the technology just isn’t to that point. If something goes wrong with your code documentation, you certainly can’t tell your employer or your audience, “Sorry about that! Our code assistant slipped up.”

So, radical accountability is still a must. AI can assist developers in creating more secure code and also save time. But at the end of the day, it comes down to the brains — not the technology — behind the masterpiece.

5. Test Small and Scale Big

“Let’s just use AI for everything!” you’re saying. Hold that thought.

You have to crawl before you walk and walk before you run. Code assistants are enabling developers to build high-quality code faster and with more accuracy. But that doesn’t mean that software developers should go all-in from the word “go.”

Alt text: Software developer coding on their laptop using AI

Source: Pexels.

What might it look like to test small? Well, maybe you start by using an AI-powered tool to write individual code snippets. Or maybe you utilize an AI-powered assistant to make code suggestions.

If this goes well, maybe you progress to using an AI-powered tool to manage entire functions, complete code, and automate repetitive tasks that you’ve always done manually.

Popular AI Tools That Programmers Are Using

Okay, so you’re ready to take the next step — fantastic! What might that even look like? There are plenty of tools, platforms, and software that developers are enjoying.

GitHub CoPilot is an adopted AI developer tool.” The creators have trained it on billions of lines of code in various programming languages. Also worth noting is that GitHub Copilot can integrate with one of the most popular code editors: Visual Studio Code!

Alt text: GitHub Copilot statistics

Source: https://github.com/features/copilot

Protect yourself from security vulnerabilities with something like Amazon CodeGuru Security. It uses ML and automated reasoning to find issues in your code, offer recommendations for how to fix them, and track their statuses over time. As part of its key features, it will also scale up and down with your workload.

The inner workings of Amazon CodeGuru Security

Source: https://aws.amazon.com/codeguru/

Sourcegraph is a code AI platform to help you build software. Its code graph powers Cody — a powerful AI coding assistant for writing, fixing, and maintaining code — and Code Search, helping devs explore their entire codebase and make large-scale migrations and security fixes. Write functional code and get suggestions based on the code context.

Finally, add Amazon CodeWhisperer to your list! It provides provenance for generated code to help developers decide if there are any issues with software licenses.

AI Is Your Friend

Across any number of programming languages, whether you’re dealing with tiny code snippets or entire applications, whether you’re new to the world of software development or you’re a seasoned veteran, artificial intelligence, machine learning, and natural language processing will be one of your greatest allies.

Use AI-powered code for the power of good, and your next code-based project will be a win.

Group Created with Sketch.
TNS owner Insight Partners is an investor in: Pragma, Sourcegraph.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.