45 candidatos extraídos · 0 já revisados · 45 pendentes · 0.1% de cobertura de vocabulário
“Stanford professor John Ousterhout thinks not much.”
“— In This Episode How will AI tools change software engineering?”
“Where to find John Ousterhout: • X: https://x.com/johnousterhout • Website: https://engineering.stanford.edu/people/john-ousterhout Mentions during the episode: • UC Berkeley: https://www.berkeley.edu/ • Sun Microsystems: https://simple.wikipedia.org/wiki/Sun_Microsystems • Stanford University: https://www.stanford.edu/ • A Philosophy of Software Design : https://www.amazon.com/Philosophy-Software-Design-2nd/dp/173210221X/r • TDD (test-driven development): https://en.wikipedia.org/wiki/Test-driven_development • Design Patterns: https://en.wikipedia.org/wiki/Design_Patterns • Engineering Planning with RFCs, Design Documents and ADRs: https://newsletter.pragmaticengineer.com/p/rfcs-and-design-docs • Tk: https://en.wikipedia.org/wiki/Tk_(software) • Waterfall methodology: https://www.atlassian.com/agile/project-management/waterfall-methodology • Robert "Uncle Bob" Martin and John Ousterhout’s discussion: https://github.com/johnousterhout/aposd-vs-clean-code/blob/main/README.md • Clean Code: A Handbook of Agile Software Craftsmanship : https://www.amazon.com/dp/0132350882 • Bob Martin on X: https://x.com/unclebobmartin • Single-responsibility principle: https://en.wikipedia.org/wiki/Single-responsibility_principle • The Linux Kernel Archives: https://www.kernel.org/ • How Linux is built with Greg Kroah-Hartman: https://newsletter.pragmaticengineer.com/p/how-linux-is-built-with-greg-kroah • Homa: A Receiver-Driven Low-Latency Transport Protocol Using Network Priorities: https://people.csail.mit.edu/alizadeh/papers/homa-sigcomm18.pdf • Behnam Montazeri on LinkedIn: https://www.linkedin.com/in/behnam-montazeri-639a8a29/ • TCP: https://en.wikipedia.org/wiki/Transmission_Control_Protocol • Resources from John’s website: https://web.stanford.edu/~ouster/cgi-bin/aposd.php • A Philosophy of Software Design: My Take (and a Book Review): https://blog.pragmaticengineer.com/a-philosophy-of-software-design-review/ — Production and marketing by Pen Name .”
“Gergely Orosz Apr 09, 2025 210 8 13 Share Transcript Stream the Latest Episode Listen and watch now on YouTube , Spotify , and Apple .”
“Test Driven Development (TDD) works against good software design.”
“John uses ChatGPT to assist in understanding the Linux kernel codebase, highlighting a practical application of AI in navigating complex existing systems.”
“For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.”
“See the episode transcript at the top of this page, and a summary at the bottom.”
“Especially relevant for software engineers and engineering leaders: useful for those working in tech.”
“The Philosophy of Software Design – with John Ousterhout Stanford professor John Ousterhout explains why thoughtful software design matters more than ever as AI tools transform coding practices and developer workflows.”
“John wanted to make this protocol available more widely, and is putting in the work to do so.”
“Use the code PRAGMATIC to get one month free.”
“The explosion of AI coding could make software design more important than before.”
“Comments : John disagrees with minimizing them.”
“industry ( 07:20 ) Tactical tornadoes vs.”
“→ thus software engineers will dedicate more time to high-level design tasks.”
“Martin Short methods: John is against the extreme application of short methods advocated in Clean Code.”
“We also explore: The differences between working in industry vs.”
“Deep modules : creating deep modules with simple interfaces masks significant internal functionality.”
“To manage complexity: eliminate it by Avoiding special cases Or hiding complexity through modular design!”
“Software design is a decomposition problem.”
“The undervalued trait of empathy in design thinking.”
“Best practices for special cases and exceptions.”
“John doesn’t see the current tools being able to replace high-level design.”
“Why TDD and Design Patterns are less popular now.”
“Extensive code reviews are part of the course!”
“Hiding complexity through modular design.”
“Creating deep modules with simple interfaces masks significant internal functionality.”
“Emphasizing feedback and revision.”
“AI coding tools and agents are akin to 'tactical tornadoes'.”
“John advocates for this: 'design it twice'.”
“Paying down tech debt.”
“When fixing a bug, it’s helpful to write a test first.”
“John’s criticisms of the single-responsibility principle.”