The new program TechBridge, launched by the governments of Ukraine and the UK, marks the beginning of the next-generation digital infrastructure distributed across Europe and beyond. We spoke to Yevhen Kulinichenko, Chief Engineering Officer of Intellectsoft, the technology partner of Fortune 500 companies including EY, Nestle, and Jaguar. Yevhen talked about their latest trials aimed at enhancing software development processes by incorporating generative AI assistance.
ChatGPT has gained a reputation as a transformative tool that reshapes certain aspects of our development processes. IT professionals are using it to automate and streamline specific tasks, such as assisting in writing test cases or providing quick solutions to common coding problems. On the business side, ChatGPT assists in rapid prototyping and ideation phases, where its ability to generate coherent, context-aware text can significantly speed up the initial stages of development. However, its effectiveness is constrained by the scope of its training and its lack of deep, project-specific context. It can suggest but not validate, nor can it understand the nuanced requirements of complex, custom software solutions.
Intellectsoft’s Center of Excellence (CoE) is an innovation hub where our technical teams conduct experiments and test new approaches.
This interview covers our expert’s perspective on the use of AI, specifically focusing on GPT (Generative Pre-trained Transformer) models and their applications, limitations, and impacts on software development.
Let’s dive right in! What are your plans for contributing to the TechBridge project?
Yevhen Kulinichenko: My plans for contributing to the TechBridge project are strategically focused on leveraging our technological expertise to maximize the project’s success while ensuring alignment with our broader business objectives. Firstly, we intend to deploy a cross-functional team of our best engineers and developers, who will work closely with the TechBridge project stakeholders. This team will not only bring in-depth technical knowledge but also a profound understanding of agile methodologies to ensure rapid and efficient project development.
A key aspect of our contribution will be the integration of advanced technologies like AI and cloud computing to enhance the project’s capabilities. For instance, we plan to utilize AI algorithms to analyze and optimize data flow, ensuring efficient processing and storage of data. Cloud computing resources will be leveraged for scalable infrastructure, ensuring the project can adapt to changing demands seamlessly.
Moreover, we are committed to fostering an environment of innovation and collaboration. We’ll encourage our team to engage in creative problem-solving sessions and think-tank workshops with other TechBridge participants. This collaborative approach is designed to not only contribute our ideas but also to learn from the diverse perspectives and expertise within the TechBridge community.
Lastly, we recognize the importance of sustainability in technology. Therefore, our involvement will also focus on developing sustainable and environmentally friendly technology solutions. We’ll explore and implement green computing practices to minimize the environmental impact of our technological contributions.
In summary, we plan to contribute a blend of technical excellence, innovative thinking, collaborative engagement, security-conscious practices, and a commitment to sustainability to the TechBridge program. We aim to help set a foundation for its long-term success and growth.
You mentioned AI implementation as a focus area. Can you expand on that?
Yevhen Kulinichenko: We want to build on the experience that we already have. In 2023, we conducted experiments on improving software development processes by implementing generative AI assistance. Results are still being finalized, but we’ve identified dozens of scenarios where ChatGPT can be safely utilized to streamline delivery and facilitate problem-solving.
As we delve deeper into the utilization of ChatGPT in software development, we’re uncovering its profound potential in augmenting our coding processes. For instance, when dealing with boilerplate code, ChatGPT can swiftly generate templates for commonly used code structures in various programming languages like Python or JavaScript, significantly reducing repetitive tasks. We’ve experimented with using it to draft initial versions of RESTful API endpoints, where it considers standard practices and even suggests appropriate HTTP methods and response codes.
We’ve also started leveraging ChatGPT for debugging assistance. By describing a bug in natural language, the model can suggest potential causes and solutions, drawing from a wide range of similar issues it has learned from. This doesn’t replace a developer’s expertise but acts as an additional tool to accelerate problem-solving. Thus, while ChatGPT is a game-changer in certain aspects of software development, it works best as a complement to human skills, enhancing productivity and quickly highlighting some basic blind spots or standard reusable patterns. However, it still cannot handle the complex logic, style, or requirements.
Can ChatGPT handle tasks requiring senior-level expertise?
Yevhen Kulinichenko: ChatGPT is limited in creating novel solutions. It works by learning from vast amounts of text data to generate plausible word combinations. However, it neither invents nor actually comprehends ideas. It is still a mathematical algorithm that arranges words according to numeric probabilities. There is no independent consciousness that is inherent to human intelligence. ChatGPT’s utility is rather in quick recommendations based on existing knowledge.
Yevhen Kulinichenko: That’s an interesting question. Indeed, Integrated Development Environments (IDE) like PyCharm offer tools like code completion, debugging, and context-aware refactoring options that consider the entire project structure. What’s more, It can adapt to the style and requirements of the codebase it’s working with.
Meanwhile, ChatGPT’s understanding of software languages and programming concepts is broad but can be superficial. It lacks the ability to understand the deeper context of a software project, such as project-specific architectures, dependencies, or the state of the current codebase. It can assist in generating code snippets, providing documentation references, or even suggesting solutions to coding problems. Still, it’s limited to the data that it’s trained on and doesn’t attend to the entire code structure and its state in real time like IDEs.
Are there any concerns about the misuse of ChatGPT?
Yevhen Kulinichenko: Yes, there’s a risk of misuse, especially if ChatGPT provides information based on public data that could be harmful. The potential for misuse of technologies like ChatGPT forms a crucial part of our risk assessment and management strategy. There’s always a possibility of inappropriate information being fed into AI models with malicious intent.
For example, in the software development realm, we can talk about the potential for intellectual property theft or inadvertent leakage. ChatGPT, when fed with sensitive data, could incorporate this information into its outputs, leading to data breaches. As a result, proprietary code or business logic could be exposed. So, for now, my recommendation is to refrain from trying to fix the code in ChatGPT or copy-pasting any information that might be considered sensitive. And since chatGPT 4 can now crawl the web, make sure your websites and social media accounts are properly protected as well.
Moreover, there’s the risk of psychological dependency on AI. Over-reliance of IT professionals on ChatGPT for code generation or problem-solving could lead to a degradation of fundamental skills. I think it’s vital to use such tools to augment, not replace, human expertise, ensuring that core development skills are retained and nurtured within the team.
Finally, what’s your perspective on the future of ChatGPT and AI in collaborative programs like TechBridge?
Yevhen Kulinichenko: Looking to the future, I anticipate significant advancements in tools like ChatGPT, particularly in their integration with more and more traditional software development tools and environments. We’re likely to see more sophisticated versions that offer better contextual understanding and can interact dynamically with existing codebases, potentially offering more nuanced and targeted suggestions, which will help us quickly scale and efficiently maintain global digital infrastructures.
These advancements could lead to models that not only assist in code generation but also play a role in code review processes, offering intelligent insights based on coding best practices and even specific project history. Furthermore, as AI models become more adept at understanding and generating human languages, they will become invaluable in bridging communication gaps between technical and non-technical stakeholders, facilitating a clearer understanding of project goals and requirements. This evolution will require a shift in how we perceive these tools, not just as assistants but as integral components of our software development ecosystems, enhancing both efficiency and creativity.
Subscribe to updates
Source link