Serengeti logo BLACK white bg w slogan
Menu

Developer vs. AI

Ivan Kozić, Mid Software Developer
08.03.2024.

Development History

The journey from early attempts to simulate human intelligence to the current era of artificial intelligence (AI) represents a fascinating exploration through the history of computing. Key moments in the development of AI date back to the mid-20th century, when pioneers such as Alan Turing laid the foundations for contemplating how computers could replicate human intelligence. Turing's test, introduced in 1950, marked the first step in posing the question: Can a machine think?

image
Turing Test, Source: Wikipedia

The image above illustrates the Turing test, consisting of three components: under number 1 - initial conditions, under number 2 - the process, and under number 3 - the test criteria. In essence, there are three completely separate rooms. In the first room is an interviewer, a person who will ask questions to the occupants of the other two rooms, where, unbeknownst to the interviewer, human and artificial intelligence will be placed, communicating with the interviewer solely through text.

The process goes like this: within a fixed time frame, the interviewer poses questions to both rooms and makes decisions. If the time expires, and the interviewer has not figured out who is in which room, it is considered that artificial intelligence has passed the Turing test.

After Turing, the development of artificial intelligence went through various phases. In the 1950s and 1960s, symbolic artificial intelligence dominated the scene, using symbols and rules for information processing. However, during the 1970s and 1980s, enthusiasm for AI faded, entering a period known as the "AI winter." The lack of progress and tangible results led to a decreased interest in this field.

Nevertheless, with the development of more powerful computers and new algorithms, there was a resurgence of AI in the last decade of the 20th century and the early 21st century. Technologies such as machine learning and deep learning became crucial, enabling computers to learn from data and perform complex tasks. The contemporary history of AI is marked by exponential growth in areas such as pattern recognition, natural language processing and autonomous systems.

Will AI replace developers?

A frequently asked question in the programming world is whether artificial intelligence will ever replace human developers. Modern tools for automation and code generation are becoming increasingly sophisticated, capable of analyzing data, predicting behavior, and even creating new algorithms. On the other hand, humans are irreplaceable in their ability for creativity, understanding context and solving complex problems.

Artificial intelligence can expedite development processes, automate routine tasks, and even generate specific code. Their collaborative integration promises the creation of sophisticated, innovative and ethically responsible solutions that will shape the future of the digital world. Through this collaboration, technology and human creativity surpass their individual capacities, becoming a force driving progress in software engineering. However, the key difference lies in the human ability to comprehend abstractions, make ethical decisions, and create intuitive user experiences. Understanding context, adaptability and innovation—aspects brought by humans—cannot be easily replicated by artificial intelligence.

image 1
Developer vs AI, Source: BUG.hr

So far, there is no concern that artificial intelligence will completely replace developers in the near future. However, let's clarify this and support the arguments with some charts.

When artificial intelligence started to write songs, edit photos and assist in automating processes within organizations, everything was great. However, with the launch of ChatGPT by OpenAI in November 2022, which could create a simple form or generate HTML and Javascript, the ground started to "shake" slowly. Of course, for now, ChatGPT cannot generate more complex applications.

ChatGPT currently generates some text, which in the developer's world is considered source code. By refining the code, or interpreting the code, it can provide suggestions on how the documentation should look and, for example, how we could test our code. You might be wondering whose role this has been so far? The answer is - junior developers.

Every company is composed of developers with various levels of experience. Thus, every company has juniors, mids and seniors. Juniors typically handle tasks related to detailed code reading, writing comments, and documentation. Now that ChatGPT can do this, should a company hire junior developers or more of them?

The answer is simple. Yes, they should, because seniors were once juniors. By reading code and writing comments from seniors, juniors learn many things and eventually become mids or even seniors. Therefore, ChatGPT should not replace juniors because, looking into the future, how else would we build new seniors or mids?

Divisions of Artificial Intelligence Technologies

Artificial intelligence technologies can be categorized into 10 foundational blocks:

  1. Knowledge Engineering
  2. Cognition
  3. Robotics
  4. Natural Language Processing
  5. Speech Recognition
  6. Natural Language Generation
  7. Image Analysis
  8. Deep Learning
  9. Machine Learning
  10. Sensory Perception
image 2
Deep Learning

Current Use of AI Tools

The majority of developers have stated that they are learning to program using AI tools in their development process. Around 30% of professional developers, however, have stated that they currently do not use AI tools nor have plans to use them.

Individuals learning to program see the value in AI tools, likely because they help them learn faster and overcome specific coding obstacles. On the other hand, seniors are more cautious, probably because they have experienced several cycles of technological hype and want to see solid evidence of AI's capabilities before incorporating it into their work.

Below, we can see the percentages of respondents:

image 3
Survey Stack Overflow
image 4
Survey Stack Overflow

In the image above, we can see how much AI can expedite certain processes. For example, documentation writing is accelerated by 45-50%, but for highly complex tasks, there may be challenges as it may not speed them up to the same extent. At least not for now.

This series of charts, extracted from a recent Stack Overflow developer survey, provides insights into the attitudes and behaviors of developers and technologists towards AI tools for various professional tasks and experience levels.

image 5
Writing Code

The charts also reveal an intriguing trend. While younger, less experienced developers are more likely to use AI tools in their tasks, the tendency to use these tools decreases or disappears as experience increases. For instance, more experienced programmers, those with 21 or more years of experience, show a lower likelihood of adopting AI tools for various tasks, except for coding. This difference may stem from the increasing complexity of projects undertaken by more experienced programmers, which might currently be beyond the capabilities of AI tools.

In the table below, we can see the countries around the world where the use or planned use of AI tools is the most prevalent.

image 6
Countries by the use of AI tools

Conclusion - Synergy in Development

The discussion about developers and artificial intelligence doesn't have to be a matter of conflict, but of collaboration. Instead of focusing on replacement, let's consider developing a shared future. The synergy between humans and AI can result in innovations that surpass the limits of individual capabilities.

In the future, developers will likely use artificial intelligence as a powerful tool to expedite the development process, while dedicating themselves to solving complex challenges, devising creative solutions and understanding context. The integration of artificial intelligence into the development process creates space for sophisticated and innovative software solutions.

Moreover, software development often involves ethical decisions related to privacy, security and fairness. Humans have the ability to consider a broader context, moral values and social implications, while current artificial intelligence systems are limited in understanding profound ethical issues. Collaboration between humans and AI can contribute to the development of systems that incorporate human ethical judgment, ensuring the responsible use of technology in line with social values and norms.

Ultimately, the future of software development is not a battle between man and machine, but a synergy of their strengths. Only through collective effort can we shape a technological future that brings benefits to both humans and artificial intelligence. Through this collaboration, technology and human creativity surpass their individual capacities, becoming a force that propels progress in software engineering.

Let's do business

The project was co-financed by the European Union from the European Regional Development Fund. The content of the site is the sole responsibility of Serengeti ltd.
cross