Reading Recommendations

Below are some reading recommendations based on books that I've read and enjoyed. Most are programming-language and technology-agnostic and instead focus on building up the fundamentals needed for a successful career as a software engineer.

Last updated: Wednesday, 24 July 2024

Difficult Conversations: How to Discuss What Matters Most

by Bruce Patton, Douglas Stone, and Sheila Heen

Difficult Conversations, by Douglas Stone, Bruce Patton, and Sheila Heen, is a soft skills book that I'd highly recommend to anyone who hasn't read it yet, regardless of career path or where they are in life at the moment.

The book provides the reader with a framework for navigating what might otherwise be tumultuous conversations in our day to day life. It provides strategies for moving the conversation from "what happened?" to "what is important, and why?", and towards understanding the other person's story well enough to see how their conclusions make sense. It does this by prompting the reader to move away from certainty and towards curiosity, turning a difficult conversation into a learning conversation. It also dissects difficult conversations into three pillars: the "what happened" conversation, the "feelings" conversation, and the "identity" conversation, and discusses how to navigate each.

With countless example stories to carry its various points, this book is a memorable read and chock full of practical advice that will have you returning to its pages time and time again.

Code Complete 2

by Steve McConnell

I don't think there has been any other book that has had as much of an impact on my mindset and approach to software engineering than Code Complete, by Steve McConnell. I consider there to be two time periods in my career to date: before Code Complete and after Code Complete.

The book itself is rich with content, covering things like detailed design, coding, debugging, integration, developer testing, and performance tuning, then zooms out and covers software craftsmanship topics and some of the "soft" skills needed for a successful career in this space. Each chapter usually contains helpful metaphors to drive its point across or a fun and memorable anecdote, so the content itself is enjoyable to read and isn't too dry. If this isn't on your bookshelf yet, definitely consider picking it up!

An unhandled error has occurred. Reload