Published Sep 3, 2019

Episode 148: Software Archaeology with Dave Thomas

Dive into the realm of Software Archaeology with expert Dave Thomas as he unravels the mysteries of code exploration, dependency management, and the art of reading source code, offering invaluable techniques for navigating and understanding uncharted codebases.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Code Benefits

    Reading source code is a crucial skill for developers, as emphasized by . He argues that developers often spend more time reading existing code than writing new code, whether it's for fixing bugs or adding new features 1. This practice is akin to other creative professions where learning from existing works is essential. highlights the importance of recreational and educational code reading, suggesting that it should be a part of formal education 1.

    If you're a software developer, you never read anybody else's code. You spend your entire time writing your own, which is an incredibly arrogant approach to the profession.

    ---

    He advocates for more courses focused on code reading and appreciation, which could help developers improve their skills and understanding of programming techniques 1.

       

    Beginner Tips

    For beginners, advises starting with manageable projects to build code reading skills. He suggests choosing open-source projects in familiar languages and focusing on smaller codebases of 5,000 to 20,000 lines 2. This approach allows beginners to ask simple questions and gradually understand the code's structure and functionality.

    Don't set yourself the job of understanding the Linux kernel as your first code reading exercise.

    ---

    also recommends forming groups to discuss code, akin to book clubs, which can provide diverse insights and enhance learning 3.

Related Episodes