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

April 25, 2024

JFrog announced a new machine learning (ML) lifecycle integration between JFrog Artifactory and MLflow, an open source software platform originally developed by Databricks.

April 25, 2024

Copado announced the general availability of Test Copilot, the AI-powered test creation assistant.

April 25, 2024

SmartBear has added no-code test automation powered by GenAI to its Zephyr Scale, the solution that delivers scalable, performant test management inside Jira.

April 24, 2024

Opsera announced that two new patents have been issued for its Unified DevOps Platform, now totaling nine patents issued for the cloud-native DevOps Platform.

April 23, 2024

mabl announced the addition of mobile application testing to its platform.

April 23, 2024

Spectro Cloud announced the achievement of a new Amazon Web Services (AWS) Competency designation.

April 22, 2024

GitLab announced the general availability of GitLab Duo Chat.

April 18, 2024

SmartBear announced a new version of its API design and documentation tool, SwaggerHub, integrating Stoplight’s API open source tools.

April 18, 2024

Red Hat announced updates to Red Hat Trusted Software Supply Chain.

April 18, 2024

Tricentis announced the latest update to the company’s AI offerings with the launch of Tricentis Copilot, a suite of solutions leveraging generative AI to enhance productivity throughout the entire testing lifecycle.

April 17, 2024

CIQ launched fully supported, upstream stable kernels for Rocky Linux via the CIQ Enterprise Linux Platform, providing enhanced performance, hardware compatibility and security.

April 17, 2024

Redgate launched an enterprise version of its database monitoring tool, providing a range of new features to address the challenges of scale and complexity faced by larger organizations.

April 17, 2024

Snyk announced the expansion of its current partnership with Google Cloud to advance secure code generated by Google Cloud’s generative-AI-powered collaborator service, Gemini Code Assist.

April 16, 2024

Kong announced the commercial availability of Kong Konnect Dedicated Cloud Gateways on Amazon Web Services (AWS).

April 16, 2024

Pegasystems announced the general availability of Pega Infinity ’24.1™.