Learning Software Engineering During the Era of AI | Raymond Fu | TEDxCSTU

TEDx Talks www.youtube.com

Brief Summary

The speaker discusses the impact of AI on software engineering, addressing concerns about job security and the evolving role of software engineers. While AI excels at generating code and automating repetitive tasks, it lacks the strategic thinking, contextual understanding, and collaborative skills that human engineers possess. The speaker argues that software engineers are not losing their value but rather evolving into orchestrators, system architects, and ethical technologists who can leverage AI to build better solutions. The talk emphasizes the importance of mastering foundational concepts, developing full-stack expertise, practicing communication and collaboration, and embracing AI as a creative partner in software engineering education.

  • AI is good at generating code, translating languages, creating UIs, fixing bugs, and pattern recognition.
  • AI has limitations in understanding context, prioritizing long-term goals, and reliability.
  • Software engineers are becoming orchestrators, system architects, and ethical technologists.
  • Software engineering education should focus on foundations, system design, full-stack expertise, communication, and AI collaboration.

Introduction: The Evolving Landscape of Software Engineering

The speaker reflects on a professor's prediction from the early 2000s that every job would become a programming job, noting that while this prediction is coming true, it's happening in an unexpected way due to AI. AI can now write code through natural language prompts, with tools like GitHub C-Pilot and ChatGBT capable of completing code, fixing bugs, and even creating entire projects within seconds. This raises questions about the future of software engineering and whether it's still worth learning in an AI-driven world.

AI's Capabilities and Limitations in Programming

AI excels at generating thousands of lines of code, translating between programming languages, creating user interfaces, fixing bugs, and recognizing patterns. For example, ChatGBT can create a dating app like Tinder in Python with user profiles and swiping logic in seconds. However, AI has limitations, as it doesn't understand the "why" behind tasks, requires human input for real-world context, struggles with long-term business goals, and is prone to errors and hallucinations. Statistics show that while 55% of developers use co-pilot, only 30% accept the output without changes, highlighting the need for human oversight.

The Role of Humans in the Age of AI

AI is built on large language models trained on human knowledge, providing good results with clear prompts, but strategic thinking remains a human domain. AI can be seen as a brilliant junior developer, capable of efficient task execution, but humans are needed to define the vision, validate results, and ensure ethical considerations. AI also struggles with communication and collaboration, areas where human skills are essential.

The Evolving Roles of Software Engineers

Software engineering involves understanding user needs, collaborating across roles, and making empathetic and responsible decisions, not just writing code. The best engineers are those who think deeply and guide machines toward structured and meaningful outcomes. Roles include system architects who design solutions, AI collaborators who implement them, and ethical technologists who ensure solutions benefit humanity. AI democratizes technical tasks, allowing designers and marketers to perform tasks previously requiring specialized engineers.

Software Engineers: Not Losing Advantages, but Evolving

Software engineers are not losing their advantages but are becoming more essential. They understand AI better, including its models, data pipelines, limitations, and risks, which is crucial as AI integrates into every product. Software engineers can make better use of AI to build production-ready software that is scalable, reliable, and maintainable in the long term. They also improve AI by fine-tuning models, optimizing performance, and enhancing usability, building the next generation of AI.

The Future of Software Engineering Education

Software engineering education should focus on breaking complex problems into steps, logical and critical thinking, and using digital tools to build meaningful solutions. In an AI-driven world, engineers become orchestrators who remove barriers and open doors. Students should master foundational concepts like data structures, algorithms, and programming concepts, think like system architects, develop full-stack expertise across disciplines, practice communication and collaboration, use AI as a creative partner, and stay adaptable by focusing on learning how to learn.

Conclusion: The Future Belongs to Those Who Build It

In the future, those who master the craft of software engineering will lead the way, making it the foundation of leadership in the AI era. The term "programmer" may no longer be adequate; software engineers should be visionaries who define meaningful problems, bridge builders who connect tools and teams, and leaders who guide both humans and AI. The future belongs to those who think deeply, adapt quickly, and collaborate efficiently, building the future rather than just predicting it.

Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the Apple Store
Get it on Google Play

Transcript

Full transcript of “Learning Software Engineering During the Era of AI | Raymond Fu | TEDxCSTU”. Click a timestamp to open the video at that moment. Need another video? Use the YouTube transcript generator.

0:00 [Music] At the turn of this century when I started to learn software engineering my 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

0:45 writing code for you through a natural language prompt. GitHub C-Pilot can complete code for you and fix bugs for you. and chat GBT can create an entire project for you within seconds and all these tools available to anyone. So I find myself wondering, have we lost our golden tickets to job security? And as a CST professor and a father to a daughter who studies computer science, there's a bigger question for me. If AI is going to do programming, does 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

1:31 about what AI can do and more importantly, how we can how our students of software engineering uh prepare for the future roles of a real software engineer. So, let's dive in. First, let's talk about what AI is good at in when in terms of programming. AI is really good at generating thousands of lines of code. It translate between programming languages. It can create user uh interfaces and fix bugs for you and it excels at repetitive tasks and you know pattern recognition. You know, once I asked ChatGBT to create a project for me, uh, a dating app like Tinder in Python, and within seconds, it

2:16 actually created a a complete application with user profiles, the swiping logic, and even a sample database. The only thing didn't it didn't do for me is find me a date. But AI has a lot of limitations. We have to accept that. you know, it still doesn't understand the why behind all the tasks we asked them to do. Um, it's it's um it needs you 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 give us the wrong answer. The statistics say that 55% of the

3:04 developers today are actually starting to use co-pilot 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 right. So, 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 the human. And you can think of AI as a

3:50 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 human 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 um AI is 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, you know, we will have to work out. Let AI do what AI is good at and we humans can take care of of the boring jobs such as handling

4:36 office politics. All right. So, talked about the 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 you know we need to understand what the user needs. We need to uh collaborate across roles and also making tough decisions with empathy and responsibility. This is what a soft engineer should be doing, right? We're not just tax executors. uh the 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

5:22 machines towards a structured and meaningful outcomes. 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 technologist to make sure the solutions that we're building are b truly benefiting human being. So AI is actually democratizing a lot of complicated technical pro tasks like today a designer can mock up an application and then you know it it's just with a prompt and also marketers they can they don't need data engineers they can just run data analytics with some you know without writing any code.

6:08 Does that mean soft engineers are losing our advantages? The answer is no. actually you know it it 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 and 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 you know prototype a demo or or create a

6:53 simple application of features but softwares 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

7:38 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 what we're 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 were raising the ceiling. And I want to share this not just with you. You can applaud. That's okay. I want to share this with not just system engineers. This is for everyone. All

8:23 right? 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. All right? So after all these now we can talk about software engineering education, right? So you know in the past coding is very important piece of uh software engineering education but software engineering education is not just about writing code. It's also about you know teaching you how to break complex problems into steps think logically and critically and harness the digital tools to build solutions that really matters. So in the time when everybody AI is everybody's assistant engineers becomes the orchestrators we remove remove barriers and open doors

9:11 and in order for us to uh be a successful software engineer the students should go beyond learning code as quickly as possible and get into the following things you know so in order to become a successful engineer in the future we should focus on master to the foundations, the data structure, the algorithm, the programming concepts, they're still very important. Spend enough time to learn on these and make make become an expert on those because they're the very important basics. Next, think about system like architect because you know uh aim higher, meet the expectation of a senior engineer as soon as possible and think about designing systems that can that is reliable and

9:57 scalable. go beyond u go full stack across disciplines. The days when a soft engineer can uh can focus on either the front end or the back end or the database is gone. The future software engineers 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 um you know through team projects because you know in the future the way you if you can explain and connect it it it'll become increasingly important and it will set you apart.

10:44 Use AI as a creative partner. Embrace UI, don't hate it, and learn LLM, generative AI, you know, model fine-tuning and uh rack, etc. 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 uh can code a little the ones who can master the craft will build the path for everyone and becomes the leader. So in the era of AI software engineering is becoming the foundation of leadership.

11:34 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 result uh meaningful problems. A bridgeuer 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 fast fastest but it also it should belong to the one who think deeply adapt quickly and collaborate efficiently. They are the ones who don't just predict the future we build the future. Thank you.

12:21 [Applause] [Music]

Share

More video summaries