JFrog announced a new machine learning (ML) lifecycle integration between JFrog Artifactory and MLflow, an open source software platform originally developed by Databricks.
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.
Industry News
Copado announced the general availability of Test Copilot, the AI-powered test creation assistant.
SmartBear has added no-code test automation powered by GenAI to its Zephyr Scale, the solution that delivers scalable, performant test management inside Jira.
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.
mabl announced the addition of mobile application testing to its platform.
Spectro Cloud announced the achievement of a new Amazon Web Services (AWS) Competency designation.
GitLab announced the general availability of GitLab Duo Chat.
SmartBear announced a new version of its API design and documentation tool, SwaggerHub, integrating Stoplight’s API open source tools.
Red Hat announced updates to Red Hat Trusted Software Supply Chain.
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.
CIQ launched fully supported, upstream stable kernels for Rocky Linux via the CIQ Enterprise Linux Platform, providing enhanced performance, hardware compatibility and security.
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.
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.
Kong announced the commercial availability of Kong Konnect Dedicated Cloud Gateways on Amazon Web Services (AWS).
Pegasystems announced the general availability of Pega Infinity ’24.1™.