The AI Evolution of Computer Science and Programming
Tim Frenzel, MBA, CFA, FRM
Investment Management | Data Science | Applying AI capabilities | Professor in ML & Finance
Computer science has traditionally been about converting abstract concepts into executable programs, a process deeply reliant on human coding skills. Historically, this has been a labor-intensive and limited process, with programmers painstakingly writing and maintaining complex code fixing errors, and creating new ones. Since last year, generative AI models (GitHub CoPilot) have reshaped how we approach programming, reducing the burden on human capabilities and opening new possibilities for efficiency and innovation in every code environment, from software engineering to data science.
Drawing from my professional experience with AI tools in data science and quantitative investment research, I decided at the beginning of this year to integrate AI-Copiloting into the university courses I teach. This transition was driven by the profound impact these tools had on my own practice, where they facilitated fast data analysis and enhanced the accuracy of results. In the classroom, introducing tools like OpenAI’s ChatGPT and its Data Analysis plugin has been heavily debated over the past months but ultimately very transformative. Not only do these AI-driven resources support code generation, but they also significantly enhance data analytics processes. This integration in teaching has empowered students to engage with real-world datasets earlier in the learning process and more effectively, allowing them to leverage AI for tasks such as debugging and data cleaning. As I discovered in the past weeks, this practical application in education mirrors the broader industry shift towards AI-assisted programming and analytics, indicating a broader commitment from my peers to prepare the next generation for the evolving landscape of technology and data science.
Shift to Simpler Instructions: AI and machine learning are evolving to work with broader instructions, focusing more on the desired outcomes and the datasets required to achieve these outcomes, rather than detailed step-by-step programming. This shift to a more outcome-focused approach, facilitated by AI’s ability to understand and execute tasks described in natural language, marks a significant leap from traditional coding practices. The efficiency gains from this approach are most notable in routine tasks like code documentation, writing new code, and refactoring existing code. This not only saves time but also enables tackling new challenges by providing guidance on unfamiliar code or frameworks.
In this context, the practice of Prompt Engineering, the art of crafting specific, clear instructions for AI models, has become an increasingly significant and highly debated skill. It is about precision and creativity in communicating with AI, a balancing act akin to traditional programming, where outcomes depend on the clarity of the instructions. Similar to the experimental nature of traditional programming, where the outcomes often hinge on trial and error, prompt engineering demands an iterative approach. Each interaction with the AI is a learning experience, constantly refining how we articulate our instructions to achieve the desired outcomes. My personal experience with these tools, especially the significant improvements seen in OpenAI’s offerings over the past 6–8 months, leads me to believe that while Prompt Engineering is a critical skill today, it may not warrant specialized training programs or degrees in the long run. As for Google’s Gemini — another promising tool in this space — I have high hopes but haven’t had the chance yet to test and comment extensively.
The evolution of human programmers. As AI systems become more capable and autonomous, traditional programming skills may become less emphasized, shifting the focus of human programmers towards supervising and guiding AI systems. This shift represents a profound change from hands-on coding to more strategic roles where humans oversee AI’s automation of developer tasks. My observation in the industry and academia is that this is not just a future possibility but a rapidly unfolding reality.
With its ability to produce new and (mostly) plausible outputs, Generative AI has opened new avenues for creativity in programming. The creative process with AI involves human direction and decision-making. We set the parameters, provide initial ideas, and make the final selections from AI-generated options, ensuring that the output aligns with our vision. This human-centric approach to creativity with AI ensures that the final product not only benefits from AI’s capabilities but also retains the essential human touch. In some scenarios, a hybrid approach can be utilized, where AI manages routine or predictable aspects of a task, while human developers tackle more complex, nuanced, or forward-thinking challenges. These challenges often require deep expertise, critical thinking, and a level of creativity that AI currently cannot replicate.
Conversational analytics and self-service business intelligence are other areas where AI is making significant strides. These technologies are beginning to render traditional approaches to business intelligence less relevant. With AI’s growing ability to understand and respond to conversational queries, we are moving towards a more interactive and intuitive interface for business intelligence, replacing traditional dashboards with capabilities that allow end-users to create their own stories with data. As AI-powered tools become more adept at interpreting nuances, context, and complex questions posed in natural language, they offer more insightful, real-time analytics. This evolution underscores a broader shift in the field, where AI’s role is not just as a tool for efficiency but as a sparring partner for creativity, innovation, and data decision-making. I sometimes question myself why I’m still teaching best practices in Data Dashboard building…
AI’s impact on the job market, especially in mid-level roles involving repetitive and digitized tasks, is becoming increasingly apparent. We’re seeing a reshaping of job profiles, potentially leading to a reduction in opportunities for these traditional roles. In my experience, this shift is not about the displacement of human workers but rather the redefinition of their roles. For example, product managers may soon find themselves translating requirements to AI code generators, with the critical task of reviewing AI-generated code.
Incorporating AI in development necessitates changes in team structures and skill sets.
AI’s active participation in the software and data delivery process, aiding in decision-making and analytics, is leading towards a truly agile methodology. This approach facilitates continuous and intelligent automation in software, models, and insight delivery. As an investment manager and university professor for the past decades, I have witnessed and proactively participated in this shift. The dynamic design system creation, self-building proofs of concept, and evolving test automation for quality assurance and speed are just a few examples of how AI is transforming the development process.
The automation of entry-level, repetitive tasks by AI poses a significant challenge for developing future leaders and experts. In academia, this is a concern that I and my colleagues share. These entry-level and hands-on roles often provide the essential experience required for career advancement. We are now tasked with finding new pathways to develop skills and judgment in an AI-dominated landscape. In my courses on machine learning, business analytics, and quantitative investment, I’ve found that placing a greater emphasis on critical thinking and data storytelling in my syllabi is increasingly important for hiring managers. It’s about preparing students for a future where collaboration with AI, rather than direct engagement in lower levels of code creation, is the norm.
The growing need for future programmers and data analysts to understand AI principles and techniques cannot be overstated. As traditional coding tasks become increasingly automated, the educational system must adapt, focusing on equipping students with the skills to work alongside AI. This involves not just technical knowledge but also an understanding of how AI systems think and operate. This evolution in education and skill requirements reflects a broader shift in the industry and society. We’re moving towards a future where human intelligence and creativity are augmented by the capabilities of AI, creating new possibilities and challenges in equal measure. Preparing for this future requires not just a change in skills but a shift in mindset, embracing the potential of AI as a partner in innovation and problem-solving.
Despite the advancements in AI, programming remains a multifaceted task involving design, testing, and deployment. AI tools like Copilot have certainly enhanced certain aspects of this process, but they haven’t diminished the core role of programmers in problem-solving and translating ideas into executable programs. In my experience, both in academia and the industry, the complexity and scale of software development continue to challenge programmers, even with improved tools and languages. The field is evolving, but the pace of change and the increasing complexity of systems require a level of adaptability and problem-solving that AI, in its current state, cannot fully replicate.
No doubt that these tools are incredibly useful, but they aren’t a cure-all for coding problems. They represent a broader trend towards automated support in programming, reflecting a shift towards more human-readable coding languages and tools. But that doesn’t mean these GenAI can close the gap between novice and expert programmers. In my interactions with less experienced team members, I’ve noticed a tendency to rely heavily on AI suggestions without thorough review, leading to a dependency that could have foreseeable implications for the industry. The effectiveness of these technologies is contingent on the developer’s skill and their ability to input effective prompts, a balance that is still being fine-tuned.
Preserving traditional software development methods is still necessary, particularly for applications where precision, safety, and reliability are of utmost importance. Critical systems in healthcare, aviation, and finance often require detailed programming where AI’s generalized approach may fall short. This underscores the need for a balanced approach to software and ML model development, leveraging AI where it is most effective while relying on human expertise for areas where nuanced understanding and precision are crucial.
For technology leaders, the focus should be on comprehensive generative AI training and coaching, selecting appropriate use cases, workforce upskilling, and implementing robust risk controls. Fostering an environment of continuous learning and sharing best practices within organizations is a necessary part of the process. This includes evaluating new generative AI tools as they emerge, assessing their specific strengths, and how they can be integrated effectively into existing workflows.
Also, keep in mind that the task of enhancing individual workflows is pretty straightforward. The deployment of generative AI within large-scale enterprises, however, presents unique challenges. It involves ensuring AI outputs are compatible with existing systems and processes, and managing potential disruptions or inefficiencies during AI integration. Rigorous testing and continuous monitoring, often needing additional software and expert insight, are required to ensure the reliability of AI-generated outputs. Additionally, integrating AI into legacy systems can be complex, requiring careful planning and potential system upgrades to ensure seamless integration. It is also important to have human oversight to validate and refine these outputs, maintaining the high standards expected in professional environments.
AI is hard to ignore at this point. The AI market is booming, set to reach an expected revenue of $1,345 billion by 2030, growing at a rate of 37% CAGR. ChatGPT, with its 180 million users daily, exemplifies this growth and underscores AI’s potential across various sectors. Businesses that adopt AI can expect enhanced productivity and reduced operational costs, leading to a competitive edge in an increasingly digital economy. The trend in enterprise analytics is moving towards tools that are both more powerful and easier to use. Analytical methods are becoming more accessible to a wider range of users, including those without a technical background. This evolution enhances the scope and depth of insights derived from analytics, transforming the way businesses understand and interact with their data. The integration of AI in analytics represents a significant leap forward in business intelligence. Companies can now leverage contextual information embedded in their enterprise systems more effectively. This capability allows for more nuanced and comprehensive insights, fundamentally improving decision-making processes.
From my perspective, as both an educator and a professional, the implications of this are profound. We’re not just talking about more efficient data processing or better user interfaces anymore. We’re discussing a change in the very fabric of how decisions are made and strategies are formulated. The ability to predict trends, understand complex patterns, and derive actionable insights from vast amounts of data is becoming a standard expectation, not just a competitive edge. This shift also raises the bar for what is expected of professionals in the field. As traditional tasks become more automated and the role of AI in decision-making grows, the value of human judgment, creativity, and strategic thinking increases. In my teaching, I emphasize to students the importance of understanding these tools, not just to use them but to guide them, to ask the right questions, and to interpret the results within the broader context of their goals and challenges.
Sounds like an exciting shift in the AI landscape! Can't wait to see the impact. ??
Tim Frenzel, MBA, CFA, FRM, How can companies best prepare for the integration of generative AI in the workforce?