How is Sybit already leveraging artificial intelligence in software development, and for which tasks? What value does AI offer? What challenges do companies need to be aware of when using AI in software development? We answer these questions!
AI is everywhere — How does Sybit use AI in software development?
Jan: The field of artificial intelligence (AI) is evolving rapidly in software development. Major providers like GitHub, GitLab, JetBrains, and Google are now shaping their offerings for AI-driven software development solutions. Sybit’s challenge lies in not chasing every new trend but instead testing new technologies early on to see how they work within our specific context. Right now, gaining initial hands-on experience is particularly important for us.
Many of Sybit’s software developers already use GitHub Copilot to receive code suggestions in an autocomplete style while programming. This feature is useful not only for coding but also for writing configurations or creating translations for multilingual e-commerce shops. Tools like ChatGPT and Copilot Chat are used for debugging, analyzing log messages, generating tests, and suggesting improvements in code performance, security, or readability.
In addition, Sybit is experimenting with self-hosted language models (LLMs) and chatbots like GPT4All. We’re also conducting proof-of-concept tests with Flowise AI (LangchainJS) to integrate our own data sources, such as documentation or source code, into existing open-source LLMs. This enables more optimized suggestions and answers tailored to Sybit’s technology stack.
The goal of all these initiatives is to equip our developers with the tools to build efficient, high-quality solutions for our clients.
What value does AI offer, and where do you see further potential?
Jan: AI is currently providing Sybit with significant value, particularly through time savings in error analysis, automation of routine tasks, and support in writing "boilerplate" code. It not only benefits experienced developers but also makes it easier for newcomers to work within unfamiliar technology stacks. For instance, backend developers can more readily make adjustments in the frontend with AI’s help, even if they’re not yet fully versed in the syntax and concepts. This is invaluable in everyday project work and training.
I see the greatest potential, however, in making our collective knowledge more accessible. If we can integrate all our source code, documentation, and project configurations into a Sybit-specific language model using embeddings or fine-tuning, we’ll have a tremendous opportunity to make this knowledge accessible to any developer in the form of code suggestions or chatbots. This access to a rich repository of internal knowledge will enhance the quality of our work and enable us to respond even better to our clients' unique needs.
Are there concerns or specific challenges?
Jan: Of course, using AI presents challenges as well. A major consideration is the developer’s unchanged responsibility for the resulting source code. AI suggestions are helpful, but the final decision and critical review rest with a human. AI suggestions should not be trusted more than code written by a team member, which is also critically reviewed during the code review process.
Another key aspect is IT security and data protection. Especially when using tools like ChatGPT, it's crucial that employees do not inadvertently post sensitive business data or disclose other security-critical information. This is why we invest early on in educating our teams. Everyone needs to understand what’s acceptable, where caution is necessary, and how to use AI tools safely and effectively.
Overall, we see enormous potential in AI, but it’s a tool that must be used with care and responsibility. Through targeted training and clear guidelines, we ensure that technology supports us without compromising our core principles of quality, security, and data protection.
How does AI affect developers’ skill sets? Are new job profiles emerging?
Jan: AI in software development is certainly changing the skill profile for developers. AI takes over routine tasks and saves time, but it also presents new challenges. It’s now less about writing every line of source code manually and more about interpreting AI suggestions and integrating them into the existing software architecture effectively.
The ability to critically evaluate automatically generated code is becoming increasingly important. This is where established principles of the "software craftsmanship" movement come into play, including practices such as clean code, automatic quality checks via CI/CD systems, and a strong understanding of software architecture. These principles provide a solid foundation that enables us to use AI tools effectively and securely. They ensure that the integrity of our software is maintained, even when leveraging various AI-driven functions. This allows us to harness the benefits of AI and experiment without compromising software quality or security.
AI support also provides a significant advantage when working in unfamiliar technology stacks. In the past, getting up to speed in a new environment was challenging, but AI-assisted suggestions and analyses make this process considerably faster. For example, developers who primarily work on backend tasks can now make adjustments in the frontend more easily without needing extensive training in the new syntax. The tool offers hints and suggestions that make the transition smoother.
What advice would you give companies considering using AI in application development?
Jan: For companies looking to incorporate AI into software development, several factors are critical:
- Define a Strategy: Clearly defined goals and use cases for AI are essential. Think carefully about where and how AI can add the most value.
- Responsibility and Security: Consider IT security, data protection, and accountability from the start. A strong understanding of best practices in software development helps mitigate potential risks.
- Train Your Teams: Invest in training to ensure teams can handle the new tools and that developers understand how to effectively review AI-generated code and influence suggestions in their favor.
- Start Small: A proof of concept allows you to test AI in a low-risk way and determine whether the technology is suitable for your specific environment.
- Adapt Processes: Be prepared to adjust workflows. AI will not only change the tools but also impact processes.