Our experience in transitioning to hybrid development using AI

Elijah BrownElijah Brown
8 min read

A short introduction

It's no secret that these days, AI (or to be more precise, big language models), have become ubiquitous. They already know how to perfectly answer user queries (especially when using manifestos to achieve goals), generate good images, search for information on the Internet and do many other things.

In today's article, we would like to talk about how things are going in terms of programming. How well progress is moving there, and whether it is realistic to apply AI today in actual product development.

A short about us - We are in the e-commerce product development business and have already been implementing AI tools everywhere based on our experience - smart product feeds, product card generation and more. But even though we've been using AI tools for enterprise tasks for quite a long time and tightly, we've only recently introduced them into development. And let's see how things are going with the application of AI in the development process?


How can AI help in development?

When can AI be useful?

Artificial intelligence has significantly changed the approach to software development in recent years, providing developers with new tools and capabilities that can significantly improve the efficiency and quality of the products they create.

One of the key capabilities of AI is the automation of routine tasks. Modern AI systems are capable of performing many tasks, such as writing basic modules or templates, testing, writing documentation and debugging.

We've highlighted a few things that help us specifically:

  • Replacing Stack Overflow and Google search (noise reduction) in a number of basic tasks;

  • Help in comparing algorithms and patterns for subsystem design;

  • Help with basic creation of user interfaces, text and translation work;

  • Technical support;

  • User context and recommendations;

  • Auto-complete and code writing;

  • Generating templates for development;

  • Writing documentation;

  • Basic algorithm development;

  • Refactoring;

  • Testing;

When can AI be harmful?

Above we have highlighted the points where AI can be useful. However, it is unwise to leave all the work to AI. Language model technologies, whatever their context, are far from perfect. Therefore, you need to recognize when AI can harm your development:

  • When the developer is unable to clearly identify and set his task;

  • When the developer has bad competence in the issue he/she is solving with AI;

  • When it would take less time for the developer to write the code than to further debug and verify the code written by the AI;

All of this needs to be taken into account when applying AI implemented into your processes. You should always remember that AI is not a replacement for a programmer, but a great tool for simplifying development processes. It is foolish not to use these advantages, but it is also unwise to rely on them completely.


Applied and indirect tasks

First, let's understand the tasks involved in research and user data, rather than writing the code itself.

Stack Overflow replacement

Search engines are imperfect, and there are times when AI can understand the context of your query more easily and better than you can Google it and start scouring the pages of Stack Overflow and other forums. In most cases at this point, AI is already getting better at finding answers to a lot of common questions, but complex systems are still difficult for it.

It's important to note here that AI is simply speeding up the search for information. In addition, today it is possible to make a squeeze of current queries and shorten the answer.

Architectural planning assistance

Наш опыт перехода на гибридную разработку с использованием ИИ, изображение №2

Compare several approaches in architecture without flipping through 200 pages describing key features of these or those approaches? Of course, it is easier to do it on the basis of AI, as it copes quite well with outlines of already existing information.

You feed it your ideas + source of information about these or those solutions and get a brief, comparative extract of what suits your tasks. Save time and nerves for yourself. With ready examples based on your task, not Hello World from a book.

User interface and translations

Наш опыт перехода на гибридную разработку с использованием ИИ, изображение №3

AI helps you solve basic issues of rapid prototyping of user interfaces, it can help you draw it, layout it, as well as write basic texts, translate them into different languages and much more.

At this point, AI can help you create a full-fledged layout or templates for a product MVP, reducing your time on this routine task.

Context for users (recommendation algorithms)

Another point that is important for the end user is personalization. In combination with social profiles (for example, a user authorized through VK gives access to his data and interests) and AI with a set role of a consultant, you can give the user the necessary content already on the first entry into the application.

How does this roughly work?

  • Let's say you have a database of products (clothes) for all ages, genders and in different styles;

  • A user goes to your app and authorizes via social network;

  • AI with a given consultant context selects the necessary products on the main page of the application (so that a man in his 30s would be given relevant products in priority depending on the season and other parameters);

Technical support

Another method of reducing costs in the development department is AI-based technical support. We connect a chat (for example, Chat GPT), feeding it our knowledge base - and it automatically tries to solve the user's problem. In 70% of cases - this is enough to avoid contacting a real specialist.


Okay, now let's get to the most useful area - the development itself. Here we will look at solutions to tasks that come in handy on a daily basis.

Context-based auto-completion

Наш опыт перехода на гибридную разработку с использованием ИИ, изображение №5

Classic IDEs have had intelligent auto-complete built in for a long time, but the way it works now with all the context of the project, your recent actions and the AI - it works quite fast and snappy.

The only thing to consider is security. If you have any critical code that needs to be confidential - I would consider deploying LLM with auto-complete and writing code based on the entire project context - inside your corporate network (or locally), goodness Open-Source solutions are already plentiful.

Generating code templates

Наш опыт перехода на гибридную разработку с использованием ИИ, изображение №6

You can quickly generate some code templates based on your finished work, project context or completely from scratch. For example, this can be useful when creating new modules of your product based on some existing architecture (for example, generating models, controllers, views and routings based on the project context with a description of your API scheme).

Naturally, such patterns are worth testing, like anything AI does. But, in general, routine code writing becomes much faster if you don't generate huge classes (which should be avoided in programming based on the principles of SOLID).

Development of basic algorithms

Наш опыт перехода на гибридную разработку с использованием ИИ, изображение №7

Yes, of course you can use search, but sometimes it's easier to ask GPT to compare several variants of algorithms, run a test for you (for example, by executing on JS code) and based on the most suitable algorithm - create the necessary function for you. Of course, you should check the code for correctness afterwards, but it helps to speed up the research process.

Refactoring

Наш опыт перехода на гибридную разработку с использованием ИИ, изображение №8

During the product lifecycle, you always have to change some things. For the most part, refactoring should be done manually, but with strict adherence to a normal Git Flow, many routine tasks can still be automated.

As a rule, AI has already learned to identify the main bottlenecks in popular languages and helps to solve them during refactoring. The development of basic algorithms described above also helps.

Writing individual non-critical MVPs

Наш опыт перехода на гибридную разработку с использованием ИИ, изображение №9

In some cases, AI can also help you develop non-critical MVPs that will not affect your business processes. For example, to sketch a test application for your new service or a basic library to test some hypotheses.

Of course, sometimes AI still gets confused and makes a mistake somewhere. However, if you provide more context and clarify the tasks, the result can be quickly transformed into a basic MVP for your new test project.

Testing and debugging

Наш опыт перехода на гибридную разработку с использованием ИИ, изображение №10

Yes, you can (and even should) use a combination of human QA, auto-tests, and of course AI. The AI itself will help you cover the necessary classes with the help of the same auto-tests and tell you how to set them up correctly. And where can you go without code debugging.

Here we can also mention the documentation of the code. It is useful to make sketches based on your API schema for the end user and beautifully format it all, both inside the code itself and external documentation files.

And not to be completely unsubstantiated, we have collected a list of used and tested solutions for you:

  • Cursor - one of the coolest IDEs with code generation, refactoring, auto-completion at the press of Tab button and context of your project;

  • DocuWriter - A great tool for writing AI-based documentation;

  • UX Pilot - perfectly working tool for rapid UI prototyping with support for exporting to figma;

  • Replit AI - development assistant and agent for your projects;

  • Bito AI - Code review and Refactoring tool with cool plugin for VS Code;

Let's summarize

Today, AI is not replacing the developer, but it is unleashing the developer. Accelerating development through tools based on large language models directly gives you an advantage in the market, but don't forget that you should in any case pump up your skills, because without understanding what's going on, it will be hard to work with AI.

10
Subscribe to my newsletter

Read articles from Elijah Brown directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Elijah Brown
Elijah Brown

🤔 My name is Elijah, I've been working in the game development industry for more than 10 years and I love to solve various problems related to my field. 🔭 My main tool as a person working with both mobile and console games is of course Unity. ⚡I also worked with WebGL and used mostly C# or NodeJS as a server language. I would be glad to share my experience - you can always write to me in Discord (SodaBoom).