0:07 [Music]
0:09 At the turn of this century when I
0:11 started to learn software engineering my
0:13 one of my professors told us that in the
0:17 future every job is a programming job.
0:19 That's in 2001
0:22 and he said that we're holding a golden
0:25 ticket to job security.
0:28 Just last month, the CEO of GitHub said
0:31 that the future of programming is
0:34 natural language.
0:36 It looks like the prediction of my
0:38 professor at the turn of this century is
0:40 going to become true, but probably not
0:43 in the way that he had imagined.
0:45 Artificial intelligence is capable of
0:48 writing code for you through a natural
0:51 language prompt. GitHub C-Pilot can
0:54 complete code for you and fix bugs for
0:57 you. and chat GBT can create an entire
1:00 project for you within seconds and all
1:03 these tools available to anyone.
1:06 So I find myself wondering, have we lost
1:09 our golden tickets to job security?
1:13 And as a CST professor and a father to a
1:16 daughter who studies computer science,
1:18 there's a bigger question for me.
1:21 If AI is going to do programming, does
1:23 it still worth it for us to learn
1:26 software engineering anymore?
1:28 Today, I would like to explore this
1:31 question with all you guys. Let's talk
1:33 about what AI can do and more
1:36 importantly, how we can how our students
1:38 of software engineering uh prepare for
1:41 the future roles of a real software
1:44 engineer. So, let's dive in. First,
1:47 let's talk about what AI is good at in
1:50 when in terms of programming. AI is
1:52 really good at generating thousands of
1:55 lines of code. It translate between
1:57 programming languages. It can create
2:02 user uh interfaces and fix bugs for you
2:05 and it excels at repetitive tasks and
2:08 you know pattern recognition.
2:10 You know, once I asked ChatGBT to create
2:13 a project for me, uh, a dating app like
2:16 Tinder in Python, and within seconds, it
2:18 actually created a a complete
2:21 application with user profiles, the
2:23 swiping logic, and even a sample
2:26 database. The only thing didn't it
2:32 But AI has a lot of limitations. We have
2:34 to accept that. you know, it still
2:36 doesn't understand the why behind all
2:39 the tasks we asked them to do. Um, it's
2:42 it's um it needs you human input for
2:45 real world context and scenarios. It may
2:48 not work well prioritizing long-term
2:51 business goals and assessing trade-offs.
2:53 And last but not least, it's not reliable.
2:55 reliable.
2:57 It hallucinates and sometimes give us
3:00 the wrong answer.
3:04 The statistics say that 55% of the
3:06 developers today are actually starting
3:09 to use co-pilot but only 30% of them are
3:11 accepting the outcome without any
3:14 changes. So if you are a developer and
3:17 you are not in the first 55%
3:19 that means you're not using AI you're in trouble.
3:20 trouble.
3:24 But if you are in the 30% that means you
3:26 trust AI too much. You may be in bigger trouble.
3:31 All right. So, all the leading AIs today
3:33 are built on top of large language
3:36 models and it's trained on the text of
3:39 human knowledge. It's impressive. If you
3:41 give a clear prompt, it'll give you very
3:44 good results. But all the strategic
3:46 thinking are still us. It's the the
3:50 human. And you can think of AI as a
3:52 brilliant junior developer that you hire
3:55 to your team and they can do a lot of
3:58 jobs very quickly and efficiently. But
4:03 it's up to us human to define the vision
4:06 to validate the results and ensure what
4:09 we're building is good for the society.
4:11 So there's another thing that I want to
4:14 talk about that um AI is is struggling
4:17 on. It's struggling to communicate and
4:20 collaborate with human beings. Well,
4:22 maybe you will say this is more of a
4:24 human problem, right? We humans
4:26 sometimes deal with the same problem
4:28 too. But this is something, you know, we
4:31 will have to work out. Let AI do what AI
4:33 is good at and we humans can take care
4:36 of of the boring jobs such as handling
4:38 office politics.
4:40 All right. So, talked about the the
4:43 capabilities and limitations of AI. Now
4:45 we can take a look at the software
4:48 engineering roles.
4:50 So software engineering roles is not
4:53 just about writing code. It actually
4:55 talks about you know we need to
4:57 understand what the user needs. We need
5:01 to uh collaborate across roles and also
5:03 making tough decisions with empathy and
5:06 responsibility. This is what a soft
5:08 engineer should be doing, right? We're
5:11 not just tax executors. uh the the best
5:13 engineers are not the ones who code the
5:15 fastest but the ones who think the deepest.
5:17 deepest.
5:20 So a good engineer will take messy
5:22 problems, ambiguous problems and guide
5:24 machines towards a structured and
5:27 meaningful outcomes.
5:30 So there are system architects who
5:33 design the best solutions and they
5:35 should be the AI collaborators who use
5:39 AI to implement those solutions and then
5:42 they need to be ethical technologist to
5:44 make sure the solutions that we're
5:46 building are b truly benefiting human
5:50 being. So AI is actually democratizing a
5:53 lot of complicated technical pro tasks
5:56 like today a designer can mock up an
5:58 application and then you know it it's
6:01 just with a prompt and also marketers
6:03 they can they don't need data engineers
6:05 they can just run data analytics with
6:08 some you know without writing any code.
6:10 Does that mean soft engineers are losing
6:13 our advantages? The answer is no.
6:17 actually you know it it it still remains
6:19 essential for software engineers and the
6:22 reason is as follows.
6:26 First we understand AI better. We not
6:29 only know how to prompt and we also know
6:31 what's under the hood, the models, the
6:34 data pipelines, the limitations and
6:37 risks and the understanding of these are
6:40 very important because AI is integrated
6:42 into every product we're using and we're
6:46 building in the future. Second, we can
6:48 make better use of AI when building
6:51 software. So nowadays anybody can you
6:53 know prototype a demo or or create a
6:56 simple application of features but
6:59 softwares think of the bigger picture.
7:02 We are actually using AI to build a
7:05 production ready software that is
7:07 scalable reliable with long-term maintainability.
7:10 maintainability.
7:13 Finally we are making AI better. We
7:16 fine-tune models. We optimize the
7:19 performance and improve usability. We
7:22 make AI available and useful for
7:24 everybody else. The next generation of
7:26 AI are still built by software
7:29 engineers. Do you guys remember this
7:32 quote from CEO of GitHub? This is not in
7:35 reality yet. It's still up to the
7:38 software engineers to improve AI and
7:41 make this happen.
7:44 So software engineers, we're not losing
7:46 the golden ticket to job security. As a
7:48 matter of fact, we're collecting even
7:50 more because we're no longer just
7:52 building software. We're actually
7:57 building the future intelligence itself.
8:00 And what we're how we train, direct, and
8:04 supervise AI today will define the kind
8:07 of systems, technology, and society that
8:10 we're building tomorrow.
8:13 AI is raising the floor, but software
8:16 engineers were raising the ceiling. And
8:18 I want to share this not just with you.
8:20 You can applaud. That's okay. I want to
8:22 share this with not just system
8:23 engineers. This is for everyone. All
8:26 right? We have AI that's rooting us up
8:28 from the floor, but it's human that we
8:30 have to reach to the ceiling and raise
8:33 up the ceiling.
8:35 All right? So after all these now we can
8:36 talk about software engineering
8:38 education, right? So you know in the
8:41 past coding is very important piece of
8:43 uh software engineering education but
8:45 software engineering education is not
8:47 just about writing code. It's also about
8:49 you know teaching you how to break
8:52 complex problems into steps think
8:54 logically and critically and harness the
8:57 digital tools to build solutions that
8:59 really matters.
9:02 So in the time when everybody AI is
9:05 everybody's assistant engineers becomes
9:08 the orchestrators we remove remove
9:11 barriers and open doors
9:14 and in order for us to uh be a
9:15 successful software engineer the
9:17 students should go beyond learning code
9:20 as quickly as possible and get into the
9:23 following things
9:25 you know so in order to become a
9:27 successful engineer in the future we
9:29 should focus on master to the
9:31 foundations, the data structure, the
9:33 algorithm, the programming concepts,
9:35 they're still very important. Spend
9:37 enough time to learn on these and make
9:40 make become an expert on those because
9:42 they're the very important basics.
9:47 Next, think about system like architect
9:50 because you know uh aim higher, meet the
9:52 expectation of a senior engineer as soon
9:55 as possible and think about designing
9:57 systems that can that is reliable and scalable.
10:00 scalable.
10:02 go beyond u go full stack across
10:05 disciplines. The days when a soft
10:08 engineer can uh can focus on either the
10:10 front end or the back end or the
10:12 database is gone. The future software
10:15 engineers all full stack engineers and
10:17 there's more. You need to also get into
10:19 the other disciplines like design,
10:22 product, data, project management and be
10:25 prepared to wear multiple hats.
10:27 practice communication and
10:30 collaborations. Learn to work with
10:33 people um you know through team projects
10:35 because you know in the future the way
10:39 you if you can explain and connect it it
10:41 it'll become increasingly important and
10:44 it will set you apart.
10:47 Use AI as a creative partner. Embrace
10:51 UI, don't hate it, and learn LLM,
10:53 generative AI, you know, model
10:57 fine-tuning and uh rack, etc. You
10:59 discuss your project with AI and
11:01 delegate your work to AI as if it's one
11:03 of your teammates.
11:07 Last but not least, stay adaptable.
11:10 Tools change, principles last. So, you
11:13 should always focus on learning how to learn.
11:15 learn.
11:18 So in the future when everyone uh can
11:20 code a little the ones who can master
11:23 the craft will build the path for
11:26 everyone and becomes the leader. So in
11:29 the era of AI software engineering is
11:36 I've talked a lot about programming but
11:38 perhaps programmer is no longer the
11:40 right term we should be using to refer
11:42 to software engineers. The software
11:45 engineers of the AI era should be
11:48 visionaries who can define meaningful
11:51 result uh meaningful problems. A
11:55 bridgeuer who can connect tools, teams
11:58 and disciplines and leaders who not only
12:02 lead human beings but also lead AI. So
12:04 the future doesn't belong to those who
12:06 code the fast fastest but it also it
12:08 should belong to the one who think
12:12 deeply adapt quickly and collaborate
12:14 efficiently. They are the ones who don't
12:17 just predict the future we build the future.
12:19 future.
12:21 Thank you. [Applause]
12:21 [Applause] [Music]