Developer on Fire
Episode 114 | Robert Martin - Master Craftsman
Robert Martin (Uncle Bob) (@unclebobmartin) has been a programmer since 1970. He is the Master Craftsman at 8th Light inc, co-founder of the on-line video training company: cleancoders.com, and founder of Uncle Bob Consulting LLC. He is an acclaimed speaker at conferences worldwide, and the author of many books including: The Clean Coder, Clean Code, Agile Software Development: Principles, Patterns, and Practices, and UML for Java Programmers. He is a prolific writer and has published hundreds of articles, papers, and blogs. He served as the Editor-in-chief of the C++ Report, and as the first chairman of the Agile Alliance. He is the creator of the acclaimed educational video series at cleancoders.com.
Chapters:
- - Dave introduces the show and "Uncle Bob" Martin
- - The story of the chunks of science Uncle Bob includes in his talks
- - Uncle Bob's path to his emphasis on clean coding and craftsmanship
- - Starting over is "the ultimate admission of failure"
- - Uncle Bob's involvement in the creation of the Agile Manifesto at Snowbird
- - Meeting Kent Beck, Ken Auer, Ward Cunningham, Jim Coplien, and others
- - Becoming enamored with Extreme Programming, creating the Extreme Programming Immersion, and introduction to Test-Driven Development
- - Uncle Bob's experience with learning Test-Driven Development from Kent Beck and his conversion and the peril of religion
- - External regulation of software development is inevitable
- - Uncle Bob's definitions of professionalism and value
- - Uncle Bob on "Minimum Viable Product"
- - The things that "light Bob up"
- - Uncle Bob's story of failure - a geek lacking professionalism and caring for business who got fired
- - Uncle Bob's story of success - family first, using experience to communicate and impact on people and the industry
- - Family, apology, amends, and responsibility
- - The origin of the "Uncle Bob" moniker
- - How Bob stay's current with what he needs to know
- - Uncle Bob's book recommendations
- - The things about which Uncle Bob is most excited
- - Bob's greatest sources of disappointment
- - Uncle Bob's top 3 tips for delivering more value
- - Keeping up with Uncle Bob
Resources:
- Bob's Blog
- Clean Coders videos
- 8th Light
- Clean Code: A Handbook of Agile Software Craftsmanship - Robert C. Martin
- The Clean Coder: A Code of Conduct for Professional Programmers - Robert C. Martin
- Amazon's Robert C. Martin Page
- Code golf
- Pattern Languages of Programming Conferences
- Ward Cunningham on Developer On Fire
- TDD is dead. Long live testing. - David Heinemeier Hansson
- Marting Fowler, Kent Beck, David Heinemeier Hansson - Series of Hangouts on "Is TDD Dead?"
- David Heinemeier Hansson on Developer On Fire
- Minimum Viable Product
- The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses - Eric Ries
- Pulp Fiction
- Pulp Fiction Briefcase
- History of Dr. Dobb's Jounal
- History of the Big Bang theory
- Use of "Mormon" to describe the Church of Jesus Christ of Latter-day Saints
- Structured Programming - Edsger Wybe Dijkstra, C. A. R. Hoare, Ole-Johan Dahl
- Euclidean Geometry
- Uncle Bob on Quality, Ethics and Chickens - Wendy Closson's Podcast
- Digging into Software Ethics with Bob Martin - Wendy Closson's Podcast
- Uncle Bob Regarding Exponential Growth of Worldwide Software Developers
Robert's book recommendation:
- Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman
- Design Patterns: Elements of Reusable Object-Oriented Software - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
- Domain-Driven Design: Tackling Complexity in the Heart of Software - Eric Evans
- The Art of Computer Programming, Vol. 1: Fundamental Algorithms - Donald Knuth
- The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine - Charles Petzold
- Analysis Patterns: Reusable Object Models - Martin Fowler
Robert's top 3 tips for delivering more value:
- Test-Driven Development
- You must be able to say no, especially when you know something can't be done
- Care about your customer/employer/business