
5 minute read
Adapting to the Future
Preparing for Software Development in the Age of Generative AI
Anne-Gaelle Colom
Advertisement
Assistant Head of School and Learning and Teaching Director, School of Computer Science and Engineering,
University of Westminster, London, UK
Generative AI is revolutionizing software development, enabling developers to write code and build prototype applications far more quickly than previously possible. These advancements bring significant efficiency gains but also signal a coming shift in the required skills for software developers.
Ultimately, Generative AI will redefine the roles of software developers and the expectations placed upon them. For prospective students, parents and educators, understanding these changes is critical to preparing for the future. AI tools, such as GitHub Copilot, ChatGPT and Cursor, excel at producing highly modular code and solving previously seen or well-defined problems. This means that the demand for junior developers, who traditionally focus on these tasks, is diminishing. Companies are shifting from hiring junior developers to seeking professionals with a different and more advanced skillset to develop new workflows that include AI integrations.
To remain relevant, developers will need to be capable of reviewing, evaluating, improving and integrating AI-generated code into complex systems. This is also true for students trying to join the profession. The need for them to develop a robust foundation in computer science principles has never been greater. The low skilled developers will completely be replaced by AI, and instead, we anticipate a greater need for people to fill roles that require critical thinking and strategic oversight. Let me explain why.
One can argue that AI significantly enhances the efficiency and capabilities of all coders. However, the truth can be somewhat different. Coders with extensive experience in building complex solutions have learned to anticipate, recognize and solve problems. They can use AI as a tool to quickly build various prototype solutions which they can challenge, test and optimize, expanding their knowledge in the process. They also understand the importance of code maintainability. As a result, they consistently critically evaluate and refine AI-generated suggestions to ensure quality and focus on complex architectural decisions and strategic integration. In other words, experienced developers use AI to speed up the implementation process for solutions they designed, engineered-or at least fully understand.
For students and novice developers, coding with AI initially looks like magic. AI is indeed capable of building prototypes in minutes and implementing most parts of an average real-world application requirements. As a result, the temptation to over rely on AI is huge. A traditional software development learning process involves writing code from scratch, testing it, making mistakes, introducing bugs, fixing them and reflecting on those experiences. This iterative process, while challenging, is where much of the deep learning happens. It’s in what I would call the “suffering”-the frustration of debugging, the persistence required to solve problems and the eventual “light bulb” moment of understanding, that students develop the critical thinking, troubleshooting and problem-solving skills essential for becoming good developers.
Generative AI can shortcut this process by providing ready-made solutions. When students rely heavily on AI-generated code, they miss opportunities to fully grasp the logic, structure and nuances of programming.
Struggling with a problem and learning to overcome that problem is what builds the resilience and expertise needed to tackle more complex challenges in the future. Thus, without deliberate effort, junior developers risk missing out on the underlying computer science principles and deep problem-solving experiences that foster growth.
Educational institutions must always adapt their curricula to reflect industry trends, and this is particularly true here. Traditional coding skills remain essential, but they must now be complemented by:
• AI Literacy: Understanding how to integrate and optimize AI tools in workflows.
• Critical Thinking and Creativity: Evaluating and refining AI-generated outputs for accuracy and relevance.
• Ethical Awareness: Addressing biases and ensuring responsible use of AI.
• Problem Understanding: Developing a deep comprehension of problems to effectively guide AI in creating tailored solutions.
• Prompt Engineering: Learning to write precise and effective prompts to direct AI tools.
Work-based learning, such as incorporating insights from work-based practices and how senior developers operate, can further prepare students for real-world challenges. As discussed earlier, senior developers often work collaboratively and use AI to streamline processes while maintaining oversight. Universities can mimic these practices through projects that combine teamwork, AI integration and code review. For example, coursework might include:
• AI-student pair programming, where students collaborate with AI to write code. The AI partner generates solutions, but the student refines and completes the code, especially in situation where AI outputs are incomplete or flawed.
• Critical analysis of AI-generated outputs, where students are required to identify potential errors and areas for optimization.
• Working with APIs, where students must address issues working with updated APIs that the AI was “not aware of” and that had poor backwards compatibility, leading to errors or bugs.
• Simulations of professional environments, where students manage AI-assisted workflows, oversee code quality, ensure correctness and confirm it would work in a mission critical scenario.
Students should also use AI as a powerful learning tool. With the help of AI, they can experiment with coding concepts, generate examples and debug their projects. This enables students to reinforce their understanding while also cultivating the independent problem-solving skills essential for long-term success.

As generative AI becomes an integral part of software development, equitable access to these resources is critical. Advanced AI models often require paid subscriptions, creating disparities among students. Universities and colleges must consider providing institutional licenses, ensuring all students have the opportunity to build proficiency with these tools. A growing trend is that API costs for businesses have been dropping, but becoming more expensive for consumer subscriptions (consumer access to o1 pro is currently $200/month).
Moreover, educators must guide students in understanding the ethical implications of AI usage to prepare them to adapt to AI-driven development responsibly. This includes addressing issues such as intellectual property, bias in AI models, and the societal impact of automation.
Embracing generative AI in software development is no longer an option, it is essential. However, to thrive in this evolving landscape, aspiring developers must strike a balance and exercise caution. While AI tools are powerful, they cannot yet replace the creative and analytical abilities of a well-trained developer, who is capable of identifying flawed or incomplete solutions proposed by AI.
Students also need to shift their mindset. As AI now outcompetes the average developer and those lacking advanced skills, it is essential for aspiring developers to work hard and fully commit to mastering fundamentals. Students must pursue project-based learning, explore new technologies, make mistakes and learn from them in order to foster the creativity and resilience required to adapt to this dynamic field.
To conclude, Generative AI is a transformative force in software development. It offers both challenges and opportunities for innovation. Educational institutions play a crucial role in helping students embrace AI thoughtfully and acquire advanced skills to enable them to succeed as adaptable, creative and ethical professionals in the competitive and rapidly advancing software engineering industry.

Our brand-new innovation space is a multi-purpose area for students to work on group projects, present and pitch their work, study individually and socialize. It is equipped with state-of-the-art computers and displays. Courtesy of University of Westminster.