Hyrum Wright, Senior Staff Engineer at Google, shares insights on software engineering at Google. Topics include measuring engineering productivity, writing effective test cases, challenges of software engineering at Google, style guides, code reviews, testing techniques, test doubles, Google's testing scale, static analysis power, implementing large-scale code changes, and book feedback.
Read more
AI Summary
Highlights
AI Chapters
Episode notes
auto_awesome
Podcast summary created with Snipd AI
Quick takeaways
Hiram's Law highlights the impact of system changes on users, seen in a Google incident.
Effective managers prioritize 'what' needs to be done, fostering team autonomy and problem-solving.
Software engineering extends beyond coding to include collaboration, problem-solving, and adaptability for longevity.
Deep dives
Decentralized Applications on Algorand
Algorand, like Android and iOS, is an operating system designed for decentralized applications, enabling true peer-to-peer value exchanges. By building on Algorand and using Python, developers can leverage a familiar and fluently known programming language to start coding in just five minutes.
Hiram's Law and Software Maintenance
Hiram's Law emphasizes that with a sufficient number of API users, any observable behavior change in a system will impact someone, known as Hiram's Law in software maintenance. Illustrated by an incident at Google where a simple comment line change led to test failures due to unexpected dependencies on specific line numbers in log messages.
Great Managers Trust Their Teams
Great managers focus not on how tasks are accomplished but on what needs to be done, trusting their teams to figure out the 'how'. This approach encourages expert autonomy, effective problem-solving, and better outcomes by empowering team members' domain expertise.
Software Engineering Beyond Coding
Software engineering encompasses problem-solving beyond mere coding, likened to building a house requiring various skilled individuals for success. This broader scope includes aspects like knowledge sharing, project management, and effective team collaboration, enhancing the overall problem-solving approach in software development.
Challenge of Maintaining Software at Scale
At Google, maintaining software for longevity involves considerations of adapting to language, library, and ecosystem changes over time. These challenges necessitate scalable solutions, such as breaking down large-scale changes into manageable parts and leveraging automated testing and code review processes for correctness and sustainability.
Hyrum Wright, Senior Staff Engineer at Google, discusses the book he co-edited, “Software Engineering at Google,” with host Gregory M. Kapfhammer. Wright describes the professional and technical best practices adopted by the software engineers at Google. The wide-ranging conversation investigates an array of topics, including measuring engineering productivity and writing effective test cases. This episode is sponsored by the Algorand Foundation.
Get the Snipd podcast app
Unlock the knowledge in podcasts with the podcast player of the future.
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode
Save any moment
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Share & Export
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode