As AI hype sweeps the world, the market has rushed with so called AI powered coding assistants. These Large Language Model (LLM) powered assistants support developers by completing code with snippets. The new approach holds a promise of faster and more convenient coding practices. It’s especially helpful in generating repetitive code, solving issues on algorithms, and generating documentation. The assistants could make it possible for the developers to focus on the most complex and high value tasks.
What does this mean for different people is something yet to discover. For senior developers the assistant is most likely a completely different tool than for beginners. Could the assistant also work as an educational tool? And what happens if the code generated by the assistant is not understood by the coder? To my experience the current assistants make a lot of mistakes - is there a risk of seemingly functioning code that wasn’t validated by anyone? The models themselves will certainly evolve and improve at the speed of light. This does not yet address the human and software development process issues associated with this paradigm shift.
Counterintuitively, using assistants might initially even slow down the pace of development in the beginning.
Senior Business ConsultantJonas Pomoell
When developing new code, the developer plans and executes patterns as the result of a creative process. Assistants move the focus to prompting, reading, and validating the suggestions received. People who have excelled in implementing new code might not be as attuned to read and confirm suggestions. Counterintuitively, using assistants might initially even slow down the pace of development in the beginning. The first step in using an assistant is to learn the conventions that best suit the developer's personal style. And the only way to learn is to start experimenting with the tools right away.
As these tools become more prevalent, the skills necessary for success in the field of software development might be changing. This shift might create new opportunities for people with different skill sets. Validation might be easier for those with strong analytical and testing abilities. Are the skills of tomorrow actually testing skills, not the skills currently considered as coding? Ultimately, this paradigm shift in coding will have a significant impact on the industry. It welcomes people to adapt their skills to meet the changing demands of the field. New opportunities will arise for those with the necessary skill sets.
Many things are still unclear. What are the limitations of this approach? And what new disciplines are needed to achieve efficiency with the new tools? For example, can AI generate tests to test the code generated by AI? This question holds a kind of a philosophical tone to it.
In conclusion, the rise of AI-based coding assistants is about to bring a significant shift in the way we approach coding. What we can say already now, is that new skills are needed to get out the total potential of generative AI coding assistants. The future is not yet here – the current assistants’ skills are still extremely limited. Thus, we have time to experiment and learn. Yet, in the fast-changing digital world, every extra percent of efficiency and speed will be significant. On the other hand, hopefully the assistants also enable improved developer experience with more meaning, value and joy.