Published Oct 16, 2020

Episode 430: Marco Faella on Seriously Good Software

Marco Faella delves into the essential balance between theoretical and practical skills in software engineering education, the complex trade-offs in programming language design, and the challenges of optimizing software quality attributes like readability, efficiency, and thread safety.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Tradition vs. Practice

    and explore why traditional topics like algorithms dominate academic curricula, often sidelining practical software engineering concerns. Marco attributes this to the long-standing tradition and mathematical nature of algorithms, which makes them easier to teach and test compared to more subjective topics like API design 1. Felienne agrees, noting that creating examples for algorithms is straightforward, unlike the complexities involved in evaluating software engineering practices. Marco elaborates on his book's approach to software quality, emphasizing the need for a balanced curriculum that integrates both theoretical and practical aspects 2.

    It's easier to create examples for algorithms, like, here's a two by two matrix, and now you have to multiply it with something else.

    ---

       

    Curriculum Gaps

    The discussion highlights significant gaps in software engineering education, particularly the lack of focus on practical skills like API design. points out that while universities prepare students for deep theoretical tasks, they often miss teaching how to apply these skills in real-world scenarios 3. He emphasizes that qualities such as time efficiency and memory efficiency should be integrated into the curriculum to better prepare students for industry challenges. This approach would ensure that students not only understand the theory but also know how to implement it effectively.

    The list goes on and on.

    ---

Related Episodes