<story><title>Book Review: A Philosophy of Software Design (2020)</title><url>https://johz.bearblog.dev/book-review-philosophy-software-design/</url></story><parent_chain></parent_chain><comment><author>AdamCraven</author><text>Much of software engineering is based on our habitual learned behaviors through years of experience, and what are habits but behaviours that have been detached from the logic that created them? John re-attaches those habits into principles and gives you the opportunity to see and integrate his mental models.&lt;p&gt;Depending on your background you&amp;#x27;re either going to love it or hate it. It&amp;#x27;s not to say what he&amp;#x27;s done is wrong or right, just your particular experience is going to colour if you agree with it or not.&lt;p&gt;For those that love it, if you integrate these principles and get your team to buy in, you&amp;#x27;re going to have a better software engineering experience and a good source of information to point to back to back up the way you think.&lt;p&gt;For me, these sort of books represent a maturing of the industry and recognising that software engineering is an abstract team activity that having the right shared principles and shared mental models is the difference between a joyful experience on a team or not.&lt;p&gt;Shameless plug: I&amp;#x27;m also working on community project that captures the best principles in software engineering on &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;principles.dev&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;principles.dev&lt;/a&gt; - It&amp;#x27;s a labour of love, but if you like what I&amp;#x27;ve written above, please contact me. I&amp;#x27;d love to get some feedback.</text></comment>
<story><title>Book Review: A Philosophy of Software Design (2020)</title><url>https://johz.bearblog.dev/book-review-philosophy-software-design/</url></story><parent_chain></parent_chain><comment><author>Chris_Newton</author><text>This is one of my favourite recent books on software development and I’m happy to recommend it. I do think the earlier chapters are better overall than the later ones. The discussions about complexity, modularity and abstraction, and trying to integrate special cases are particularly good reading for any intermediate developer looking to improve their understanding. I didn’t have big problems with the later chapters about comments and naming either, but I didn’t feel they offered the same level of insight or much unique perspective that you wouldn’t find in many other decent programming books.</text></comment>