How Developers Can Use ChatGPT as a Powerful Development Tool
June 07, 2023

Jeremy Jackson
Shift Lab

There's no buzzier technology right now than ChatGPT and for good reason. Because while the hype over how blockchain was going to transform trust, financial systems and even the business of selling art has yet to materialize, ChatGPT and, more broadly, generative AI are already delivering real value. In fact, ChatGPT is already so powerful, there are many who worry that generative AI will ultimately replace creative and information workers.


ChatGPT is not yet ready to produce code unsupervised

When it comes to software development, I personally believe that there will always be a need for talented human tech practitioners who are able to solve difficult, complex problems. But whatever your beliefs on that matter, the fact is, ChatGPT is not yet ready to produce code unsupervised, and doesn't take much time working with it to see why. Ask it enough complex questions, and while you'll always get something that sounds good, do a bit of digging and you may discover that it has completely invented some of what it says and may have even manufactured non-existent references. That said, in my experience, the code it produces can be helpful. In fact, in the hands of a seasoned developer, ChatGPT can be a very powerful tool.

Developer Use Cases for ChatGPT

ChatGPT can significantly increase the speed of development and the time it takes to create a solution … so long as it's used properly. As I noted above, it's not safe to use the code it generates without checking it first, which is why it's important that developers hone their instincts for what looks like well-formed code and what doesn't.

We've all pulled code from forums and sites like Stack Overflow, and no responsible developer would use that kind of code sight unseen. Treat code from ChatGPT in the same way. After all, it's likely the AI lifted the code from a site just like Stack Overflow and, perhaps, modified it a bit.

But even though it needs to be checked, the code ChatGPT generates is great for producing a framework on which to build. Note, however, that ChatGPT is best at creating code for specific, relatively simple tasks that are frequently repetitive. I often use it, for example, to create code for software testing and data connectors between applications. The more unique or complicated the task is, though, the more likely ChatGPT will produce flawed code.

ChatGPT is also an excellent tool for training developers and building knowledge. Hazy on how to create a higher-order function in Typescript? Fire up ChatGPT and type, "Explain the concept of higher-order functions in Typescript and provide three examples."

You're an expert with Ruby, but just getting your feet wet in Python? Type "Explain how to form class objects in Python and provide several examples."

Finally, ChatGPT is great at creating documentation, a task that most developers truly dislike doing. Again, you don't want to use ChatGPT to document complex, unique code, but for simple, straightforward code such as the expected outputs and inputs for a connector, the AI does a good job. You'll want to read through and edit it, of course, but that's much faster than creating the documentation from scratch. As a result, developers can spend more time doing what they truly love: building.

ChatGPT Best Practices

ChatGPT is a new tool in the developer's repertoire, but already, best practices are emerging.

Understand what an accurate answer will look like: ChatGPT is not a great tool in the hands of a programmer who's still wet behind the ears, because you need to have a clear understanding of what the code should look like so you'll know right away if anything is out of whack. Without this understanding, there's no way to use ChatGPT efficiently and safely.

Create prompts that are very specific, especially about the context of your query: Context is very important when you ask ChatGPT to provide code. Also, don't forget that you can specify in what format you want it to produce information. You don't have to settle for a wall of text and a snippet of code. For example, you might say, "I'm using React as my language, and as a programming assistant, I need to connect an AWS-hosted Postgres database to another application. Provide a connection string that substitutes any connection parameters with a curly brace. If I need more, I'll provide follow-up questions."

Never share identifying or proprietary information: Researchers can read your input and use it to further train the AI, which means there's a possibility that any code or information you give ChatGPT could show up as output for someone else at some point in the future. The ChatGPT FAQ is clear on this. If you're using the API, the terms say that your input won't be used in training — even so, it's best to err on the side of caution.

There's little doubt that ChatGPT and other forms of generative AI are going to change how developers work, and it's only going to get better over time. Smart, experienced developers should begin now learning how to use these tools to generate frameworks, improve their knowledge, and become more efficient. The future is here — we'd all best prepare.

Jeremy Jackson is CEO of Shift Lab
Share this

Industry News

May 07, 2024

Oracle announced plans for Oracle Code Assist, an AI code companion, to help developers boost velocity and enhance code consistency.

May 07, 2024

New Relic launched Secure Developer Alliance.

May 07, 2024

Dynatrace is enhancing its platform with new Kubernetes Security Posture Management (KSPM) capabilities for observability-driven security, configuration, and compliance monitoring.

May 07, 2024

Red Hat announced advances in Red Hat OpenShift AI, an open hybrid artificial intelligence (AI) and machine learning (ML) platform built on Red Hat OpenShift that enables enterprises to create and deliver AI-enabled applications at scale across hybrid clouds.

May 07, 2024

ServiceNow is introducing new capabilities to help teams create apps and scale workflows faster on the Now Platform and to boost developer and admin productivity.

May 06, 2024

Red Hat and Oracle announced the general availability of Red Hat OpenShift on Oracle Cloud Infrastructure (OCI) Compute Virtual Machines (VMs).

May 06, 2024

The Software Engineering Institute at Carnegie Mellon University announced the release of a tool to give a comprehensive visualization of the complete DevSecOps pipeline.

May 06, 2024

Synopsys has entered into a definitive agreement with Clearlake Capital Group, L.P. and Francisco Partners.

May 02, 2024

Parasoft announces the opening of its new office in Northeast Ohio.

May 02, 2024

Postman released v11, a significant update that speeds up development by reducing collaboration friction on APIs.

May 02, 2024

Sysdig announced the launch of the company’s Runtime Insights Partner Ecosystem, recognizing the leading security solutions that combine with Sysdig to help customers prioritize and respond to critical security risks.

May 02, 2024

Nokod Security announced the general availability of the Nokod Security Platform.

May 02, 2024

Drata has acquired oak9, a cloud native security platform, and released a new capability in beta to seamlessly bring continuous compliance into the software development lifecycle.

May 01, 2024

Amazon Web Services (AWS) announced the general availability of Amazon Q, a generative artificial intelligence (AI)-powered assistant for accelerating software development and leveraging companies’ internal data.

May 01, 2024

Red Hat announced the general availability of Red Hat Enterprise Linux 9.4, the latest version of the enterprise Linux platform.