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

September 21, 2023

Red Hat and Oracle announced the expansion of their alliance to offer customers a greater choice in deploying applications on Oracle Cloud Infrastructure (OCI). As part of the expanded collaboration, Red Hat OpenShift, the industry’s leading hybrid cloud application platform powered by Kubernetes for architecting, building, and deploying cloud-native applications, will be supported and certified to run on OCI.

September 21, 2023

Harness announced the availability of Gitness™, a freely available, fully open source Git platform that brings a new era of collaboration, speed, security, and intelligence to software development.

September 20, 2023

Oracle announced new application development capabilities to enable developers to rapidly build and deploy applications on Oracle Cloud Infrastructure (OCI).

September 20, 2023

Sonar announced zero-configuration, automatic analysis for programming languages C and C++ within SonarCloud.

September 20, 2023

DataStax announced a new JSON API for Astra DB – the database-as-a-service built on the open source Apache Cassandra® – delivering on one of the most highly requested user features, and providing a seamless experience for Javascript developers building AI applications.

September 19, 2023

Oracle announced the availability of Java 21.

September 19, 2023

Mirantis launched Lens AppIQ, available directly in Lens Desktop and as (Software as a Service) SaaS.

September 19, 2023

Buildkite announced the company has entered into a definitive agreement to acquire Packagecloud, a cloud-based software package management platform, in an all stock deal.

September 19, 2023

CrowdStrike has agreed to acquire Bionic, a provider of Application Security Posture Management (ASPM).

September 18, 2023

Perforce Software announces BlazeMeter's Test Data Pro, the latest addition to its continuous testing platform.

September 18, 2023

CloudBees announced a new cloud native DevSecOps platform that places platform engineers and developer experience front and center.

September 18, 2023

Akuity announced a new open source tool, Kargo, to implement change promotions across many application life cycle stages using GitOps principles.

September 14, 2023

CloudBees announced significant performance and scalability breakthroughs for Jenkins® with new updates to its CloudBees Continuous Integration (CI) software.