5 creative ways developers are using AI

Applications of AI

As AI becomes more widely used in the technology sector and the number of AI-powered coding platforms, tools, and services available increases, developers are looking for ways to best utilize AI to accomplish their programming tasks and objectives, and increase their productivity while handling more tedious and time-consuming programming tasks.

So I spoke with a few developers to get their thoughts on how they're using AI creatively. While many developers use tools like GitHub Copilot, Claude 3 Opus, Pieces for Developers, and Codeium to generate code and automate tasks, developers are exploring other ways to use AI to be more productive.

1. Code Testing and PR Review

“I know people who are using AI to write unit tests for the code they write,” says Shane Thomas, a veteran software engineer and co-founder of Audiofeed. “It saves them a lot of time from having to write the same kinds of tests over and over again. They still need to validate the results, but they seem to be getting good results.”

While there are benefits to using AI for unit testing, other experts, like Swizec Teller, technical lead at Tia, have urged caution when using AI for testing. In a note posted to X, Teller suggested that in some cases, developers should use AI for testing, such as using it to generate large amounts of “a variety of production-like inputs.”

Developers are also using AI to simulate code reviews, which helps developers prepare for reviews with human peers. “I know someone who is using AI as the first stage of a teammate's pull request review,” Thomas says. “He told me he'd received comments from other engineers about the thoroughness of his PR reviews, but many of his comments were first flagged by the AI.”

2. Learning Path

Education and learning is another area where developers are putting AI to good use.

“As I've been learning more about prompts, I've been using ChatGPT to create a learning path for myself,” says Bekah Hawrot Weigel, technical AI advocate at OpenSauced. “I tell ChatGPT what to do each day and ask it to come up with activities that we can talk about.”

3. Automate repetitive tasks

Another creative way developers are using AI is to automate some of the most tedious and time-consuming development tasks, such as analyzing complex code to assist with code maintenance and tracking down obscure bugs. In a recent article in The New Stack, Eran Yahav, CTO and co-founder of Tabnine, suggests that AI can help alleviate some of the tedious work:

“As AI coding tools automate many tasks, developers will likely find that some of the skills they learned are no longer necessary,” Yahav wrote, “but that's OK, since many tasks involve tedious tasks that developers are happy to let go of.”

4. AI-powered programmer search

While all developers rely on search and AI tools to solve code problems, some are using new AI-powered tools to find human expertise.

“I work at OpenSauced, so I may be biased, but we built a tool called StarSearch that helps you find the 'stars' in the open source space by indexing various forms of developer activity, including git history,” Weigel says. “For example, you can ask it to help you find Tailwind Developers who also know Rust. This is a great example of how AI can go beyond code completion to provide deeper insights into open source and enhance developer discovery and collaboration.”

5. Generating documents and data models

“it is really amazing [examples] What I always use is [using AI to] “It helps with unit testing, it helps with documentation, it helps with data models and name generation, and things like that,” said Mark Widman, CTO and founding engineer at Pieces for Developers.

New Stack contributor Jon Udell has also written about using AI to improve documentation, detailing his experience using LLM-powered tools such as Unblocked to enhance the creation and maintenance of code documentation.

“Writing documentation from scratch is as unusual as writing code from scratch. More commonly, you'll be updating, extending, or refactoring existing documentation,” Udell wrote. “I was hoping that an LLM-equipped tool with both code and documentation could provide strong assistance, and Unblocked delivers.”

Caution and Concerns

Widman is pleased with the progress being made by OpenAI in general (and the OpenAI API in particular), but is particularly impressed with how the latter is moving closer to developer workflows. But he cautions that there's still a lot of work to be done to further improve on what's been achieved so far: “data privacy, additional operating system support, [and reducing the large] “Latency Cost”

We've already touched a little on the work AI vendors have yet to do on the data privacy front (see the “Cons and Caveats” section of our previous article focused on AI-powered development tools). But there are other concerns developers need to consider as they consider creative uses of AI. One danger is over-reliance on AI for too many tasks. This can lead to poor code quality or developers being unable to perform development tasks without the assistance of AI.

In 2023, GitClear reports that AI-assisted development is “putting downward pressure on code quality,” creating “disturbing trends in maintainability,” and that “the percentage of lines of code that… [of code] The amount of data that is reverted or updated within two weeks of its creation is projected to double by 2024 compared to a pre-AI 2021 baseline.”

AI-assisted programming: Is the best yet to come?

Despite caveats and potential drawbacks, the relentless advancement of technology means we can expect to see more AI-powered development in the future, and programmers can creatively adapt it to their own needs. Kristian Ranstrom, owner of Rainstorm Technologies and an experienced software developer, points out that upcoming tools such as GitHub Copilot Workspace have the potential to take developer productivity to new heights.

“Although it's not yet generally available, I'm very excited about Copilot Workspace,” says Ranstrom. “I'm on the waiting list for it and can't wait to see how much it speeds things up.”

Widman encourages developers to look at how AI is being used outside of software development for inspiration, then adapt and adapt those examples for themselves, and believes the pioneering work of AI researchers and developers will lead to even more creative use cases.

“One of the most important things I live by is that we are all built on the shoulders of giants, so it never hurts to look at what’s currently being done and apply it to your own field to improve processes and save time. [and] Money and many other wonderful things!”

group Created with Sketch.

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *