Scrum: a Breathtakingly Brief and Agile Introduction


Chris Sims - 2012
    A pocket-sized overview of roles, artifacts and the sprint cycle, adapted from the bestseller The Elements of Scrum by Chris Sims & Hillary Louise Johnson

Upstream: The Quest to Solve Problems Before They Happen


Dan Heath - 2020
    We put out fires. We deal with emergencies. We stay downstream, handling one problem after another, but we never make our way upstream to fix the systems that caused the problems ... [This book] probes the psychological forces that push us downstream--including 'problem blindness,' which can leave us oblivious to serious problems in our midst. And Heath introduces us to the thinkers who have overcome these obstacles and scored ... victories by switching to an upstream mindset.

Concrete Mathematics: A Foundation for Computer Science


Ronald L. Graham - 1988
    "More concretely," the authors explain, "it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems."

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People


Aditya Y. Bhargava - 2015
    The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi-page proofs you'll find in most textbooks, this is the book for you. This fully-illustrated and engaging guide makes it easy for you to learn how to use algorithms effectively in your own programs.Grokking Algorithms is a disarming take on a core computer science topic. In it, you'll learn how to apply common algorithms to the practical problems you face in day-to-day life as a programmer. You'll start with problems like sorting and searching. As you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression or artificial intelligence. Whether you're writing business software, video games, mobile apps, or system utilities, you'll learn algorithmic techniques for solving problems that you thought were out of your grasp. For example, you'll be able to:Write a spell checker using graph algorithmsUnderstand how data compression works using Huffman codingIdentify problems that take too long to solve with naive algorithms, and attack them with algorithms that give you an approximate answer insteadEach carefully-presented example includes helpful diagrams and fully-annotated code samples in Python. By the end of this book, you will know some of the most widely applicable algorithms as well as how and when to use them.

Switch: How to Change Things When Change Is Hard


Chip Heath - 2010
    Psychologists have discovered that our minds are ruled by two different systems - the rational mind and the emotional mind - that compete for control. The rational mind wants a great beach body; the emotional mind wants that Oreo cookie. The rational mind wants to change something at work; the emotional mind loves the comfort of the existing routine. This tension can doom a change effort - but if it is overcome, change can come quickly.In Switch, the Heaths show how everyday people - employees and managers, parents and nurses - have united both minds and, as a result, achieved dramatic results:- The lowly medical interns who managed to defeat an entrenched, decades-old medical practice that was endangering patients (see page 242)- The home-organizing guru who developed a simple technique for overcoming the dread of housekeeping (see page 130)- The manager who transformed a lackadaisical customer-support team into service zealots by removing a standard tool of customer service (see page 199)In a compelling, story-driven narrative, the Heaths bring together decades of counterintuitive research in psychology, sociology, and other fields to shed new light on how we can effect transformative change. Switch shows that successful changes follow a pattern, a pattern you can use to make the changes that matter to you, whether your interest is in changing the world or changing your waistline.

Badass: Making Users Awesome


Kathy Sierra - 2015
    The rules? No marketing budget, no PR stunts, and it must be sustainably successful. No short-term fads.This is not a game of chance. It is a game of skill and strategy.And it begins with a single question: given competing products of equal pricing, promotion, and perceived quality, why does one outsell the others?The answer doesn’t live in the sustainably successful products or services. The answer lives in those who use them.Our goal is to craft a strategy for creating successful users. And that strategy is full of surprising, counter-intuitive, and astonishingly simple techniques that don’t depend on a massive marketing or development budget. Techniques typically overlooked by even the most well-funded, well-staffed product teams.Every role is a key player in this game. Product development, engineering, marketing, user experience, support—everyone on the team. Even if that team is a start-up of one. Armed with a surprisingly overlooked science and a unique POV, we can can reduce the role of luck. We can build sustainably successful products and services that rely not on unethical persuasive marketing tricks but on helping our users have deeper, richer experiences. Not just in the moments while they’re using our product but, more importantly, in the moments when they aren’t.

The Innovator's Dilemma: The Revolutionary Book that Will Change the Way You Do Business


Clayton M. Christensen - 1997
    Christensen says outstanding companies can do everything right and still lose their market leadership -- or worse, disappear completely. And he not only proves what he says, he tells others how to avoid a similar fate.Focusing on "disruptive technology" -- the Honda Super Cub, Intel's 8088 processor, or the hydraulic excavator, for example -- Christensen shows why most companies miss "the next great wave." Whether in electronics or retailing, a successful company with established products will get pushed aside unless managers know when to abandon traditional business practices. Using the lessons of successes and failures from leading companies, "The Innovator's Dilemma" presents a set of rules for capitalizing on the phenomenon of disruptive innovation.

The Information: A History, a Theory, a Flood


James Gleick - 2011
    The story of information begins in a time profoundly unlike our own, when every thought and utterance vanishes as soon as it is born. From the invention of scripts and alphabets to the long-misunderstood talking drums of Africa, Gleick tells the story of information technologies that changed the very nature of human consciousness. He provides portraits of the key figures contributing to the inexorable development of our modern understanding of information: Charles Babbage, the idiosyncratic inventor of the first great mechanical computer; Ada Byron, the brilliant and doomed daughter of the poet, who became the first true programmer; pivotal figures like Samuel Morse and Alan Turing; and Claude Shannon, the creator of information theory itself. And then the information age arrives. Citizens of this world become experts willy-nilly: aficionados of bits and bytes. And we sometimes feel we are drowning, swept by a deluge of signs and signals, news and images, blogs and tweets. The Information is the story of how we got here and where we are heading.

Universal Principles of Design: 100 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Design Decisions, and Teach Through Design


William Lidwell - 2003
    Because no one can be an expert on everything, designers have always had to scramble to find the information and know-how required to make a design work - until now. Universal Principles of Design is the first cross-disciplinary reference of design. Richly illustrated and easy to navigate, this book pairs clear explanations of the design concepts featured with visual examples of those concepts applied in practice. From the 80/20 rule to chunking, from baby-face bias to Ockham's razor, and from self-similarity to storytelling, 100 design concepts are defined and illustrated for readers to expand their knowledge.This landmark reference will become the standard for designers, engineers, architects, and students who seek to broaden and improve their design expertise.

User Friendly: How the Hidden Rules of Design Are Changing the Way We Live, Work, and Play


Cliff Kuang - 2019
    Spanning over a century of sweeping changes, from women's rights to the Great Depression to World War II to the rise of the digital era, this book unpacks the ways in which the world has been--and continues to be--remade according to the principles of the once-obscure discipline of user-experience design.In this essential text, Kuang and Fabricant map the hidden rules of the designed world and shed light on how those rules have caused our world to change--an underappreciated but essential history that's pieced together for the first time. Combining the expertise and insight of a leading journalist and a pioneering designer, User Friendly provides a definitive, thoughtful, and practical perspective on a topic that has rapidly gone from arcane to urgent to inescapable. In User Friendly, Kuang and Fabricant tell the whole story for the first time--and you'll never interact with technology the same way again.

Messy: The Power of Disorder to Transform Our Lives


Tim Harford - 2016
    His liberating message: you'll be more successful if you stop struggling so hard to plan or control your success. Messy is a deeply researched, endlessly eye-opening adventure in the life-changing magic of not tidying up' Oliver BurkemanThe urge to tidiness seems to be rooted deep in the human psyche. Many of us feel threatened by anything that is vague, unplanned, scattered around or hard to describe. We find comfort in having a script to rely on, a system to follow, in being able to categorise and file away.We all benefit from tidy organisation - up to a point. A large library needs a reference system. Global trade needs the shipping container. Scientific collaboration needs measurement units. But the forces of tidiness have marched too far. Corporate middle managers and government bureaucrats have long tended to insist that everything must have a label, a number and a logical place in a logical system. Now that they are armed with computers and serial numbers, there is little to hold this tidy-mindedness in check. It's even spilling into our personal lives, as we corral our children into sanitised play areas or entrust our quest for love to the soulless algorithms of dating websites. Order is imposed when chaos would be more productive. Or if not chaos, then . . . messiness.The trouble with tidiness is that, in excess, it becomes rigid, fragile and sterile. In Messy, Tim Harford reveals how qualities we value more than ever - responsiveness, resilience and creativity - simply cannot be disentangled from the messy soil that produces them. This, then, is a book about the benefits of being messy: messy in our private lives; messy in the office, with piles of paper on the desk and unread spreadsheets; messy in the recording studio, the laboratory or in preparing for an important presentation; and messy in our approach to business, politics and economics, leaving things vague, diverse and uncomfortably made-up-on-the-spot. It's time to rediscover the benefits of a little mess.

Programming Interviews Exposed: Secrets to Landing Your Next Job (Programmer to Programmer)


John Mongan - 2000
    This classic book uncovers what interviews are really like at America's top software and computer companies and provides you with the tools to succeed in any situation. The authors take you step-by-step through new problems and complex brainteasers they were asked during recent technical interviews. 50 interview scenarios are presented along with in-depth analysis of the possible solutions. The problem-solving process is clearly illustrated so you'll be able to easily apply what you've learned during crunch time. You'll also find expert tips on what questions to ask, how to approach a problem, and how to recover if you become stuck. All of this will help you ace the interview and get the job you want.What you will learn from this bookTips for effectively completing the job application Ways to prepare for the entire programming interview process How to find the kind of programming job that fits you best Strategies for choosing a solution and what your approach says about you How to improve your interviewing skills so that you can respond to any question or situation Techniques for solving knowledge-based problems, logic puzzles, and programming problems Who this book is for This book is for programmers and developers applying for jobs in the software industry or in IT departments of major corporations.Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

The Go Programming Language


Alan A.A. Donovan - 2015
    It has been winning converts from dynamic language enthusiasts as well as users of traditional compiled languages. The former appreciate the robustness and efficiency that Go's lightweight type system brings to their code; the latter find Go's simplicity and fast tools a refreshing change. Thanks to its well-designed standard libraries and its excellent support for concurrent programming, Go is fast becoming the language of choice for distributed systems. The Go Programming Language is the definitive book on Go for the working programmer. It assumes no prior knowledge of Go, nor any other specific programming language, so you'll find it an accessible guide whether you come from JavaScript, Ruby, Python, Java, or C++. The book will quickly get you started using Go effectively from the beginning, and by the end, you will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. You'll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to your own projects. The earlier chapters will introduce you to the basic concepts of Go programming---numbers, strings, functions---while at the same time presenting important computer science concepts like recursion, and useful examples of graphics, UTF-8, and error handling. The chapters on methods and interfaces will show you a new way to think about object-oriented programming; the chapter on concurrency explains why concurrency is so important in modern programming, and how Go helps you handle it well. You'll also learn about Go's pragmatic but effective approach to testing; how to build, test, and manage projects using the go tool, and the art of metaprogramming using reflection. The book contains hundreds of interesting and practical examples that cover the whole language and a wide range of applications. The code samples from the book are available for download from gopl.io.

The Ideal Team Player: How to Recognize and Cultivate The Three Essential Virtues


Patrick Lencioni - 2016
    Here he turns his focus to the individual, revealing the three indispensable virtues of an ideal team player. In The Ideal Team Player, Lencioni tells the story of Jeff Shanley, a leader desperate to save his uncle’s company by restoring its cultural commitment to teamwork. Jeff must crack the code on the virtues that real team players possess, and then build a culture of hiring and development around those virtues.  Beyond the fable, Lencioni presents a practical framework and actionable tools for identifying, hiring, and developing ideal team players.  Whether you’re a leader trying to create a culture around teamwork, a staffing professional looking to hire real team players, or a team player wanting to improve yourself, this book will prove to be as useful as it is compelling.

Systems Thinking for Social Change: A Practical Guide to Solving Complex Problems, Avoiding Unintended Consequences, and Achieving Lasting Results


David Peter Stroh - 2015
    But often their solutions fall far short of what they want to accomplish and what is truly needed. Moreover, the answers they propose and fund often produce the opposite of what they want over time. We end up with temporary shelters that increase homelessness, drug busts that increase drug-related crime, or food aid that increases starvation. How do these unintended consequences come about and how can we avoid them? By applying conventional thinking to complex social problems, we often perpetuate the very problems we try so hard to solve, but it is possible to think differently, and get different results. Systems Thinking for Social Change enables readers to contribute more effectively to society by helping them understand what systems thinking is and why it is so important in their work. It also gives concrete guidance on how to incorporate systems thinking in problem solving, decision making, and strategic planning without becoming a technical expert. Systems thinking leader David Stroh walks readers through techniques he has used to help people improve their efforts to end homelessness, improve public health, strengthen education, design a system for early childhood development, protect child welfare, develop rural economies, facilitate the reentry of formerly incarcerated people into society, resolve identity-based conflicts, and more. The result is a highly readable, effective guide to understanding systems and using that knowledge to get the results you want.