How do you attain the mindset of a great coder? Reading these five books will give you a great start.
Software Craftmanship Requires Reading the Right Books 🎯
Great, you're reading books! Doing so puts you ahead of the game by a mile right there. To have an even more significant impact on your career as a software craftsman, you should not just read; you should read the right books. Finding the right books to read is hard. What is worth your while, and what isn't? I'd argue that to become a Software Craftsman, you should start with getting the right mindset. To help you on your journey, I'll share five books that had the most impact on my mindset as an (aspiring) Software Craftsman:
[caption id="attachment_55809" align="alignnone" width="1024"] The right books will accelerate your growth greatly[/caption] Read on to learn more about what makes these books great and what benefits they can bring to your career.
Why Read About Mindset? 🤓
When I started my career, I read many books, but their effect was marginal. My bookshelf consisted of titles filled with fleeting technologies. Unfortunately, nobody pointed out what I should be reading. The turning point for me was accidentally stumbling upon a copy of The Pragmatic Programmer. I encountered a book containing ubiquitous concepts; a mindset if you will. Books that teach these sorts of lessons have an incredible yield. You read them, and like a good investment, you profit from them for years and decades. If only I had known earlier. Each book on this list is excellent, and the order does not imply one book is better than the other. Feel free to read the books in any order you like! With that out of the way, let's dive into the books.
Apprenticeship Patterns 🧑🎓
Why This Book? How do you go about growing from an apprentice coder to a master software craftsman? Trial and error? No. It would help if you had a strategy, which is what Apprenticeship Patterns offers. Who Is It For? Are you an ambitious coder eager to learn? Do you struggle with your approach to growth, or are you curious to learn about more ways to do so? Apprenticeship Patterns contains the answers. Key Takeaways Growing as a software developer is hard. To make matters worse, not only do you need to learn a ton, you need approaches on how to grow. This book provides concrete ways to do so, presented as a catalog of patterns. These patterns range from assuming the right mindset for growth to seeking out communities that help you learn. Apprenticeship Patterns showed me ways to learn that I never considered; it helped broaden my horizons. Its most valuable lesson was this: to learn, you need to unlearn. A few patterns in the book took years to discover by myself, so save yourself the trouble and take the shortcut.
The Pragmatic Programmer 🧑💻
Why This Book? Ever experienced that voice in your head whispering advice that prevented you from making a huge mistake? The Pragmatic Programmer will help you develop that consciousness for code. Who Is It For? Do you want to develop a sense for when code is well- or ill-written? Are you missing guidelines for the craft of software development? Read this book. Key Takeaways What makes an effective developer? Technical prowess? Knowledge of a language or framework? Yes, those matter, but I'd argue mindset matters even more. This book will teach you the mindset and heuristics that will make you a great developer. It contains lessons ranging from programming best practices to recognizing and preventing issues in code. The Pragmatic Programmer is dear to me because its lessons on mindset expressed what I was missing in other literature. It puts into words a lot of unwritten rules and ideas. Reading it was a pivotal moment in my career.
Clean Code 🧼
Why This Book? For who do we write code? The computer does not care if our code is understandable; humans do. Clean Code contains crucial lessons on how to write maintainable code. Who Is It For? In my opinion, this book is mandatory for any Software Craftsman. It will teach you ways to focus your coding efforts on maintainability and optimizing for comprehension, which is a crucial skill. Key Takeaways What makes code "clean"? Is it the elegance of its algorithm? Is it performance? Clean Code teaches this crucial heuristic: clean code is easy to comprehend for its readers. It also answers the all-important question: why should we write clean code? Clean Code offers guidance on how to get from good to exceptional code, and it does so with lots of helpful examples. It begins with the tiniest details, such as variable names, progressing to how to put it together in an entire system. This book influenced my skills as a programmer so much that I decided to put it front and center in my bookcase. Years after reading, its ideas still guide how I write code daily.
Extreme Programming Explained 🧗
Why This Book? Agile software development is commonplace, but what is its essence? What is at the core of this mindset? In my opinion, this book provides the best answers. Who Is It For? Are you curious about what agile software development entails? Do you want to know which practices allow you to deliver valuable software effectively? Be sure to read Extreme Programming Explained. Key Takeaways Extreme Programming Explained introduces a set of values, principles, and practices on developing software with agility. The book explains what the commodity Agile (capital A) meant to be. It truly stands out because it introduces values and principles which lead to concrete practices. These practices are critical enablers to agile software development, according to XP. Have you ever heard of Test-Driven Development? Pair Programming? Refactoring? Continuous Integration? Those are just a few of XP's practices, and you would do well to master them. Extreme Programming Explained helped me adopt a mindset and skillset to help teams deliver software more effectively. One of my best professional experiences was in a team where we consciously lived by XP's values, principles, and practices.
Seven Habits of Highly Effective People 🦸
Why This Book? What makes a person "effective"? Seven Habits offers timeless advice on almost any aspect of life, and its lessons will also significantly impact your career. Who Is It For? Have you ever wondered how to improve as a person? Not just at work but getting better at everything you do? Seven Habits of Highly Effective People provides the answers. Key Takeaways Wait, this book has nothing to do with software! As it turns out, software development is very much about people. Professional coders recognize this fact and try to improve in this aspect too. Seven Habits teaches you a set of principles that will improve every aspect of life. Its contents range from taking control of any situation by employing proactiveness to enriching communication with others. Seven Habits weaves this together in a pleasant text full of practical wisdom. If there were just one book I could own, it would be this one. I read this book many years ago and keep returning to it. Every time I read it, I learn something new or find another aspect in my life where I can apply its wisdom. Seven Habits has affected my life as no other book has.
Reading is one of the best ways to skyrocket your career. However, the problem is finding the right books to read. The right books give you the most "bang for your buck." One of the best ways to start is by delving into the mindset of Software Craftsmanship. These books all hand you a piece of that puzzle, and you would do well to read them. Who knows, you might find a career-changing book in there, just like I did! Which books made a significant impact on your mindset as a programmer? Is the list missing a title? Share your thoughts in the comments below!