Join Etienne in this episode as he interviews Allan Stewart, the lead engineer at SynkedUP, a groundbreaking startup focused on bridging the technological gaps in today’s digital world. Together, they unravel the threads of storytelling in The Lord of the Rings, explore the implications of Conway’s Law on organizational design and software development, and discuss coding challenges that leave even seasoned developers hesitant.
Allan touches upon his lifelong journey with Tolkien's work, showcasing how the tales have influenced his personal and professional life, and his unique perspective illuminates the profound impact of literature on technological creativity and problem-solving. The conversation also dissects Conway's Law and its profound influence on the architecture of software systems, mirroring the communication patterns within organizations.
Etienne and Allan also delve into a common dilemma in the tech world: the fear of modifying legacy code. Allan recounts tales from the trenches, revealing strategies to address the untouchable parts of a codebase that developers dread to alter. Their discussion serves as a critical reminder of the importance of fostering a culture that encourages innovation, transparency, and resilience in the face of technological challenges.
Allan’s insights offer a fresh perspective on the relationship between team dynamics and code quality, shedding light on how team structure can shape the final product, for better or worse. Whether you're a fan of Middle Earth, an aspiring engineer, and/or a seasoned CTO, this episode promises a treasure trove of wisdom and intriguing discussions that run the gamut of software development and beyond.
Time Stamps:
[1:43] - Allan discusses his love for The Lord of the Rings.
[3:45] - Allan explores Middle-earth's history through Christopher Tolkien's posthumous works, finding it rewarding.
[6:34] - Allan's reading habits are sporadic, recently focusing on the fifth volume of The History of Middle Earth.
[8:45] - Conway's Law suggests team dynamics shape software, stressing the importance of communication in development.
[10:58] - Software mirrors its development context, with team practices and incentives affecting the codebase's quality.
[12:22] - Etienne argues that hasty incentives can lead to poor coding practices and duplicated work to meet deadlines.
[14:07] - Financial motives of offshore teams often overlook comprehensive codebase care, highlighting the importance of aligning team incentives with quality goals.
[16:58] - Allan values trust in software audits and reiterates the importance of aligning developer incentives with principal goals.
[18:44] - Allan highlights how attitudes towards automated testing mirror Conway's Law, impacting developer confidence and code quality.
[20:50] - Allan critiques the dynamics between QA and developers, leading to defensive coding and diminished collaboration.
[24:39] - Understanding software complexity is challenging; relying on trusted opinions and monitoring development are important.
[27:12] - Etienne observes prolonged development times, suggesting collaborative code reading sessions for improved quality.
[29:14] - Allan emphasizes collaboration through pair and mob programming, involving all teams for active participation.
[31:42] - Hear why Allan prioritizes principles such as collaboration and automated testing over vague "best practices."
[33:46] - In large developer meetings, Allan points out, some may not speak up due to overcrowding, hindering valuable input.
[35:50] - Effective collaboration doesn't require everyone to do the same tasks simultaneously but involves coordination and acknowledgment of specialties.
[39:04] - Addressing fear and context changes requires transparency, incentives, and adaptable code stru