{"id":3559,"date":"2022-12-11T16:03:46","date_gmt":"2022-12-11T22:03:46","guid":{"rendered":"https:\/\/www.mooreds.com\/wordpress\/?p=3559"},"modified":"2022-12-11T16:05:11","modified_gmt":"2022-12-11T22:05:11","slug":"books-and-other-resources-to-level-up-as-a-software-developer","status":"publish","type":"post","link":"https:\/\/www.mooreds.com\/wordpress\/archives\/3559","title":{"rendered":"Books and other resources to level up as a software developer"},"content":{"rendered":"<p>A while ago there was an HN post asking for suggestions on <a href=\"https:\/\/news.ycombinator.com\/item?id=33854815\">[r]eading material on how to be a better software engineer<\/a>.<\/p>\n<p>Here&#8217;s my list based in part off a comment I made there.<\/p>\n<p>First, books:<\/p>\n<ul>\n<li><a href=\"http:\/\/geraldmweinberg.com\/Site\/Consulting_Secrets.html\">Secrets of Consulting<\/a> by Gerald Weinberg because every problem is a people problem.<\/li>\n<li><a href=\"https:\/\/martinfowler.com\/books\/refactoring.html\">Refactoring<\/a> by Martin Fowler et. al. discusses how and why to refactor, as well as providing a nomenclature for the process.<\/li>\n<li><a href=\"https:\/\/stevemcconnell.com\/books\/\">Code Complete<\/a> by Steve McConnell is a bit dated (the last version I could find was from 2004) but a great overview of the entire software process, from requirements to maintenance.<\/li>\n<li><a href=\"https:\/\/www.oreilly.com\/library\/view\/mythical-man-month-the\/0201835959\/\">The Mythical Man-Month<\/a> by Fred Brookes covers best practices about software development, written about a project from the 1960 and 1970s. Nothing new under the sun.<\/li>\n<li><a href=\"https:\/\/www.joelonsoftware.com\/2000\/05\/12\/strategy-letter-i-ben-and-jerrys-vs-amazon\/\">The Joel On Software Strategy Letters<\/a> cover different aspects of software strategy. The link is the first one, but all of them (I think there are five) are great.<\/li>\n<li><a href=\"https:\/\/letterstoanewdeveloper.com\/the-book\/\">Letters to a New Developer<\/a> is a collection of essays helpful to new developers. Note I wrote this book, but I think it does a good job of discussing the &#8220;soft skills&#8221; in an easily digestible format.<\/li>\n<li><a href=\"https:\/\/pragprog.com\/titles\/tpp20\/the-pragmatic-programmer-20th-anniversary-edition\/\">The Pragmatic Programmer<\/a> by Dave Thomas and Andy Hunt. I haven&#8217;t read the revised 20th anniversary edition, but the first one opened my eyes to the craft of software.<\/li>\n<li><a href=\"https:\/\/bookshop.org\/p\/books\/high-output-management-andrew-s-grove\/6730629\">High Output Management<\/a> by Andy Grove illustrates how think about throughput.<\/li>\n<li><a href=\"https:\/\/itrevolution.com\/product\/the-phoenix-project\/\">The Phoenix Project<\/a> by Gene Kim et. al. is a fun novel(!) about applying lean management principles to software engineering.<\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Good_to_Great\">Good to Great<\/a> by Jim Collins focuses on what great companies bring to the table. Helps me evaluate where to work.<\/li>\n<li><a href=\"https:\/\/managinghumans.com\/\">Managing Humans <\/a>by Michael Lopp. The whole <a href=\"https:\/\/randsinrepose.com\/\">Rands site<\/a> is worth reading, but I enjoyed this book about how to manage teams and build software. See above.<\/li>\n<li><a href=\"https:\/\/sensible.com\/dont-make-me-think\/\">Don&#8217;t Make Me Think<\/a> by Steve Krug shows ways to think about usability, focusing on webapps. Short and easy.<\/li>\n<li><a href=\"http:\/\/seriouspony.com\/badass-users-the-book\">Badass: Making Users Awesome<\/a>, by Kathy Sierra helps you put yourself in the shoes of your users and think about how to build software they will love. Short and easy.<\/li>\n<\/ul>\n<p>Then, podcasts and videos:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=MzXXC4MZZnY\">Mastery Autonomy and Purpose<\/a>, a great video about what people really want in work.<\/li>\n<li><a href=\"https:\/\/www.manager-tools.com\/podcasts\">The Manager&#8217;s Toolbox podcast<\/a>, focuses on nuts and bolts skills for managing people. You didn&#8217;t say you wanted to be a people manager, but knowing what managers think about will make you more effective in any org.<\/li>\n<li><a href=\"https:\/\/www.lastweekinaws.com\/podcast\/screaming-in-the-cloud\/\">Screaming in the Cloud<\/a> is useful for keeping up with AWS and other cloud provider offerings.<\/li>\n<li><a href=\"https:\/\/www.se-radio.net\/\">SE Radio<\/a> is a bit dry, but has a great back catalog of software engineering focused episodes.<\/li>\n<\/ul>\n<p>A few other resources:<\/p>\n<ul>\n<li><a href=\"https:\/\/randsinrepose.com\/welcome-to-rands-leadership-slack\/\">The Rands Leadership Slack<\/a> has over 10,000 engineering leaders discussing all kinds of software related topics.<\/li>\n<li><a href=\"https:\/\/ctolunches.com\/\">CTO lunches<\/a> is an email list of engineering leaders. The discussions aren&#8217;t consistent, but when they happen, they&#8217;re great. Plus, it comes to your email.<\/li>\n<li><a href=\"https:\/\/news.ycombinator.com\/\">HackerNews <\/a>is a great way to burn time, but also a great way to keep on top of topics that are top of mind of some of the best developers in the world.<\/li>\n<\/ul>\n<p>Reading up on software practices can help you level up as a software engineer because you&#8217;ll be able to avoid mistakes others have made before you. I can also offer a view of the big picture; knowing how your software helps your organization or company will only make you more valuable as a developer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A while ago there was an HN post asking for suggestions on [r]eading material on how to be a better software engineer. Here&#8217;s my list based in part off a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,6,4],"tags":[],"class_list":["post-3559","post","type-post","status-publish","format-standard","hentry","category-business","category-programming","category-technology"],"_links":{"self":[{"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/posts\/3559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/comments?post=3559"}],"version-history":[{"count":4,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/posts\/3559\/revisions"}],"predecessor-version":[{"id":3563,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/posts\/3559\/revisions\/3563"}],"wp:attachment":[{"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/media?parent=3559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/categories?post=3559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/tags?post=3559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}