SummaryIn this episode, We discuss Object-Oriented Programming (OOP) with Tim and Rob, its origins, principles, and practical applications.The guests share their experiences and insights on the importance of naming conventions, the balance between purity and practicality in OOP, and the impact of Object-Relational Mappers (ORMs) on design. They also explore the challenges of modeling reality with objects and provide recommendations for those looking to deepen their understanding of OOP.TakeawaysObject-Oriented Programming is a way of organizing work.Naming things in code is a significant challenge.All models are wrong, but some are useful for abstraction.You can model both physical and unphysical concepts in OOP.Understanding design patterns helps in solving problems effectively.Clarity in code is essential to avoid misunderstandings.The use of ORMs can limit the flexibility of OOP.It's important to trust that objects behave as expected in OOP.Chapters00:00 Introduction to Object-Oriented Programming02:35 The Origins and Purpose of OOP04:34 Purity in Object-Oriented Programming10:50 Design Principles and Patterns in OOP15:41 Types and Their Importance in OOP20:58 ORMs and Their Limitations24:48 The Role of Patterns in OOP26:11 Understanding Patterns in Object-Oriented Programming30:04 The Iterative Process of Object Design35:52 Trusting Object Competence in Code39:10 Modeling Reality with Objects43:27 Building a Shared Vocabulary in Programming50:07 Recommended Resources for Learning OOPFind our Guests: Rob: https://www.linkedin.com/in/purinkle/Tim: https://www.linkedin.com/in/agileotter/ and http://agileotter.blogspot.com/
A couple days ago Mathieu and Sandjiv joined me to discuss the nebulous concept of "taste" in programming.Is taste universal?How do mistakes and 'pain' shape your taste?All that and more in this episode. Find Sandjiv at: https://www.linkedin.com/in/sandjiv/Find mathieu at: https://www.linkedin.com/in/mathieu-slegten-03933b29/
A few days ago I was joined by Dave and Steven to discuss misunderstood concepts in tech. We strayed away from that so as a bonus you also get: - A comparison of the state of the car industry vs the tech industry 60 years in. - Thoughts about what the role of software developer should be. - And, thoughts on why so many concepts don't have a consensus understanding among tech professionals. ---find Dave at:- http://pragdave.me/- https://x.com/pragdavefind Steven at:- https://stevenrbaker.com/- https://x.com/srbaker - https://fosstodon.org/@srbaker
A couple days ago Aslihan and Sami joined me to talk about bootcamps. What has been their experience joining the industry after their bootcamps, what would they recommend to new graduates, and what is the place of bootcamps today and in the future. Were among the subjects we discussed.Find Sami at: https://samibirnbaum.com/https://www.linkedin.com/in/samibirnbaum/Find Aslihan at: https://www.linkedin.com/in/aslihan-hird/https://open.spotify.com/artist/4HE3uqIoOfCRiwT0g8W6HY
I had the honor to host Thierry and Martin to discuss team practices for writing excellent software.I learned a lot from them and hope you will too!---Find Martin at: https://www.linkedin.com/in/martinvanakenhttps://www.joyouscoding.com/Find Thierry at: https://www.linkedin.com/in/tdpauwhttps://thinkinglabs.io/---Links and notes:https://thinkinglabs.io/articles/2022/06/14/the-practices-that-make-continuous-integration.htmlhttps://app.thestorygraph.com/books/3aa08f69-6e4b-4041-8eca-48bd7141726bhttps://app.thestorygraph.com/books/7c0a35f6-89c7-4634-a5d0-3e456ccbbc02https://app.thestorygraph.com/books/a18e5dee-89e4-4c79-948e-ada45f61b476https://app.thestorygraph.com/books/77eb0975-4194-42e7-9db3-005d4250940fhttps://socratesbe.org/
A couple days ago Kevin joined me for an enlightening discussion around PWAsAre they viable?What niche do they serve?----Find Kevin at: http://vzb.iohttp://prologuekit.comhttps://www.linkedin.com/in/kevinvzbhttps://x.com/kevinvzb
George and Sami joined me to discuss LLMs a few days ago.What started innocently, ended with deep philosophical questions posed by Sami.How do they use LLMs?Should we use them?What questions arise with them?---Find Sami at: - https://samibirnbaum.com/- https://www.linkedin.com/in/samibirnbaum/Find George at: - https://www.linkedin.com/in/george-kosmopoulos---references:- https://thoughtbot.com/blog/ai-led-or-human-led-coding-you-decide- https://www.anthropic.com/learn- https://en.m.wikipedia.org/wiki/Life_3.0- https://fchollet.substack.com/p/how-i-think-about-llm-prompt-engineering- https://en.m.wikipedia.org/wiki/The_Last_Question
A few days ago, Rachel and Thierry joined me for a discussion around software metrics.What metrics are worth having?What are the dangers of metrics?Where are metrics useful?---Find Thierry at: https://thinkinglabs.io/ and http://be.linkedin.com/in/tdpauwFind Rachel at: https://www.linkedin.com/in/rachel-grey-b69319/ and https://bsky.app/profile/greyoctagon.bsky.social
A few days ago, Martin and Kostas joined me to discuss what they take into account when starting a new role.How to win over your new colleagues quickly?What are good first tasks to tackle?----Find martin at: https://www.joyouscoding.com and https://www.linkedin.com/in/martinvanakenFind Kostas at: https://www.linkedin.com/in/ksofianopoulos
A few days ago, Chloé and Manon joined me to discuss the relationship between Marketing and Tech. I learned a lot about how marketing works, and how we can better collaborate within our two roles! ---- Find Chloé at: https://www.linkedin.com/in/chloe-bailly/Find Manon at:https://www.linkedin.com/in/manonforestier/
Not too long ago, Javier and George joined me to discuss DDD.What in it is useful?When is it useful?What does it solve?Should you use it?---Find Javier on:LinkedIn: https://www.linkedin.com/in/javier-venegasFind George on:LinkedIn: https://www.linkedin.com/in/george-kosmopoulosWebsite:http://gkosmo.eu
I had the privilege of hosting Woody and Philipe (from NodalView) to talk about software teaming.How can a team work together on a problem?How to organize ourselves so that everyone needed is in the room?These questions and more answered in the episode!---Find Woody on:LinkedIn: https://www.linkedin.com/in/woodyzuillFind Philippe on:https://www.linkedin.com/in/philippevaneerdenbrugghe
A few days ago Stan and Remy joined me to talk about working in legacy code.What is legacy code?How to work with legacy code? Is legacy code inherently bad code?Join us as they answer these questions and more!---Find Remy on: - LinkedIn https://www.linkedin.com/in/rhannequin/- Mastodon https://ruby.social/@rhannequin- BlueSky https://bsky.app/profile/rhannequin.bsky.socialFind Stan on: - LinkedIn http://www.linkedin.com/in/boyet
Building a community takes time and effort, especially in tech. In this episode Amanda and Pilou share with us their strategies, tips and day to day's in building and steering two very different types of communities, the 'Ruby on Rails' community and a community centered around Advent of Code and having fun solving the daily exercises.The passion they feel for these communities really shone through and it was amazing to see the effort required.If you are part of a community or trying to build one, you definitely need to listenAmanda is the executive director of the Rails FoundationPilou is Co Founder of ShipOnRails, they have a chat already available: https://ai.shiponrails.com/
"Focus on outcomes, not output" 🚀 Join Stan, Thierry and I as we discuss what makes a team efficient and what practices will help raise the efficiency of any team. If you are part of a software team, this episode is definitely worth listening! You can find Thierry at: https://thinkinglabs.io/ You can find Stan at: https://www.linkedin.com/in/boyet
Steven and Philippe joined me to dive deep into testing and RSpec. We covered best practices, common pitfalls, and shared some real-world insights that every developer can relate to. If you're into writing better tests (or just want to hear some passionate devs chat about it), this one's for you! You can find Steven here: www.stevenrbaker.com - https://fosstodon.org/@srbaker - https://x.com/srbaker You can find Philippe here: https://www.linkedin.com/in/philippevaneerdenbrugghe - https://www.linkedin.com/company/nodalview/
In this episode, Philippe, Jose, and I dive into one of the most debated practices in software development: Test-First Development .We explore:- The advantages of writing tests before code- The correlation between testable code and 'good' code- The common arguments against testing first Whether you're a junior developer curious about improving your coding practices, or a seasoned engineer looking to refine your techniques, this episode has something for everyone. What are your thoughts on Test-First Development? Have you embraced it, or are you still on the fence? Let's discuss in the comments! You can find Jose at: https://www.linkedin.com/in/josedanielblanco/ | www.thoughtbot.com You can find Philippe at: https://www.linkedin.com/in/philippevaneerdenbrugghe/ | https://www.linkedin.com/company/nodalview/
I had the immense pleasure to have a conversation with Andrea and Rita on Customer Support and Success. They were full of insights about their job and how they relate to tech departments in their companies. You can find Andrea at: https://www.linkedin.com/in/amarengo You can find Rita at: https://www.linkedin.com/in/rita-m-79736086
A few days ago I had the best time learning from Rob and Steven about eXtreme Programming. It was great having such experienced people on! You can find Rob at: https://ruby.social/@purinkle - https://www.linkedin.com/in/purinkle/ You can find Steven at: https://stevenrbaker.com/ - https://x.com/srbaker - https://fosstodon.org/@srbaker
Last Friday I was really fortunate to have Stan and Melissa with me to discuss what makes a good team, and the role of a leader in the team. Their insights were superb! I truly encourage you to check this one out. You can find Melissa at: https://www.linkedin.com/in/melidomi You can find Stan at: https://www.linkedin.com/in/boyet/ The Belbin team roles come from: https://www.belbin.com/about/belbin-team-roles