Current landscape of AI integration in software development teams

Created
Feb 28, 2024 11:50 AM
Tags
BusinessSoftware Engineering
Main page
📅
March 1st 2024

Current landscape of AI integration in software development teams

Did you know that AI tools could potentially increase software development productivity by up to 50%? This technological shift could revolutionize how teams approach projects and problem-solving. However, despite this potential, a considerable portion of the software engineering community remains on the periphery of AI integration. So, what's stopping us from utilizing artificial intelligence to its full extent in reshaping our development workflows?

My name is Roman Kaganov. I'm the founder of the Devs Try AI community and the CTO at Omniwire, a fintech startup. I decided to launch this portal after encountering difficulties integrating AI tools into my team, such as the seemingly endless number of tools, the lack of described use cases, and a shortage of training opportunities.

The process of integrating AI into our development procedures has been both exciting and challenging. I've plunged into the world of AI tools like ChatGPT and Copilot through thorough research and hands-on experiments. This exploration has revealed their immense, yet largely untapped, potential for transforming software development.

I carried out my own research and spoke personally with approximately 15 software engineers from various companies, spending about 20 hours in pair programming sessions. I launched a community where programmers can share their thoughts on using AI in their work, and now I also offer team training sessions.

image

Tools

In the early stages of my research, I engaged programmers in a discussion about their usage of AI tools.

image

From the discussion, I found that about 60% of participants are already using AI tools like ChatGPT and Copilot in their development processes. While this is a significant percentage, further exploration revealed that their use is limited to a small number of cases.

Interestingly, it was surprising to find out that a mere 3% have ventured beyond the usage of ChatGPT and Copilot, despite the continuous emergence of new AI tools in the market.

Company Policies

Company policies regarding artificial intelligence (AI) are often lacking: 58% of companies do not consider implementing AI, 15% have purchased GitHub Copilot subscriptions for their teams but have not provided usage instructions, and 11% have introduced bans without providing alternatives. Only 16% have adopted AI, undergone training courses, and built their own tools.

image

Many large companies restrict the use of public models due to concerns about confidential information leakage. Despite this, Copilot assures users of its confidentiality and offers compensation for any breaches.

Additionally, Microsoft provides the Azure OpenAI Service, which uses the same models but guarantees 99.9% uptime and offers enhanced data security and confidentiality.

I have found that some large companies, who have shared their experiences with me, create their internal utilities for programmers using Azure models and local models.

Everyone Uses It Differently

As companies often overlook implementation details, and programmers tend not to read documentation, everyone uses Copilot in their own unique way.

Some users appreciate the autocomplete feature, while others find it lacking. Some write tests, and others have tried it, disliked it, and never returned.

image

Many developers abandon AI integration due to the J curve of the technology adaptation process, primarily because of a lack of support on this journey.

I estimate that even among active practitioners, the use of AI functions is around 20-30%.

Juniors vs Seniors

Juniors tend to utilize AI more actively in their work. One respondent mentioned that senior colleagues tried Copilot but didn't find it useful and stopped using it. Meanwhile, younger colleagues actively use it, which helps them perform at a level beyond their actual experience.

Conversely, some senior practitioners view Copilot as a "junior" who can handle routine tasks.

Learning

Almost all survey participants reported using AI for learning, with both junior and senior users leveraging it to quickly become familiar with a new language or field.

Some respondents use chatGPT as a personal tutor. They learn from videos and, if something is unclear, they ask chatGPT for further clarification.

Others use chatGPT to validate their thoughts and assumptions, such as architectural decisions. They provide the context to chatGPT and seek to obtain a matching answer.

Recently, it's been observed that chess grandmasters are becoming significantly younger because they've shifted from learning from humans to learning from AI. Evidently, the future is already here.

Nondeterministic Behavior

Programmers are accustomed to software behaving consistently, regardless of how many times it's used. This is known as deterministic behavior.

However, AI operates differently. I gleaned an interesting perspective from one of our chat participants -

you need to purposefully pause before using it and remind yourself that although it's software inside, it behaves like a semblance of a person, not like software. And in working with it, software skills may be more useful than hard skills

We recognize that not all engineers possess well-developed soft skills.

A shift in mindset and the acquisition of new skills might be necessary to effectively use AI tools. The unpredictable and non-deterministic behavior of AI can be daunting for those familiar with traditional software patterns. However, with proper training and readiness to adapt, the advantages of integrating AI can greatly exceed the initial discomfort.

I Love Programming

This is a phrase I hear often. Many people are not ready to give up their favorite activity to an emotionless machine.

Presently, while conducting AI experiments in my team, I hear comments such as "I really want to program." When asked why, the response is often, "I don't feel like I'm doing anything useful." This sentiment persists, despite the fact that the individual is saving hundreds of work hours by processing vast amounts of information through LLM and extracting technical requirements from it.

Anxiety about the Future

The AI field is rapidly advancing, with new and improved models being released daily. These innovations are designed to revolutionize various professions. Numerous scientific publications suggest that AI can mimic human behavior and even surpass it in cognitive abilities, specifically in solving logical tasks and abstract thinking. You can find more about this topic here, with links to related scientific research.

image

Here's a comment from our chat that aptly illustrates the current sentiment of many developers.

I don’t know about others, but my anxiety is only growing against the backdrop of various news about the impending technological singularity. There is a great potential to transition into cyberpunk, and then all efforts and years of experience will be nullified by soulless algorithms made by guys from Silicon Valley. Life no longer seems so controllable. And I don't want to waste it on some work fuss

I discussed this anxiety with a corporate psychologist, who suggested that it could be a major reason for resistance to AI implementation. I'll discuss this in more detail in a future blog post.

Information Noise

Issues like low awareness, poor adoption rates, and improper use can often be linked to high information noise.

Respondents have expressed frustration with the abundance of materials, clickbait headlines, marketing articles, and low project survival rate.

Consequently, I've decided to develop a portal where we, as a group of practitioners, can test different utilities and use cases.

Conclusion

AI tools hold promise in software development, offering potential improvements in productivity and creativity. However, their use is limited by hesitation and information overload.

The state of AI integration in software development is a mix of opportunity and challenge. Some pioneers navigate this, while others are deterred by concerns of obsolescence, disruptions, or the task of finding useful information.

This phase in technology development requires action and curiosity. AI tools should be seen as tools to enhance human creativity and intelligence, leading to a path of learning, adaptation, and community-driven exploration.

Your Call to Action:

  • Individual Software Engineers: Embrace AI. Experiment with AI tools, share your results, and join the community pushing for intelligent integration. Your skills and AI can place you at the innovation forefront.
  • Team Leaders: Cultivate continuous learning and openness to new tech within your teams. Encourage AI tool exploration, consider structured training for AI workflow integration. Your leadership can turn AI adoption into a competitive edge.
  • Business Owners: See beyond the immediate and imagine the efficiency and market leadership AI can bring. Engage with experts, train your teams, and explore AI solutions for your unique challenges. Your AI investments today may define your business's future success.

For all, Devs Try AI stands as a beacon, offering a platform for knowledge sharing, training, and consultation on AI tool integration. Join us in exploring the vast landscape of AI in software development, share your stories, learn from your peers, and together, let's chart the course to a future where human intelligence and artificial intelligence converge to create unprecedented value.

Visit Onecraft.AI to start your journey, contribute to the community, and explore the potential that AI integration holds for your work, your team, and your business. Together, we can demystify AI, harness its potential, and shape the future of software development.