Hey You! Happy New Year! It's Austin Starks. This article is also on Medium. If you can read, clap, and comment on that platform to increase my reach, that would be an awesome New Years gift to me!
|
With the news that Google may lay off up to 30,000 employees in 2024, you absolutely MUST be ahead of the AI trends… or be left behind. Google, as a company, understands that AI is more than an autocorrect tool, it’s a tool that can automate critical processes in any business with software engineers. Here are 3 ways AI will revolutionize software engineering in 2024.
|
The AI-Powered Pair Programmer
|
This bug was identified and fixed using AI and then open-sourced for the world to use. Without AI, this bug may never have been identified, and the incorrect implementation would still be silently wreaking havoc on the traders who relied on this library.
|
Tools like Copilot are already saving developers hundreds of hours, and IDEs like Cursor.sh are revolutionizing how developers write code. In 2024, we will see remarkable improvements on how AI can act as a pair programming assistant.
|
The Critical Copilot Code Reviewer
|
AI won’t just be used to write mission-critical code. Its best use-case will be to review, update, and fix the code that the developer (or the AI) already wrote.
|
This extends FAR beyond traditional static analysis tools. AI models, particularly GPT-4, have the ability to reason. Because of this, it can analyze code snippets, ask intelligent questions about your implementation choice, or make relevant suggestions. These suggestions are surprisingly valuable, and match the level of feedback you may expect from a mid-level engineer.
|
Some of the suggestions outputted by the AI model
|
The integration of AI models goes far beyond merely displaying suggestions in a user interface. These models will be embedded into our source management platforms, and integrated directly into our core push-pull processes. For instance, following the submission of a pull request, an AI will instantly conduct a code review, akin to the way unit tests are executed within the CI/CD pipeline. The developer will accept or reject the suggestions, the model will fix the code, and then unit tests will automatically be re-run to ensure no regressions were made in the process. This is a huge step in developer productivity and improving code quality.
|
The AI Architect for Advanced Test Automation
|
Unit and integration tests are essential when writing high quality software. Everybody knows that, and nobody wants to write them. Without high quality unit tests, making even a small change can have unintended consequences on your codebase, and have far reaching complications for your project. Imagine refactoring a large code base without a comprehensive test suite. You might as well re-write the system from scratch.
|
AI will make the process of adding high-quality tests 100x easier. AI specializes in writing generic boilerplate code, which is 90% of what makes writing unit tests so tedious. By automating the process, the developer can focus on the critical aspects of the unit tests, like making them pass to support the business use-case.
|
The cool thing about AI in software engineering is that the revolution is occurring as we speak. For example, platforms like Cursor.sh are being used right now to improve the developer experience by integrating AI directly into VSCode. We already know what use cases exist; it’s a matter of the big tech companies, the open-source community, and the scrappy startups to figure out the best implementations to improve the developer experience.
|
While these advancements are awesome and revolutionary, we should at least touch upon some of the potential detriments. AI, for better or worse, can be used as a crutch by developers. This is detrimental because these models, like humans, can sometimes make mistakes. For example, this Reddit post demonstrates how a confidently incorrect AI can delete your entire project, and a junior developer can easily miss this and blindly execute the output.
|
Moreover, if you’re not careful, you’ll notice yourself letting AI think for you. AI is amazing at many things, but it is no replacement for human creativity and ingenuity. We all should welcome AI into our workflows, but we must also remember to maintain our critical thinking skills and unique perspectives to ensure that technology enhances, rather than replaces, human innovation.
|
AI was the biggest buzzword in 2023, and for good reason. For the first time ever, we’ve demonstrated that AI can reason critically. This ability will enable AI to augment the smart developer who uses this superpower for good.
|
Developers who refuse to adapt will absolutely be left behind. AI isn’t a fad like blockchain; it is a paradigm shift in how we create, review, and test software systems.
|
Thank you for reading! Agree or disagree with any of the points I made? Leave a comment on the Medium article!
|
|