Blog

Is AI really a threat to developers? Devin and Microsoft AutoDev | AI in business #115

Is AI a threat to developers?

Although questions about the dangers of AI development have somewhat died down, and AI tools used in everyday work still leave much to be desired, new developments and breakthroughs make us ask these questions again and again. The development of artificial intelligence in business and programming is generating a lot of excitement and debate.

Looking through the lens of programming, there is a fundamental question about the future of the profession – is AI really a threat to programmers, or will it become their greatest ally, so that programmers skilled in using AI will be able to build any application quickly and flawlessly? To answer this question, it is necessary to look at some key arguments:

  1. AI will not replace humans, but those who can use it effectively will replace those who are unwilling or unable to do so.
  2. One example of this is the use of AI to automate routine tasks, allowing developers to focus on more complex problems.

  3. At the current stage of development, AI is not capable of replacing experienced programmers working on complex systems.
  4. However, it is able to automate some tasks and significantly increase the efficiency of these specialists. For example, it can automatically generate code for relatively simple functions.

  5. Simpler tasks that programmers usually do at the beginning of their careers will also be automated.
  6. However, this should not be a cause for concern.Examples include automatically checking code with respect to applied programming patterns or automating the creation of basic tests.

  7. AI can automate some aspects of a programmer’s work, but it will not completely replace the programmer.
  8. Programmers will still be needed to make important decisions, solve complex problems, and create value-added software. For example, designing the architecture of information systems, which requires deep analysis and understanding of the business.

Devin

But let’s move on to Devin, an innovative tool that, although currently only a teaser published by Cognition (https://www.cognition-labs.com), shows the future of artificial intelligence development in the field of programming.

Devin, the world’s first fully autonomous AI software engineer, is the answer to the growing demand for automation in the software development industry. Its ability to learn new technologies, find and fix bugs in code, as well as train and adapt its own AI models, makes it an invaluable tool for developers. Devin’s key features include:

  • ability to plan and execute complex tasks independently,
  • autonomy in finding and fixing bugs in the code,
  • ability to learn new technologies independently.

Cognition has published a comparison of Devin’s capabilities with the performance of well-known language models that support programming. In terms of reasoning and inference, Devin outperformed the best models available today, such as OpenAI’s GPT-4 and Anthropic’s Claude 2, by several percentage points.

Microsoft AutoDev

The next step in the automation of development processes is AutoDev, a fully automated AI-based software development environment. Its key principles are to increase the autonomy, efficiency, and security of AI systems. And most importantly, unlike Devin, it is available in an open-source model, meaning it is available to everyone.

Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)

The main benefit of using AutoDev is that it helps tremendously in automating repetitive tasks. One example is the automatic generation of unit tests, which allows developers to focus on more complex aspects of the project.

The second issue is the ability to create agents that check each other’s performance. This reduces errors and allows artificial intelligence to check the performance of the solutions it creates on its own, which will enable developers to focus on creative problem-solving and innovation. For instance, AutoDev automatically builds and deploys applications, and this gives developers more time to design new features.

Collaboration with AI or automation of programming tasks?

AI pair programming is the solution most software developers are using today, according to a survey by GitHub – as many as 92% of US developers. It helps speed up work by 55%(https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/) . Artificial intelligence can complete repetitive lines of code or suggest further functions from programming patterns or previous examples.

In the context of collaboration with AI and automation of programming tasks, it is worth considering which approach is more beneficial. And whether we need to choose one or combine them wisely. On the one hand, collaboration with AI can significantly improve the work of developers, for example, by automating code testing, which allows for faster and more accurate detection of potential bugs.

On the other hand, full automation of programming tasks can lead to software bugs that are difficult to detect and potentially dangerous, as well as the lack of important functionality, such as security. It is important to remember that AI learns from available repositories created by programmers of varying levels of sophistication. Even with bugs. In addition, many software solutions do not have comprehensive documentation or a large number of publicly available examples, so artificial intelligence has a limited understanding of how they work. This can lead to hallucinations, that is, AI making up bits and pieces of the solutions used and their APIs.

Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)

Summary. Will English become the main programming language?

The development of AI and tools such as Devin and AutoDev that use AI agents is creating new opportunities and challenges for the software development industry. With the growing role of English as a new programming language – used to give commands to assistants – it will become another language that many programmers will need to master even better than before. To realize the full potential of AI, it’s important to focus not only on the technical aspects of programming, but also on developing communication skills and understanding the business and cultural context critical to building software designed…for people.

If you like our content, join our busy bees community on Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest, TikTok.

Author: Robert Whitney

JavaScript expert and instructor who coaches IT departments. His main goal is to up-level team productivity by teaching others how to effectively cooperate while coding.

Robert Whitney

JavaScript expert and instructor who coaches IT departments. His main goal is to up-level team productivity by teaching others how to effectively cooperate while coding.

Recent Posts

Sales on Pinterest. How can it help with building your e-commerce business?

Pinterest, which made its debut on the social media scene a decade ago, never gained…

4 years ago

How to promote a startup? Our ideas

Thinking carefully on a question of how to promote a startup will allow you to…

4 years ago

Podcast in marketing: what a corporate podcast can give you

A podcast in marketing still seems to be a little underrated. But it changes. It…

4 years ago

Video marketing for small business

Video marketing for small business is an excellent strategy of internet marketing. The art of…

4 years ago

How to promote a startup business? Top 10 pages to upload a product

Are you wondering how to promote a startup business? We present crowdfunding platforms and websites…

4 years ago

How to use social media to increase sales?

How to use social media to increase sales? Well, let's start like that. Over 2.3…

4 years ago