32 Book Recommendations for the Holidays
You need to be signed in to add a collection
The holiday season is the perfect time to take a step back, relax and read a book, so we asked past authors and interviewers from GOTO Book Club to share the books that they would either give or want to receive as a gift. Watch this episode for a wide selection of more than 30 recommended titles covering software development and more.
Transcript
The holiday season is the perfect time to take a step back, relax and read a book, so we asked past authors and interviewers from GOTO Book Club to share the books that they would either give or want to receive as a gift. Watch this episode for a wide selection of more than 30 recommended titles covering software development and more.
Eoin Woods Recommends: Container Security, Java to Kotlin& Spring Start Here
Eoin Woods: Hello, I'm Eoin Woods, the author of “Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World”. It's been a pleasure to be part of the GOTO Book Club this year. And as Christmas is approaching, we thought it'd be fun to nominate books that either we'd like to receive as presents or we'd like to give as presents. I've got three. My first one, rather unsurprisingly, is Liz Rice's excellent book on container security. I interviewed Liz as part of the GOTO Book Club series. It's a terrific book. It's terrific because, firstly, it explains containers from the absolute fundamentals. It gets you to build one from the command line. And secondly, it tells you all you're going to need to know about the very important topic of container security.
To facilitate scalability and resilience, many organizations now run applications in cloud native environments using containers and orchestration. But how do you know if the deployment is secure? This practical book examines key underlying technologies to help developers, operators and security professionals assess security risks and determine appropriate solutions.
My second book is Duncan McGregor and Nat Pryce's book, "Java to Kotlin." I love the Kotlin language, I've been using it now for a couple of years. When people move to Kotlin, though, it's sometimes deceptively close to Java, and they don't really make use of its full power. And Nat and Duncan have done a great job of explaining what the important parts of Kotlin are and how to really make the move into the core of the language as opposed to just updating your Java syntax.
And talking of Java. My third book is from my colleague, Laurentiu Spilca. It's "Spring Start Here." Lots and lots of people have been using Spring for years, but it's really easy to just use complex frameworks like Spring by copying other people's examples and getting by. Laurentiu's book's fantastic because it explains all of the fundamentals you need to really understand the framework and make the most use of it, and of course, studying Laurentiu's very direct, clear, and engaging style. So those are the three books that I'd like to receive for Christmas. I hope you get what you want as well.
Saša Jurić Recommends: Data-Intensive, Refactoring, Unit Testing & Adopting Elixir
Saša Jurić has recommended “Data Intensive” by Martin Kleppmann. “ This book will help you navigate the diverse and fast-changing landscape of technologies for storing and processing data. We compare a broad variety of tools and approaches so that you can see the strengths and weaknesses of each, and decide what’s best for your application.”
The second book is Martin Fowler’s “Refactoring” As noted by the author himself “My book describes the process of refactoring and spends most of its time explaining how to do the various refactorings - the behavior preserving transformations. The book opens with a simple example that describes the whole process. There are then some introductory chapters that discuss broader issues around refactoring, the “code smells” that suggest refactoring, and the role of testing.”
The guide to how to transform code with safe and rapid process, vital to keeping it cheap and easy to modify for future needs.
The third book recommended by Sasa Juric, author of “Elixir in Action”, is “Unit Testing Principles, Practices, and Patterns: Effective testing styles, patterns, and reliable automation for unit testing, mocking, and integration testing with examples in C# ” by Vladimir Khorikov. According to the author, the book helps you to “radically improve your testing practice and software quality with new testing styles, good patterns, and reliable automation.”
The fourth book is “Adopting Elixir” by Ben Marx, Jose Valim, and Bruce Tate. By reading it you will learn real-life strategies from the people who built Elixir and use it successfully at scale.
Jim Webber Recommends: Networks, Crowds, and Markets
Jim Webber, the author of “GraphDatabases”, recommends the ”Networks, Crowds, and Markets” by Easley and Kleinberg. According to Jim, the book is “a real page-turner, even though it's an academic book, and blends graph theory and game theory into a marvelous set of tools for the modern analyst.
This introductory undergraduate textbook takes an interdisciplinary look at economics, sociology, computing and information science, and applied mathematics to understand networks and behavior. It describes the emerging field of study that is growing at the interface of these areas, addressing fundamental questions about how the social, economic, and technological worlds are connected.
Fabio Pereira Recommends: Make Time and Indistractable
Fabio Pereira: Hi, everyone from the GOTO Book Club community. I'm Fabio Pereira, author of the book "Digital Nudge," and MasterClass, "The Psychology of UX," and it's an honor for me to be part of this community.
I've been asked by the organizers of the community, now that the holiday season is just around the corner, if I were to give someone a book, an inspirational book, or recommend a book at the end of the year, which book would it be? And then I actually chose two books. They are very related. And they have something around them, which is around focused.
One of the books that I want to recommend...and to be really honest, I really like to hear books, to listen to audiobooks. So I have the app Audible on my phone. And I want to show you the first one, which is called "Make Time." "Make Time" is a book from Jake Knapp and John Zaretsky. Jake Knapp is the author of the book "Design Sprint," which is also an amazing book. And "Make Time" is a book about how to focus on what matters every day in your life. We live in a world with an overload of information, we have access to everything that we want on the internet, and then focus and create the opportunities during the time that we have on the day because everyone only has 24 hours to focus on what really matters is really important.
In Indistractable, Eyal reveals the hidden psychology driving us to distraction. He describes why solving the problem is not as simple as swearing off our devices: Abstinence is impractical and often makes us want more.
The second book I want to show you is also from my Audible app, which is called "Indistractable." "Indistractable" is an amazing book by Nir Eyal. Nir is the author of the book "Hooked," which is a best-selling book as well. And he released "indistractable: How to Control Your Attention and Choose Your Life." I would really recommend these two books, "Make Time" and "Indistractable." Have an amazing end of the year. Merry Christmas. Happy New Year to everyone. And I hope to see you all in 2022 as part of the GOTO community.
Trisha Gee Recommends: Programmed Inequality
Trisha Gee, the author of “97 Things Every Java Programmer Should Know” recommends “Programmed Inequality- How Britain Discarded Women Technologists and Lost Its Edge in Computing” by Mar Hicks. According to her the book “shows how politics and leadership can change the makeup of your workforce for their own agenda, and how IT most certainly is not a meritocracy. It should make you think about what IT really is and how it's being used by the businesses that invest in it.”
How Britain lost its early dominance in computing by systematically discriminating against its most qualified workers: women.
Dave Farley Recommends: User Stories and Domain-Driven Design
Dave Farley: Hi, my name's Dave Farley. I'd like to recommend two books as gifts for people. One of them is "Fifty Quick Ideas To Improve Your User Stories" by Gojko Adzic and David Evans. It's a fantastic book that's got lots of tips and ideas that will just jog your memory about things when you get stuck when you're trying to divide stories up into smaller chunks or come up with more effective stories. I carry it around on my iPad to remind me when I get stuck. It's a fantastic book.
"What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important."--Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R)
The other book that I'd recommend has been important to me for a long time now, which is "Domain-Driven Design" by Eric Evans. It's quite a difficult book, but I think it's profound and important in the way it talks about design. I must confess, when I first read it, I thought, "Isn't this just what object orientation's supposed to be?" But that's kind of the point, it was getting to some really important things. And it gave us a language to describe and address design, at both the fine-grain level and the massive level of big systems. And I think that there are some genuinely important ideas in that book. So those are my two recommendations. Happy Christmas.
Ray Camden Recommends: Captain Code: Unleash Your Coding Superpower with Python
Ray Camden, the author of the Jamstack Book, recommended: “Captain Code: Unleash Your Coding Superpower with Python”. According to his book review, it is “ a light-hearted, and uses games for many of its examples, but I'm not sure I'd say it's a kids book. I'd say anyone who wants to give coding a try would be a perfect fit for this book.
"Captain Code is a welcoming, engaging, and fun introduction to becoming a coder, designed for the young (ages 10-17) and young-at-heart. Experienced educators and coders Ben & Shmuel Forta will guide you using Python, one of the most popular programming languages in the world. You'll learn by creating games, yes, games, from simple projects to retro text-based adventures to complete graphical arcade style games. Captain Code is 400 glossy color pages of goodness packed with welcoming images, useful tips and tidbits, and engaging, readable text that focuses on doing while having fun. All code listings are in full-color and QR codes link to bonus content, downloads, challenge solutions, and more.)
Adam Tornhill Recommends: The Unicorn Project
Adam Tornhill, the author of “Software Design X-Ray”, recommends “The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data” by Gene Kim. According to him “The Unicorn Project offers timeless insights into software design, its business aspects, and solid delivery practices. However, the book never feels technical. This is what makes the book so remarkable; to package what is fundamentally deep, technical insights into a page-turner is quite an achievement. The Unicorn Project has the potential to take what is currently state-of-the-art practices and bring them one step closer to the mainstream. Ultimately, our whole industry would benefit from it.
“The Unicorn Project is amazing, and I loved it 100 times more than The Phoenix Project…”—FERNANDO CORNAGO, Senior Director Platform Engineering, Adidas
Kevlin Henney Recommends: Your Code as a Crime Scene, The Pragmatic Programmer, The Complete Guide to Absolutely Everything (Abridged): Adventures in Math and Science
Kevlin Henney: Okay, season's greetings. My name's Kevlin Henney. I have been asked what books I would give or love to receive, and given I've got them, I have enjoyed receiving them, for this holiday season, if you're stuck for gift ideas, or even looking at what to do in the new year. Now, I tried to keep the list short, and I was unable to. So I've got five books that touch on software development, but also broader inspiration, and also, you know, what to do in your spare time. So I'm going to start off, let's just dive into the code, "Your Code as a Crime Scene" by Adam Tornhill. This book was published in 2015. It's a book of code analytics. What I love about this is that it really brings to life the idea that the misnomer we currently use for version control systems, people call them repos, repository. It sounds like a dumping ground, and sometimes that's how it feels. They are version control systems, which means they have a history, and they are associated with people. There is sociology here that we can understand about how our code evolves over time and with respect to people, rather than treating it as some static artifact with no history. The whole point about history is that we understand the past so we are able to act on it meaningfully in the future. So there's a lot of good ideas in here.
Okay, the next one, sticking with that kind of theme, "The Pragmatic Programmer," who were in fact, the publishers of this book, published the 20th-anniversary edition of "The Pragmatic Programmer." This was actually published the end of 1999, but its copyright date was 2000. The 2nd edition, 2020. A lot of really good stuff in here. The original book was very much a touchstone for the software craft community. It played an integral part in conversations about the technical side of Agile development and gave us a number of ideas that we still use today that have been popularized, things like the DRY principle, don't repeat yourself, which is widely misunderstood to just be magical code. Here, they redress that. They update the examples. We have 20 years more experience with this. This is not at the beginning of this kind of era, we are now in the midst of it. It's moved to the next generation of advice as well as clarifying what people are actually talking about in terms of the first edition. So yeah, this is well worth your time as a software developer.
Written as a series of self-contained sections and filled with classic and fresh anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best approaches and major pitfalls of many different aspects of software development.
Now, you're probably a little bit nerdy, especially if you're watching this. On the GOTO Book Club, there was a live event relatively recently that I hosted with Hannah Fry and Simon Singh, and you can find sort of interviews and sessions on the GOTO Book Club Live site. And Hanna Fry with her co-conspirator, Adam Rutherford... I say co-conspirator because they do a BBC Radio 4 series, "The Curious Cases of Rutherford and Fry," and they kind of distilled a lot of these kinds of thoughts into "Complete Guide To Absolutely Everything Abridged." I was fortunate enough also to see them do, kind of, the live show relatively recently. A lot of good stuff in here debunks a number of commonly misheld views but also asks questions that you never even thought to ask, and answers them highly approachable, highly digestible. This is a great read.
Kind of sticking with a couple of themes here. In terms of debunking, probably the most significant book I have read this year is "Humankind: A Hopeful History" by Rutger Bregman. And I say most significant because it really...I found this a moving and positive book. What he does in this book is he takes a historical and sociological view to debunk and undermine the kind of narrative we give ourselves that humans are not...well, we're not nice. The world can be, you know, a bad place and all the rest of it. And if we turn on the news, then this seems to often be the case. But he actually points out that our strength is actually kindness by default. Human beings are actually much nicer than we make out to be. But news cycles, news outlets, our desire for novelty, and the fact that this is structured to reward us with that which is novel, and exciting, and unusual, unfortunately, leads us in the wrong direction away from understanding our better nature. And he goes through and kind of explores, quite thoroughly and quite positively, actually who we are. So yeah, this is...I found this uplifting and thought-provoking, and definitely worth your time.
And I'm gonna close with something, kind of, a sort of a counterbalance, a work of fiction by Emily St. John Mandel, "Station Eleven." Absolutely wonderful book. This was published in 2014. It's been made into a TV series. I haven't seen that, I can't comment on the adaptation of the quality of that. But this book is about a global pandemic, although, a little more severe than the one we are currently experiencing. I actually read this whilst traveling just as the pandemic was beginning to break. I was traveling last February and realized my choice of the book while I was traveling could have been better. But Emily St. John Mandel's writing style is just wonderful. I would quite happily read a shopping list if she wrote one out and published it. But this is, kind of, a better post-apocalypse story. And her narrative style is well worth your time. So Season's Greetings, I hope that's been of some use and some inspiration, and have a happy New Year.
Linda Rising Recommends: Finding the Mother Tree
Linda Rising recommends “Finding the Mother Tree” by Suzanne Simard. The book is about “understanding who we are and our place in the world, and, in writing of her own life, we come to see the true connectedness of the Mother Tree that nurtures the forest in the profound ways that families and human societies do, and how these inseparable bonds enable all our survival.”
In her first book, Simard brings us into her world, the intimate world of the trees, in which she brilliantly illuminates the fascinating and vital truths--that trees are not simply the source of timber or pulp, but are a complicated, interdependent circle of life; that forests are social, cooperative creatures connected through underground networks by which trees communicate their vitality and vulnerabilities with communal lives not that different from our own.
Phil Winder Recommends: Practical Fairness
Phil Winder: Hi, there. It's Phil Winder here, CEO of window.ai and author of O'Reilly's "Reinforcement Learning." The book I'd like to recommend for this Christmas is a book called "Practical Fairness" by Aileen Nielsen. And I thought this was quite a diversion from O'Reilly's typical books. So Aileen, this lady, comes from a background, a legal background, not a technical one. And in this book, she's talking about how we can make machine learning fairer, and make the processes involved more secure and safer.
Many realistic best practices are emerging at all steps along the data pipeline today, from data selection and preprocessing to closed model audits. Author Aileen Nielsen guides you through technical, legal, and ethical aspects of making code fair and secure, while highlighting up-to-date academic research and ongoing legal developments related to fairness and algorithms.
I really liked this book, not necessarily for the technical content, even though there is some technical content in there. There is code that you can, you know, you can use and tinker with and use in your projects. But really, I think that this is just one of the first of many interesting books on the place that AI and ML should take in modern society. I know that companies are under increasing scrutiny to make their models fair, and to make sure that their users are protected. So if you're interested in that subject, and you have a slightly technical leaning, I definitely recommend this book. A really enjoyable read from someone in a background that, you know, we're kind of not used to. So it's really nice to be seeing authors that are coming from different disciplines. So that's my recommendation. Also, I probably should recommend my book, "Reinforcement Learning," also by O'Reilly. So check that out as well. But anyway, thanks a lot. Cheers, bye.
Matt Turner Recommends: Designing Data-Intensive Applications
Matt Turner recommends” Designing Data-Intensive Applications” by Martin Kleppmann. According to him “I'd definitely be giving out copies of Designing Data-Intensive Applications, by Martin Kleppmann on O'Reilly. I think when people move to microservices they don't give data enough thought; they either just keep everything in a central SQL server, which misses a lot of the benefits of microservices, or they give each service its own dumb store, leading to issues down the road. This book helps you understand how to manage data in distributed systems in smart ways, and blends theory with practical advice about the tools out there. It's getting old now but I'm sure it still stands up!”
In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.
Preben Thoro Recommends: The Art of Thinking Clearly
Preben Thoro: "The Art of Thinking Clearly" by Rolf Dobelli. Here we go. This is a brilliant book about all this stupidity, all these silly patterns we apply to the world around us, to everything we experience, just to make it fit into our picture of the world. And what I really like about this book is it helps me understand how I behave, many of the things I do and don't do, my reaction patterns, and it helps me understand a lot of the world around me. And especially, if we combine it with this book, "Think Again" by Adam Grant. It really helps me understand myself and other people around me. These two would be the perfect Christmas gift this year.
The Art of Thinking Clearly by world-class thinker and entrepreneur Rolf Dobelli is an eye-opening look at human psychology and reasoning — essential reading for anyone who wants to avoid “cognitive errors” and make better choices in all aspects of their lives.
Richard Feldman Recommends: A Philosophy of Software Design
Richard Feldman, the author of “Elm In Action”, recommends: “A Philosophy of Software Design” by John Ousterhout. The book touches upon the following topics: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity.
This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity.
Sven Johann Recommends: Team Topologies and Sapiens
Sven Johann: Hi, there. I want to recommend two books for the Christmas season. "Team Topologies" and "Sapiens." "Team Topology" is written by Matthew Skelton and Manuel Pais. So what is the book about? Software architecture and software delivery cannot be successful without a good organizational architecture. And "Team Topology" really improves our understanding of organizational architecture and helps us form teams, and enabling those teams to be more effective or helping them to meet their challenges. Really cool book. It should have been written 15 years ago. So, for everyone who is dealing with cross-functional teams, the book is a must.
Team Topologies is a practical, step-by-step, adaptive model for organizational design and team interaction based on four fundamental team types and three team interaction patterns. It is a model that treats teams as the fundamental means of delivery, where team structures and communication pathways are able to evolve with technological and organizational maturity.
Another must, in my opinion, is "Sapiens" by Yuval Noah Harari. Harari, tells the history of our species in a very funny manner. So there is lots of dense information, how Sapiens became the only animal that can believe in things that do not actually exist, and which was really interesting, and how that skill made us the dominating species. Really interesting and entertaining book.
Erik Schön Recommends: Monotasking, Tao Te Ching, and Software Design for Flexibility
Erik Schön recommends three books.
Monotasking by Staffan Nöteberg This is an inspiring and engaging book on "Monotasking" by its inventor, time management expert of "Pomodoro Technique Illustrated" fame, Staffan Nöteberg. It builds on classic time and energy management ideas backed by solid research like e.g. focus, limit the number of things on your "to-do" list, urgency vs importance, pruning, and time boxing. I got new insights and takeaways that I started using already while reading the book. In particular, I like the way Staffan pragmatically and graphically presents axioms and themes/concepts that I can tune and tweak to build my own personal time management system based on my own specific needs.
Tao Te Ching: A Book About the Way and the Power of the Way by Lao Tzu, interpreted by Ursula K. Le Guin and Jerome P. Seaton
Le Guin, best known for thought-provoking science fiction novels that have helped to transform the genre, has studied the Tao Te Ching for more than forty years. She has consulted the literal translations and worked with Chinese scholars to develop a version that lets the ancient text speak in a fresh way to modern people while remaining faithful to the poetic beauty of the work. Avoiding scholarly interpretations and esoteric Taoist insights, she has revealed the Tao Te Ching's immediate relevance and power, its depth and refreshing humor, in a way that shows better than ever before why it has been so much loved for more than 2,500 years. Included are Le Guin's own personal commentary and notes on the text.
The authors explore ways to enhance flexibility by: • Organizing systems using combinators to compose mix-and-match parts, ranging from small functions to whole arithmetics, with standardized interfaces • Augmenting data with independent annotation layers, such as units of measurement or provenance • Combining independent pieces of partial information using unification or propagation • Separating control structure from problem domain with domain models, rule systems and pattern matching, propagation, and dependency-directed backtracking
And, on top of my wish list for Christmas 2021 is:
Software Design for Flexibility: How to Avoid Programming Yourself into a Corner by Chris Hanson and Gerald Jay Sussman of "Structure and Interpretation of Computer Programs" (SICP) fame (published in 2021). This book presents the details of the MIT course 6.945, "Adventures in Advanced Symbolic Programming" taught by Sussman since about 2005. Sussman was asked in 2015 when he was going to publish the course he was teaching and he answered "I don't expect the book to be finished in less than a few years. It takes a long time to make a good book". It contains strategies for building large systems that can be easily adapted for new situations with only minor programming modifications. Time pressures encourage programmers to write code that works well for a narrow purpose, with no room to grow. But the best systems are evolvable; they can be adapted for new situations by adding code, rather than changing the existing code. The authors describe techniques they have found effective--over their combined 100-plus years of programming experience--that will help programmers avoid programming themselves into corners.
Mike Amundsen Recommends: Computer Lib
Mike Amundsen: Hey, Mike Amundsen here, author of "Design and Build Great Web APIs," and a new upcoming book, "RESTful Web Microservices Cookbook." But the book I want to talk to you about today, the one I recommend you buy all your friends for the holiday season is this one here, "Computer Lib" by Ted Nelson. It goes by another name, "Dream Machines" by Ted Nelson. In fact, it's two books in one back-to-back. It was originally self-published in the '70s by Ted Nelson, the person who invented words like hypertext and hyperlink, and so many other really cool aspects of what we know of as the web today.
In Computer Lib. You can and must understand computers NOW, Nelson covers both the technical and political aspects of computers.
I recommend this book because it's good for everybody, whether you're just a developer, an architect, or just a user of the internet. This sort of gives us the idea of what we thought the internet would be like in the '70s, and it's still full of all sorts of great ideas and great information. You can find this book online, just type in, "Ted Nelson Computer Lib," and you'll find a site where you can order directly. Make sure your order the big coffee-table version of it, don't get tricked. It's a bit pricey, but I guarantee you'll love it. And I think it's a fantastic book to give all your computer friends in the coming year, and I hope to see you in 2022 as well. Happy Holidays.
Casey Rosenthal, Nora Jones & James Wickett Recommends: Chaos Engineering
The authors of "Chaos Engineering" and James Wicket are actually recommending their own book to try to make sense of the world we are living in and the chaos from your own software systems.
Chaos Engineering is about making the chaos inherent in the system visible