The End of Software Engineering? 

In this post you will find:

We could simplify what it means to be a software engineer in a few words as “knowing the languages of machines.” While most of humanity speaks the language of humans, software engineers have learned to communicate with systems. Until now, learning these languages has been the only way to configure the technology we use every day, but with the advent of generative Artificial Intelligence (AI), machines have learned to converse with everyone, regardless of their language. 

Humanity tends to reject abrupt changes. It is common to find a background of fear and rejection by those who feel threatened by the changes they bring. In an interview with CNN at Davos 2022, Bill Gates explained how he believes AI will change our lives. “As happened with agricultural productivity in 1900 (with the appearance of machines that work the land for us), people wondered, ‘What will people do?’ In fact, many new things were created, many new categories of employment, and we are much better off than when everyone was engaged in agricultural work. It will be like this,” Gates opined. 

Few could have imagined that artificial intelligence would signify a change for software engineering, but this field has not emerged unscathed. In the coming years, AI will transform the profession, but this does not mean it will eliminate fields; rather, it will expand horizons towards new frontiers. 

Let’s now set aside our simplification: more than just knowing a language, those who have dedicated time to studying disciplines such as mathematics, programming, computational thinking, databases, data structures, algorithms, and specifically artificial intelligence, have a fundamental understanding of how software and the applications that use it function. In the book of interviews—’Programmers at Work’ by Susan Lammers, Gates explains: “I still think software is an important skill to develop. It’s not so much about the mechanics or specific details of a programming language, but about understanding the details at a deeper level of how it works, that’s the starting point.” 

This deep understanding of how software operates paves the way for more efficient integration of AI in the software development and maintenance processes. Those who thoroughly understand the problem domain they face can leverage artificial intelligence to amplify their productivity and efficiency. 

In the future, the need to know multiple programming languages may be reduced. Instead, natural language might become the predominant programming language. This transition towards more intuitive and accessible interfaces is a natural step in the evolution of interaction between humans and machines. 

At Jala University, we have a Research and Development department with a group of researchers dedicated to artificial intelligence. We closely monitor advancements in this field and how to implement them for a better learning and teaching experience within the university. 

Additionally, we maintain close collaboration with engineers from the high-tech sector who share their experiences and knowledge about how they are using AI to enhance their productivity. One of the most discussed and concerning issues currently is intellectual property. High-tech software engineers work on developing commercial software, so questions arise: Can they use generated code? Can they share their code with AI tools to search for bugs or create tests? What are the risks? As this is a relatively new issue, the rules of engagement are not yet well defined, and there are legal judgments attempting to delineate what is allowed and what is not. The reality is that we still do not know the tools well enough to understand their implications, and they are continuously evolving, so these problems might vanish before we regulate them. It is a fact that several companies are restricting the use of generated code while this is clarified. 

AI will help generate code more quickly. In a survey conducted in 2022 by the well-known Microsoft repository, GitHub, 2,000 programmers were asked if their AI assistant, Copilot, had been helpful. Eighty-eight percent responded that it had aided their productivity. The vast majority confirmed that it had helped them feel less frustrated with their work. Meanwhile, researchers at Google found that, within the company, the use of AI reduced code iteration times by 6%. 

However, the more experienced the software engineer becomes, the more they realize that software engineering goes beyond just coding. It is very common for clients not to know exactly what they want or to not communicate it well. Thus, being a software engineer also involves being able to understand and execute vague requests (something that AI, for now, cannot do), interacting with the team, discussing functionalities, making long-term decisions in architecture, among many other tasks. These are tasks that will require humans, who need critical thinking, creativity, and empathy. If a junior engineer relies too heavily on artificial intelligence to think for them and generate code, their software will have deficiencies, probably not meet human needs, and the engineer may not develop into a senior role. 

We firmly believe that software engineering will not disappear, and that’s why we stay abreast of advancements in artificial intelligence to quickly adapt to changes, benefiting our students and their professional futures. Education in general, and particularly technical training that fosters computational thinking, will be crucial for maximizing the benefits of artificial intelligence. 

Are you interested in this information?
Receive the latest updates in your email!