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

TEDx TalksAbout 4 min readJul 24, 2025Watch original
THE SUMMARYAI-generated

Key Concepts

  • AI-assisted coding (GitHub Copilot, ChatGPT)
  • Limitations of AI in programming
  • Software engineering roles beyond coding
  • Importance of understanding AI for software engineers
  • Full-stack development and cross-disciplinary skills
  • Adaptability and continuous learning
  • Software engineers as orchestrators and leaders in the AI era

AI in Programming: Capabilities and Limitations

The speaker begins by reflecting on a professor's prediction from the early 2000s that all jobs would become programming jobs. While this prediction is seemingly coming true with the rise of AI, it's not in the way initially envisioned. AI tools like GitHub Copilot and ChatGPT can generate code, fix bugs, and even create entire projects from natural language prompts.

AI Strengths:

  • Generating large amounts of code quickly.
  • Translating between programming languages.
  • Creating user interfaces.
  • Fixing bugs.
  • Excelling at repetitive tasks and pattern recognition.
  • Example: ChatGPT creating a dating app (like Tinder) in Python with user profiles, swiping logic, and a sample database in seconds.

AI Limitations:

  • Lacks understanding of the "why" behind tasks.
  • Requires human input for real-world context and scenarios.
  • Struggles with prioritizing long-term business goals and assessing trade-offs.
  • Unreliable; prone to "hallucinations" and incorrect answers.
  • Statistics: 55% of developers use Copilot, but only 30% accept the output without changes.

AI as a Junior Developer:

The speaker likens AI to a brilliant junior developer: efficient and fast but requiring human guidance for vision, validation, and ensuring societal benefit.

Communication and Collaboration:

AI struggles with communication and collaboration with humans, an area where human skills remain crucial.

The Evolving Role of Software Engineers

The speaker emphasizes that software engineering is more than just writing code. It involves:

  • Understanding user needs.
  • Collaborating across roles.
  • Making tough decisions with empathy and responsibility.

Key Qualities of a Good Engineer:

  • Ability to take messy, ambiguous problems and guide machines towards structured and meaningful outcomes.
  • System architects who design the best solutions.
  • AI collaborators who use AI to implement those solutions.
  • Ethical technologists who ensure solutions benefit humanity.

AI Democratization and the Software Engineer's Advantage:

While AI democratizes technical tasks (e.g., designers mocking up apps with prompts, marketers running data analytics without code), software engineers retain essential advantages:

  1. Deeper Understanding of AI: Knowing how to prompt and understanding the underlying models, data pipelines, limitations, and risks.
  2. Effective Use of AI: Building production-ready software that is scalable, reliable, and maintainable in the long term, not just prototypes.
  3. Improving AI: Fine-tuning models, optimizing performance, and improving usability.

The Future of AI is Built by Software Engineers:

The speaker references the GitHub CEO's quote about natural language programming, emphasizing that software engineers are still needed to improve AI and make this vision a reality. Software engineers are not losing their "golden ticket" but gaining more, building the future of intelligence itself.

Software Engineering Education in the AI Era

The speaker shifts to the implications for software engineering education.

Beyond Coding:

Software engineering education should focus on:

  • Breaking complex problems into steps.
  • Thinking logically and critically.
  • Harnessing digital tools to build solutions that matter.

Engineers as Orchestrators:

In an era where AI is everyone's assistant, engineers become orchestrators, removing barriers and opening doors.

Key Skills for Future Software Engineers:

  1. Mastering Foundations: Data structures, algorithms, and programming concepts remain crucial.
  2. System Architecture: Aiming to meet senior engineer expectations and designing reliable, scalable systems.
  3. Full-Stack Development: Going beyond front-end, back-end, or database specialization to become a full-stack engineer.
  4. Cross-Disciplinary Skills: Acquiring knowledge in design, product, data, and project management.
  5. Communication and Collaboration: Learning to work with people through team projects.
  6. AI as a Creative Partner: Embracing AI, learning LLMs, generative AI, model fine-tuning, and RAG (Retrieval-Augmented Generation).
  7. Adaptability: Focusing on learning how to learn, as tools change but principles last.

Conclusion: The Future Belongs to Leaders

The speaker concludes that in the AI era, software engineering is becoming the foundation of leadership. The term "programmer" may no longer be sufficient; instead, software engineers should be:

  • Visionaries: Defining meaningful problems.
  • Bridge Builders: Connecting tools, teams, and disciplines.
  • Leaders: Leading both human beings and AI.

The future belongs to those who think deeply, adapt quickly, and collaborate efficiently, building the future rather than just predicting it.

AI summaries can miss context or contain errors. Check important details against the original video.

MAKE IT YOURS

Read. Remember. Reuse.

Free tools

Go a little deeper.

Have a question about this video? Load its transcript to open the video chat.