The active influence of Artificial Intelligence in all spheres of our lives is already a surprise to few. We are used to interacting with chatbots, creating content with AI in the form of texts or images, working with code, and much more. According to Grand View research, the global AI market is expected to grow at a CAGR of 37.3% from 2023 to 2030. And the presence of AI in software development will be one of the actively growing industries.
AI is not capable of replacing programmers, however, it can help them automate workflows. How? We learned about this from several experts, and we are ready to provide their answers for you.
Chris Fitkin, Partner at MetaCTO, talks about his experience and notes that it makes him more effective:
“I use AI for writing software code every single day. It’s made me 10x more efficient as a developer. But generative AI won’t write a whole app for you. And most out-of-the-box autocomplete in IDEs get it wrong more often than they get it right. The key is picking the right tools and asking the right questions.
Picking the right AI tools for writing code
The easiest place to start is with ChatGPT on OpenAI. As simple as it is, this is one of the best tools I still have. It’s great at answering questions about code and generating code from short prompts like “write me a function in Python that takes 2 arrays and returns the intersection”. Next, is your IDE. This is an obvious place because it’s where you’re writing code.
Microsoft’s GitHub Copilot and Amazon Q Developer both have plugins for the most common IDEs like JetBrains, VisualStudio, and Xcode. They’re a great start, but I think the UX is still a little cumbersome and the autocomplete recommendations are wrong just as often as they’re helpful.
Then there are more purpose-specific software.
I use the Cursor AI code editor. It’s a fork of Visual Studio IDE with direct integration to OpenAI ChatGPT-4. The tightly coupled UX, OpenAI’s latest model, and the IDE project context make it the most effective AI coding tool I’ve found to date.
I’d also give an honorable mention to Codium AI which is doing really cool things with local model tuning and query context based on recent and local files to generate better and quicker code responses. But the UX of their plugins could still use some work.
Asking the right questions
Like I said before, AI won’t write your whole application. But if you know the right questions to ask, it will cut out hours of research and development time
Here’s my favorite ways to use AI and GPT to generate code and work faster.
Refactoring
AI can rewrite code when you have a new use case or need it in a different format.
Examples:
Writing documentation
I’ll do this for code I’m writing or as the first step when taking over an old file that someone else wrote.
Examples:
Library documentation and best practices
I love this feature in the Cursor IDE. When generating code or using the AI chat you can add documentation for new libraries by importing the docs URL then ask and learn the “correct” way to implement those framework patterns.
Examples:
More efficient code
GPT coding is the death of leetcode. There’s virtually no code I can write, that AI can’t write more efficiently. Anytime I’m looking at space-time complexity in my code, I give it a once over with AI.
Examples:
Stubbing out new files
Using AI to stub out new files can save a lot of time and keep file structure more consist across a project.
Examples:
Searching your own codebase
One of the coolest parts of IDE integration is being able to search with the context of your whole codebase and ask questions. This is especially useful when jumping into a large project for the first time.
Examples:
While AI can’t write a whole app or project for you, it can definitely make you a better developer today
AI in software development is moving at a lighting pace. If you want to be one of the developers who grow with AI, keep trying new things. Try new IDEs and plugins. Ask new questions. Ask the same questions you asked last month to see how the models are changing.
In the future, AI might be writing whole applications for us. But today, knowing the right tools and the right questions will make you a better developer and truly transform the way you work.”
Anand Kulkarni, CEO & Founder of Crowdbotics, shares the following thoughts:
“With CodeOps, users can speed up the process of creating software by using reusable parts, snapping together pre-validated components — a task machine intelligence excels in. Processes can be automated by using AI to write your requirements and then “stapling” the parts needed to build the software product. Anyone, nontechnical or otherwise, can show up and use natural language to describe what they are trying to create, and then AI, trained on an organization’s requirements and a large system of historical requirements doled out by the world, will write what’s next.”
Michael Hess, an AI expert and Senior Analyst at Code Signing Store, shares his experience of using AI:
“Adaptive Learning Algorithms: I employ AI to build application models that can update their behavior as the users apply it. It also pre-personalizes these experiences in real-time, which enhances the usage of applications by improving the user interaction.
Predictive Code Refactoring: This is one area that can be predicted by AI, the need for code refactoring before the issues may escalate. Some of the features that work are the identification of beneficial code changes based on patterns and or the usage data recommended by tools like Embold to improve the health of code.
AI-Powered DevOps: Integrating AI into DevOps as a practice referred to as AIOps enables organizations to predict maintenance requirements for the infrastructure systems. There are tools like Moogsoft that are used in identifying various anomalies and likely failures to maintain a constant flow of integration and delivery in an organization.
Optimization Through AI
Natural Language Processing (NLP) for Requirements: By analogy, with the help of NLP AI is capable of translating the requirements formulated by the user in natural language into the code frameworks. This facilitates the connection between non-development team members and developers, hence helps to organize project initiations.
AI-Driven Code Reviews: Delivering beyond simple mistake-searching, services such as CodeGuru consist of comprehensive code analysis with a focus on the code’s effective execution, as well as the potential security flaws that a reviewer could bypass while performing their duties.
Current Limitations
Lack of True Creativity: Creativity, the voice of the work, and originality, meaning newness, are all absent in AI. It thrives in pattern recognition but can do little at generative thinking of new concepts.
Contextual Nuance: AI provides the general or less-than-optimal solution due to the inability to grasp contextual elements in project management.
The Future of AI in Development
AI is expected to become more of a co-developer in projects who will be able to grasp the general objectives of a project and then cooperate to solve problems with human developers. There will be more applications of AI in project management and enhanced debugging tools that detect issues and come up with integrated solutions.”