Read the full transcript of veteran technologist and entrepreneur Raymond Fu’s talk titled “Learning Software Engineering During the Era of AI”, at TEDxCSTU, July 23, 2025.
Listen to the audio version here:
The Golden Ticket to Job Security
RAYMOND FU: At the turn of this century, when I started to learn software engineering, one of my professors told us that in the future, every job is a programming job. That’s in 2001. And he said that we’re holding a golden ticket to job security. Just last month, the CEO of GitHub said that the future of programming is natural language. It looks like the prediction of my professor at the turn of this century is going to become true, but probably not in the way that he had imagined.
Artificial intelligence is capable of writing code for you through a natural language prompt. GitHub Copilot can complete code for you and fix bugs for you. And ChatGPT can create an entire project for you within seconds. And all these tools are available to anyone. So I find myself wondering, have we lost our golden tickets to job security? And as a CSU professor and a father to a daughter who studied computer science, there’s a bigger question for me. If AI is going to do programming, is it still worth it for us to learn software engineering anymore?
Today, I would like to explore this question with all you guys. Let’s talk about what AI can do, and more importantly, how we can, how our students of software engineering prepare for the future roles of a real software engineer. So let’s dive in.
What AI Is Good At
First, let’s talk about what AI is good at. In terms of programming, AI is really good at generating thousands of lines of code.
It translates between programming languages. It can create user interfaces and fix bugs for you. And it excels at repetitive tasks and pattern recognition. Once I asked ChatGPT to create a project for me, a dating app, like Tinder, in Python. And within seconds, it actually created a complete application with user profiles, the swiping logic, and even a sample database. The only thing it didn’t do for me is find me a date.
The Limitations of AI
But AI has a lot of limitations. We have to accept that. It still doesn’t understand the why behind all the tasks we ask them to do. It needs human input for real-world context and scenarios. It may not work well prioritizing long-term business goals and assessing trade-offs. And last but not least, it’s not reliable. It hallucinates and sometimes gives us the wrong answer.
The statistics say that 55% of the developers today are actually starting to use Copilot. But only 30% of them are accepting the outcome without any changes. So if you are a developer and you are not in the first 55%, that means you’re not using AI. You’re in trouble. But if you are in the 30%, that means you trust AI too much. You may be in bigger trouble.
All the leading AIs today are built on top of large language models. And it’s trained on the text of human knowledge. It’s impressive. If you give a clear prompt, it’ll give you very good results. But all the strategic thinking are still us. It’s the human. And you can think of AI as a brilliant junior developer that you hire to your team. And they can do a lot of jobs very quickly and efficiently. But it’s up to us, humans, to define the vision, to validate the results, and ensure what we’re building is good for the society.
So there’s another thing that I want to talk about that AI is struggling on. It’s struggling to communicate and collaborate with human beings. Well, maybe you will say, this is more of a human problem, right? We humans sometimes deal with the same problem too. But this is something we will have to work out. Let AI do what AI is good at. And we humans can take care of the boring jobs, such as handling office politics.
Software Engineering Beyond Code
So talk about the capabilities and limitations of AI. Now we can take a look at the software engineering roles. So software engineering roles is not just about writing code. It actually talks about, we need to understand what the user needs. We need to collaborate across roles. And also making tough decisions with empathy and responsibility. This is what a software engineer should be doing, right? We’re not just text executors. The best engineers are not the ones who code the fastest, but the ones who think the deepest.
So a good engineer will take messy problems, ambiguous problems, and guide machines towards a structured and meaningful outcome. So there are system architects who design the best solutions. And they should be the AI collaborators who use AI to implement those solutions. And then they need to be ethical technologists to make sure the solutions that we’re building are truly benefiting human beings.
So AI is actually democratizing a lot of complicated technical tasks. Today, a designer can mock up an application and then, with a prompt. And also marketers, they don’t need data engineers. They can just run data analytics without writing any code. Does that mean software engineers are losing our advantages? The answer is no. Actually, it still remains essential for software engineers.
And the reason is as follows. First, we understand AI better. We not only know how to prompt, we also know what’s under the hood. The models, the data pipelines, the limitations, and risks. And the understanding of these are very important because AI is integrated into every product we’re using and we’re building in the future.
Second, we can make better use of AI when building software. So nowadays, anybody can prototype a demo or create a simple application of features. But software engineers think of the bigger picture. We are actually using AI to build a production-ready software that is scalable, reliable, with long-term maintainability.
Finally, we are making AI better. We fine-tune models. We optimize the performance and improve usability. We make AI available and useful for everybody else. The next generation of AI are still built by software engineers. Do you guys remember this quote from CEO of GitHub? This is not in reality yet. It’s still up to the software engineers to improve AI and make this happen.
So software engineers, we’re not losing the golden ticket to job security. As a matter of fact, we’re collecting even more. Because we’re no longer just building software. We’re actually building the future intelligence itself. And how we train, direct, and supervise AI today will define the kind of systems, technology, and society that we’re building tomorrow. AI is raising the floor, but software engineers, we’re raising the ceiling.
And I want to share this not just with software engineers. This is for everyone. We have AI that’s rooting us up from the floor, but it’s human that we have to reach to the ceiling and raise up the ceiling.
Software Engineering Education in the AI Era
So after all these, now we can talk about software engineering education. In the past, coding is a very important piece of software engineering education. Software engineering education is not just about writing a code. It’s also about teaching you how to break complex problems into steps, think logically and critically, and harness the digital tools to build solutions that really matter. So in the time when AI is everybody’s assistant, engineers become the orchestrators. We remove barriers and open doors.
And in order for us to be a successful software engineer, the students should go beyond learning code as quickly as possible and get into the following things. So in order to become a successful engineer in the future, we should focus on master the foundations. The data structure, the algorithm, the programming concepts, they’re still very important. Spend enough time to learn on these and become an expert on those because they’re very important basics.
Next, think about systems like architect because, aim higher. Meet the expectation of a senior engineer as soon as possible and think about designing systems that is reliable and scalable. Go beyond, go full stack across disciplines. The days when a software engineer can focus on either the front end or the back end or the database is gone. The future software engineers are all full stack engineers. And there’s more. You need to also get into the other disciplines like design, product, data, project management, and be prepared to wear multiple hats.
Practice communication and collaborations. Learn to work with people, through team projects because, in the future, the way if you can explain and connect, it’ll become increasingly important and it’ll set you apart. Use AI as a creative partner. Embrace AI. Don’t hate it. And learn LLM, generative AI, model fine tuning, and RAG, et cetera. You discuss your project with AI and delegate your work to AI as if it’s one of your teammates.
Last but not least, stay adaptable. Tools change. Principles last. So you should always focus on learning how to learn. So in the future, when everyone can code a little, the ones who can master the craft will build the path for everyone and becomes the leader.
The Foundation of Leadership
So in the era of AI, software engineering is becoming the foundation of leadership. I’ve talked a lot about programming, but perhaps programmer is no longer the right term we should be using to refer to software engineers. The software engineers of the AI era should be visionaries who can define meaningful problems, a bridge builder who can connect tools, teams, and disciplines, and leaders who not only lead human beings but also lead AI.
So the future doesn’t belong to those who code the fastest, but it should belong to the ones who think deeply, adapt quickly, and collaborate efficiently. They’re the ones who don’t just predict the future. We build the future.