In this episode, we dive deep into the world of clean coding with none other than the master and pioneer of the field, Uncle Bob. We explore the nuances and the art behind writing effective and efficient scripts. This conversation covers the nitty-gritty of writing and editing scripts, from understanding how to break down large functions, to discussing principles like 'Single Responsibility Principle', 'Dependency Inversion Principle' and how to balance the 'DRY' (Don't Repeat Yourself) principles. Uncle Bob also shares valuable insights on testing, handling errors, naming conventions and how to work with different types of duplication in coding. He shares recommended resources and books that every coder should read.Chapters:00:00 Introduction and Welcome00:06 The Importance of Code Quality00:29 Introducing Robert Martin (Uncle Bob)01:39 Uncle Bob's Journey in Programming02:34 Discussion on Functional Design and New Book03:52 The Evolution of Software Development04:28 Revisiting the Clean Code Book04:49 The Impact of Hardware Changes on Software06:13 The Evolution of Programming Languages07:33 The Importance of Code Structure and Organization09:07 The Impact of Microservices and Open Source11:14 The Role of Modular Programming22:07 The Importance of Naming in Code26:31 The Role of Functions in Code34:12 The Role of Switch Statements in Code42:36 The Importance of Immutability51:00 Dealing with Complex Steps in Programming51:21 Implementing State Machines in Programming51:46 The Pragmatic Approach to Programming53:01 Understanding Error Handling in Programming54:08 The Challenge of Exception Handling57:27 The Importance of Log Messages in Debugging01:03:05 The Dilemma of Code Duplication01:05:51 The Intricacies of Error Handling01:07:40 The Role of Abstraction in Programming01:13:55 The Importance of Testing in Programming01:19:43 The Challenges of Mocking in Testing01:25:11 The Essence of Programming: Discipline, Ethics, and StandardsBook Recommendations:Tidy First: https://www.oreilly.com/library/view/tidy-first/9781098151232/Design Patterns: https://www.amazon.de/-/en/Erich-Gamma/dp/0201633612Analysis Pattern: https://martinfowler.com/books/ap.htmlStructured Analysis and System Specification: https://www.amazon.de/-/en/Tom-Demarco/dp/0138543801Fundamental Algorithms: https://www.amazon.com/Art-Computer-Programming-Vol-Fundamental/dp/0201896834Sorting and Searching: https://www.amazon.de/-/en/Donald-Knuth/dp/0201896850Structure and Interpretation of Computer Programs: https://web.mit.edu/6.001/6.037/sicp.pdf===============================================================================For discount on the below courses:Appsync: https://appsyncmasterclass.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003Testing serverless: https://testserverlessapps.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003Production-Ready Serverless: https://productionreadyserverless.com/?affiliateId=41c07a65-24c8-4499-af3c-b853a3495003Use the button, Add Discount and enter "geeknarrator" discount code to get 20% discount.===============================================================================Follow me on Linkedin and Twitter: https://www.linkedin.com/in/kaivalyaapte/ and https://twitter.com/thegeeknarratorIf you like this episode, please hit the like button and share it with your network. Also please subscribe if you haven't yet.Database internals series: https://youtu.be/yV_Zp0Mi3xsPopular playlists:Realtime streaming systems: https://www.youtube.com/playlist?list=PLL7QpTxsA4se-mAKKoVOs3VcaP71X_LA-Software Engineering: https://www.youtube.com/playlist?list=PLL7QpTxsA4sf6By03bot5BhKoMgxDUU17Distributed systems and databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4sfLDUnjBJXJGFhhz94jDd_dModern databases: https://www.youtube.com/playlist?list=PLL7QpTxsA4scSeZAsCUXijtnfW5ARlrsNStay Curios! Keep Learning!