Fundamentals of Software Engineering in the Age of AI

In today's rapidly evolving tech landscape, AI coding assistants are transforming how we develop software. While these tools enhance productivity, mastering fundamental software engineering principles remains essential for their effective use. This workshop bridges the gap between basic programming skills and the expertise needed to thrive in environments where human engineers collaborate with AI tools.

Based on the book "Fundamentals of Software Engineering," this intensive workshop equips participants with both technical capabilities and professional skills that remain relevant regardless of changing technologies. Through a balanced mix of conceptual teaching and hands-on exercises using both traditional and AI-assisted approaches, attendees will work on realistic scenarios that reinforce practical application of software engineering fundamentals while developing discernment about AI tool integration.

Key Takeaways

1 Understand the mindset shift from programmer to software engineer

2 Develop skills for crafting maintainable, readable code that communicates intent

3 Learn effective techniques for working with legacy codebases

4 Master AI code assistance tools and evaluate AI-generated code critically

5 Apply software architecture patterns appropriately

6 Build a personal roadmap for professional growth in the AI era


Prerequisites

  • Working knowledge of at least one programming language
  • Basic understanding of software development concepts
  • Laptop with a code editor and Git installed