Yes. AI can write code, but software engineers are still needed to understand the underlying systems, define meaningful problems, design reliable and scalable solutions, validate results, make ethical decisions, collaborate with people, and improve AI.
Behind this: 9 advice · 9 ai usage · 6 lessons · 5 limitations · 5 risks · 2 tools.
Searchable transcript of Learning Software Engineering During the Era of AI | Raymond Fu | TEDxCSTU — TEDx Talks (12:27). Search for a phrase, then click its timestamp to jump straight to that moment in the video.
Captions sourced from the original video on YouTube, published by TEDx Talks. The video, its captions and all related intellectual property remain the property of their respective owners; AINotes claims no ownership. Provided for research, accessibility and search — see the Transcript Notice and Copyright Policy.
00:00 Transcriber: Brenda Meza Reviewer: Emilia Soso At the turn of the century, when I started to learn software engineering, one of my professors told us that in the future, every job will be a programming job. That was 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.
00:33 It looks like the prediction of my professor at the turn of the 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.
00:59 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 CSTU 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 of you guys.
01:30 Let’s talk about what AI can do and more importantly, how our students of software engineering can 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 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.
02:02 And it excels at repetitive tasks, and, you know, pattern recognition. You know, 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. (Laughs) But AI has a lot of limitations.
02:30 We have to accept that. It still doesn’t understand the why behind all the tasks we ask them to do. It needs your 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 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.
03:12 So if you are a developer and you are not in the first 55%, that means you’re not using AI, and you’re in trouble. But if you are in the 30%, that means you trust AI too much. You may be in bigger trouble. 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.
03:42 But all the strategic thinking are still us. It’s the human. 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 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 AI is struggling with.
04:14 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. So talk about the capabilities and limitations of AI.
04:43 Now we can take a look at the software engineering roles. So software engineering roles is not just about writing code. It actually is about how we need to understand what the user needs. We need to collaborate across roles and also make tough decisions with empathy and responsibility. This is what a software engineer should be doing, right? We're not just text executors.
05:10 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 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.
05:38 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. Like, today a designer can mock up an application with a prompt. And also marketers, they don’t need data engineers. They can just run data analytics without writing any code.
06:08 Does that mean software engineers are losing advantages? The answer is no. 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.
06:44 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’s scalable and reliable with long-term maintainability. Finally, we are making AI better.
07:12 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 is still built by software engineers. Do you guys remember this quote from CEO of GitHub? This is not a reality yet. It's still up to the software engineers to improve AI and make this happen. So software engineers were not losing the golden ticket to job security.
07:46 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 are raising the ceiling.
08:15 And I want to share this not just with… You can applaud, that’s okay. I want to share this with not just system engineers. This is for everyone, all right? We have AI that’s raising us up from the floor. But it’s us humans that have to reach to the ceiling and raise up the ceiling. All right, so after all this, now we can talk about software engineering education, right.
08:37 So, in the past, coding was a very important piece of software engineering education. But software engineering education is not just about writing 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 matters. So in a time when AI is everybody’s assistant, engineers become the orchestrators.
09:07 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 mastering the foundations. The data structure, the algorithm, the programming concepts.
09:33 They are still very important. Spend enough time to learn all these and become an expert on them because they’re very important basics. Next, think about a system like an architect because, you know, aim higher. Meet the expectation of a senior engineer as soon as possible. And think about designing systems that are reliable and scalable. Go beyond, go full-stack across disciplines.
10:03 The days when a software engineer could focus on either the front end or the back end or the database are gone. The future software engineers are 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.
10:28 Learn to work with people through team projects. Because in the future, if you can explain and connect, it will become increasingly important, and it will 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, etc. You discuss your project with AI, and delegate your work to AI as if it’s one of your teammates.
11:03 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 become the leader. 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.
11:42 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, it should belong to the ones 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.