The Soul of a New Machine


Tracy Kidder - 1981
    Tracy Kidder got a preview of this world in the late 1970s when he observed the engineers of Data General design and build a new 32-bit minicomputer in just one year. His thoughtful, prescient book, The Soul of a New Machine, tells stories of 35-year-old "veteran" engineers hiring recent college graduates and encouraging them to work harder and faster on complex and difficult projects, exploiting the youngsters' ignorance of normal scheduling processes while engendering a new kind of work ethic.These days, we are used to the "total commitment" philosophy of managing technical creation, but Kidder was surprised and even a little alarmed at the obsessions and compulsions he found. From in-house political struggles to workers being permitted to tease management to marathon 24-hour work sessions, The Soul of a New Machine explores concepts that already seem familiar, even old-hat, less than 20 years later. Kidder plainly admires his subjects; while he admits to hopeless confusion about their work, he finds their dedication heroic. The reader wonders, though, what will become of it all, now and in the future. —Rob Lightner

The Fearless Organization: Creating Psychological Safety in the Workplace for Learning, Innovation, and Growth


Amy C. Edmondson - 2018
    With so much riding on innovation, creativity, and spark, it is essential to attract and retain quality talent--but what good does this talent do if no one is able to speak their mind? The traditional culture of "fitting in" and "going along" spells doom in the knowledge economy. Success requires a continuous influx of new ideas, new challenges, and critical thought, and the interpersonal climate must not suppress, silence, ridicule or intimidate. Not every idea is good, and yes there are stupid questions, and yes dissent can slow things down, but talking through these things is an essential part of the creative process. People must be allowed to voice half-finished thoughts, ask questions from left field, and brainstorm out loud; it creates a culture in which a minor flub or momentary lapse is no big deal, and where actual mistakes are owned and corrected, and where the next left-field idea could be the next big thing.This book explores this culture of psychological safety, and provides a blueprint for bringing it to life. The road is sometimes bumpy, but succinct and informative scenario-based explanations provide a clear path forward to constant learning and healthy innovation.* Explore the link between psychological safety and high performance * Create a culture where it's "safe" to express ideas, ask questions, and admit mistakes * Nurture the level of engagement and candor required in today's knowledge economy* Follow a step-by-step framework for establishing psychological safety in your team or organization Shed the "yes-men" approach and step into real performance. Fertilize creativity, clarify goals, achieve accountability, redefine leadership, and much more. The Fearless Organization helps you bring about this most critical transformation.

Growing Object-Oriented Software, Guided by Tests


Steve Freeman - 2009
    This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas in this book."--Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this simple idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and "grow" software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you'll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes - Implementing TDD effectively: getting started, and maintaining your momentum throughout the project - Creating cleaner, more expressive, more sustainable code - Using tests to stay relentlessly focused on sustaining quality - Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project - Using Mock Objects to guide object-oriented designs - Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

Programming Pearls


Jon L. Bentley - 1986
    Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem." - Steve McConnell, author, Code CompleteWhen programmers list their favorite books, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience. In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments. In addition, there are three new essays on (1) testing, debugging, and timing; (2) set representations; and (3) string problems. All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web.What remains the same in this new edition is Bentley's focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley's classic or are revisiting his work for some fresh insight, this book is sure to make your own list of favorites.

What Got You Here Won't Get You There: How Successful People Become Even More Successful


Marshall Goldsmith - 2006
    They're intelligent, skilled, and even charismatic. But only a handful of them will ever reach the pinnacle--and as executive coach Marshall Goldsmith shows in this book, subtle nuances make all the difference. These are small "transactional flaws" performed by one person against another (as simple as not saying thank you enough), which lead to negative perceptions that can hold any executive back. Using Goldsmith's straightforward, jargon-free advice, it's amazingly easy behavior to change. Executives who hire Goldsmith for one-on-one coaching pay $250,000 for the privilege. With this book, his help is available for 1/10,000th of the price.

Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs


Ken Kocienda - 2018
    Creative Selection recounts the life of one of the few who worked behind the scenes, a highly-respected software engineer who worked in the final years the Steve Jobs era--the Golden Age of Apple.Ken Kocienda offers an inside look at Apple's creative process. For fifteen years, he was on the ground floor of the company as a specialist, directly responsible for experimenting with novel user interface concepts and writing powerful, easy-to-use software for products including the iPhone, the iPad, and the Safari web browser. His stories explain the symbiotic relationship between software and product development for those who have never dreamed of programming a computer, and reveal what it was like to work on the cutting edge of technology at one of the world's most admired companies.Kocienda shares moments of struggle and success, crisis and collaboration, illuminating each with lessons learned over his Apple career. He introduces the essential elements of innovation--inspiration, collaboration, craft, diligence, decisiveness, taste, and empathy--and uses these as a lens through which to understand productive work culture.An insider's tale of creativity and innovation at Apple, Creative Selection shows readers how a small group of people developed an evolutionary design model, and how they used this methodology to make groundbreaking and intuitive software which countless millions use every day.

The Culture Code: The Secrets of Highly Successful Groups


Daniel Coyle - 2017
    An essential book that unlocks the secrets of highly successful groups and provides readers with a toolkit for building a cohesive, innovative culture, from the New York Times bestselling author of The Talent Code

Tribal Leadership: Leveraging Natural Groups to Build a Thriving Organization


Dave Logan - 2008
    I learned about myself and learned lessons I will carry with me and reflect on for the rest of my life.”—John W. Fanning, Founding Chairman and CEO napster Inc.“An unusually nuanced view of high-performance cultures.” —Inc.Within each corporation are anywhere from a few to hundreds of separate tribes. In Tribal Leadership, Dave Logan, John King, and Halee Fischer-Wright demonstrate how these tribes develop—and show you how to assess them and lead them to maximize productivity and growth. A business management book like no other, Tribal Leadership is an essential tool to help managers and business leaders take better control of their organizations by utilizing the unique characteristics of the tribes that exist within.

How Linux Works: What Every Superuser Should Know


Brian Ward - 2004
    Some books try to give you copy-and-paste instructions for how to deal with every single system issue that may arise, but How Linux Works actually shows you how the Linux system functions so that you can come up with your own solutions. After a guided tour of filesystems, the boot sequence, system management basics, and networking, author Brian Ward delves into open-ended topics such as development tools, custom kernels, and buying hardware, all from an administrator's point of view. With a mixture of background theory and real-world examples, this book shows both "how" to administer Linux, and "why" each particular technique works, so that you will know how to make Linux work for you.

Fanatical Prospecting: The Ultimate Guide to Opening Sales Conversations and Filling the Pipeline by Leveraging Social Selling, Telephone, Email, Text, and Cold Calling


Jeb Blount - 2015
    By ignoring the muscle of prospecting, many otherwise competent salespeople and sales organizations consistently underperform.Step by step, Jeb Blount outlines his innovative approach to prospecting that works for real people, in the real world, with real prospects.Learn how to keep the pipeline full of qualified opportunities and avoid debilitating sales slumps by leveraging a balanced prospecting methodology across multiple prospecting channels.This book reveals the secrets, techniques, and tips of top earners. You'll learn:Why the 30-Day Rule is critical for keeping the pipeline full Why understanding the Law of Replacement is the key to avoiding sales slumps How to leverage the Law of Familiarity to reduce prospecting friction and avoid rejection The 5 C's of Social Selling and how to use them to get prospects to call you How to use the simple 5 Step Telephone Framework to get more appointments fast How to double call backs with a powerful voice mail technique How to leverage the powerful 4 Step Email Prospecting Framework to create emails that compel prospects to respond How to get text working for you with the 7 Step Text Message Prospecting Framework And there is so much more! Fanatical Prospecting is filled with the high-powered strategies, techniques, and tools you need to fill your pipeline with high quality opportunities.In the most comprehensive book ever written about sales prospecting, Jeb Blount reveals the real secret to improving sales productivity and growing your income fast. You'll gain the power to blow through resistance and objections, gain more appointments, start more sales conversations, and close more sales.Break free from the fear and frustration that is holding you and your team back from effective and consistent prospecting. It's time to get off the feast or famine sales roller-coaster for good!

xUnit Test Patterns: Refactoring Test Code


Gerard Meszaros - 2003
    An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge. xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable--and far more cost-effective. Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered "test smells," provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages. Topics covered includeWriting better tests--and writing them faster The four phases of automated tests: fixture setup, exercising the system under test, result verification, and fixture teardown Improving test coverage by isolating software from its environment using Test Stubs and Mock Objects Designing software for greater testability Using test "smells" (including code smells, behavior smells, and project smells) to spot problems and know when and how to eliminate them Refactoring tests for greater simplicity, robustness, and execution speed This book will benefit developers, managers, and testers working with any agile or conventional development process, whether doing test-driven development or writing the tests last. While the patterns and smells are especially applicable to all members of the xUnit family, they also apply to next-generation behavior-driven development frameworks such as RSpec and JBehave and to other kinds of test automation tools, including recorded test tools and data-driven test tools such as Fit and FitNesse.Visual Summary of the Pattern Language Foreword Preface Acknowledgments Introduction Refactoring a Test PART I: The Narratives Chapter 1 A Brief Tour Chapter 2 Test Smells Chapter 3 Goals of Test Automation Chapter 4 Philosophy of Test Automation Chapter 5 Principles of Test Automation Chapter 6 Test Automation Strategy Chapter 7 xUnit Basics Chapter 8 Transient Fixture Management Chapter 9 Persistent Fixture Management Chapter 10 Result Verification Chapter 11 Using Test Doubles Chapter 12 Organizing Our Tests Chapter 13 Testing with Databases Chapter 14 A Roadmap to Effective Test Automation PART II: The Test Smells Chapter 15 Code Smells Chapter 16 Behavior Smells Chapter 17 Project Smells PART III: The Patterns Chapter 18 Test Strategy Patterns Chapter 19 xUnit Basics Patterns Chapter 20 Fixture Setup Patterns Chapter 21 Result Verification Patterns Chapter 22 Fixture Teardown Patterns Chapter 23 Test Double Patterns Chapter 24 Test Organization Patterns Chapter 25 Database Patterns Chapter 26 Design-for-Testability Patterns Chapter 27 Value Patterns PART IV: Appendixes Appendix A Test Refactorings Appendix B xUnit Terminology Appendix C xUnit Family Members Appendix D Tools Appendix E Goals and Principles Appendix F Smells, Aliases, and Causes Appendix G Patterns, Aliases, and Variations Glossary References Index "

Actionable Agile Metrics for Predictability: An Introduction


Daniel S. Vacanti - 2015
    Think about how many times you have been asked that question. How many times have you ever actually been right?We can debate all we want whether this is a fair question to ask given the tremendous amount of uncertainty in knowledge work, but the truth of the matter is that our customers are going to inquire about completion time whether we like it or not. Which means we need to come up with an accurate way to answer them. The problem is that the forecasting tools that we currently utilize have made us ill-equipped to provide accurate answers to reasonable customer questions. Until now.

The Minto Pyramid Principle: Logic in Writing, Thinking, & Problem Solving


Barbara Minto - 1987
    Topics covered range from the difference between deductive and inductive reasoning, to a discussion of how to highlight the structure of information.

Effective Programming: More Than Writing Code


Jeff Atwood - 2012
    He needed a way to keep track of software development over time – whatever he was thinking about or working on. He researched subjects he found interesting, then documented his research with a public blog post, which he could easily find and refer to later. Over time, increasing numbers of blog visitors found the posts helpful, relevant and interesting. Now, approximately 100,000 readers visit the blog per day and nearly as many comment and interact on the site.Effective Programming: More Than Writing Code is your one-stop shop for all things programming. Jeff writes with humor and understanding, allowing for both seasoned programmers and newbies to appreciate the depth of his research. From such posts as“The Programmer’s Bill of Rights” and “Why Cant Programmers... Program?” to “Working With the Chaos Monkey,” this book introduces the importance of writing responsible code, the logistics involved, and how people should view it more as a lifestyle than a career.

Just Listen: Discover the Secret to Getting Through to Absolutely Anyone


Mark Goulston - 2009
    Just Listen does this by providing simple but powerful techniques readers can use to really get through to people. You’ll learn how to: make a powerful and positive first impression; listen effectively; make even a total stranger (potential client) feel understood; talk an angry or aggressive person away from an instinctual, unproductive reaction and toward a more rational mindset; and achieve buy-in--the linchpin of all persuasion, negotiation, and sales. Whether they're coworkers, friends, strangers, or enemies, the first make-or-break step in persuading anyone to do anything is getting them to hear you out. With this groundbreaking book, readers will be able to master the fine but critical art of effective communication.