The Art of Readable Code


Dustin Boswell - 2010
    Over the past five years, authors Dustin Boswell and Trevor Foucher have analyzed hundreds of examples of "bad code" (much of it their own) to determine why they’re bad and how they could be improved. Their conclusion? You need to write code that minimizes the time it would take someone else to understand it—even if that someone else is you.This book focuses on basic principles and practical techniques you can apply every time you write code. Using easy-to-digest code examples from different languages, each chapter dives into a different aspect of coding, and demonstrates how you can make your code easy to understand.Simplify naming, commenting, and formatting with tips that apply to every line of codeRefine your program’s loops, logic, and variables to reduce complexity and confusionAttack problems at the function level, such as reorganizing blocks of code to do one task at a timeWrite effective test code that is thorough and concise—as well as readable"Being aware of how the code you create affects those who look at it later is an important part of developing software. The authors did a great job in taking you through the different aspects of this challenge, explaining the details with instructive examples." —Michael Hunger, passionate Software Developer

Good Boss, Bad Boss: How to Be the Best... and Learn from the Worst


Robert I. Sutton - 2010
    Dr. Sutton reveals new insights that he's learned since the writing of Good Boss, Bad Boss. Sutton adds revelatory thoughts about such legendary bosses as Ed Catmull, Steve Jobs, A.G. Lafley, and many more, and how you can implement their techniques. If you are a boss who wants to do great work, what can you do about it? Good Boss, Bad Boss is devoted to answering that question. Stanford Professor Robert Sutton weaves together the best psychological and management research with compelling stories and cases to reveal the mindset and moves of the best (and worst) bosses. This book was inspired by the deluge of emails, research, phone calls, and conversations that Dr. Sutton experienced after publishing his blockbuster bestseller The No Asshole Rule. He realized that most of these stories and studies swirled around a central figure in every workplace: THE BOSS. These heart-breaking, inspiring, and sometimes funny stories taught Sutton that most bosses - and their followers - wanted a lot more than just a jerk-free workplace. They aspired to become (or work for) an all-around great boss, somebody with the skill and grit to inspire superior work, commitment, and dignity among their charges. As Dr. Sutton digs into the nitty-gritty of what the best (and worst) bosses do, a theme runs throughout Good Boss, Bad Boss - which brings together the diverse lessons and is a hallmark of great bosses: They work doggedly to "stay in tune" with how their followers (and superiors, peers, and customers too) react to what they say and do. The best bosses are acutely aware that their success depends on having the self-awareness to control their moods and moves, to accurately interpret their impact on others, and to make adjustments on the fly that continuously spark effort, dignity, and pride among their people.

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

Scaling Up: How a Few Companies Make It...and Why the Rest Don't (Rockefeller Habits 2.0)


Verne Harnish - 2014
    Scaling Up: How a Few Companies Make It...and Why the Rest Don't is the first major revision of this business classic. In Scaling Up, Harnish and his team share practical tools and techniques for building an industry-dominating business. These approaches have been honed from over three decades of advising tens of thousands of CEOs and executives and helping them navigate the increasing complexities (and weight) that come with scaling up a venture. This book is written so everyone -- from frontline employees to senior executives -- can get aligned in contributing to the growth of a firm. There's no reason to do it alone, yet many top leaders feel like they are the ones dragging the rest of the organization up the S-curve of growth. The goal of this book is to help you turn what feels like an anchor into wind at your back -- creating a company where the team is engaged; the customers are doing your marketing; and everyone is making money. To accomplish this, Scaling Up focuses on the four major decision areas every company must get right: People, Strategy, Execution, and Cash. The book includes a series of new one-page tools including the updated One-Page Strategic Plan and the Rockefeller Habits ChecklistTM, which more than 40,000 firms around the globe have used to scale their companies successfully -- many to $1 billion and beyond. Running a business is ultimately about freedom. Scaling Up shows business leaders how to get their organizations moving in sync to create something significant and enjoy the ride.

The Inevitable: Understanding the 12 Technological Forces That Will Shape Our Future


Kevin Kelly - 2016
    In this fascinating, provocative new book, Kevin Kelly provides an optimistic road map for the future, showing how the coming changes in our lives—from virtual reality in the home to an on-demand economy to artificial intelligence embedded in everything we manufacture—can be understood as the result of a few long-term, accelerating forces. Kelly both describes these deep trends—flowing, screening, accessing, sharing, filtering, remixing, tracking, and questioning—and demonstrates how they overlap and are codependent on one another. These larger forces will completely revolutionize the way we buy, work, learn, and communicate with each other. By understanding and embracing them, says Kelly, it will be easier for us to remain on top of the coming wave of changes and to arrange our day-to-day relationships with technology in ways that bring forth maximum benefits. Kelly’s bright, hopeful book will be indispensable to anyone who seeks guidance on where their business, industry, or life is heading—what to invent, where to work, in what to invest, how to better reach customers, and what to begin to put into place—as this new world emerges.

The Little Schemer


Daniel P. Friedman - 1974
    The authors' enthusiasm for their subject is compelling as they present abstract concepts in a humorous and easy-to-grasp fashion. Together, these books will open new doors of thought to anyone who wants to find out what computing is really about. The Little Schemer introduces computing as an extension of arithmetic and algebra; things that everyone studies in grade school and high school. It introduces programs as recursive functions and briefly discusses the limits of what computers can do. The authors use the programming language Scheme, and interesting foods to illustrate these abstract ideas. The Seasoned Schemer informs the reader about additional dimensions of computing: functions as values, change of state, and exceptional cases. The Little LISPer has been a popular introduction to LISP for many years. It had appeared in French and Japanese. The Little Schemer and The Seasoned Schemer are worthy successors and will prove equally popular as textbooks for Scheme courses as well as companion texts for any complete introductory course in Computer Science.

Peak: Secrets from the New Science of Expertise


K. Anders Ericsson - 2016
    Rest assured that the book is not mere theory. Ericsson's research focuses on the real world, and he explains in detail, with examples, how all of us can apply the principles of great performance in our work or in any other part of our lives."-- Fortune Anders Ericsson has made a career studying chess champions, violin virtuosos, star athletes, and memory mavens. Peak distills three decades of myth-shattering research into a powerful learning strategy that is fundamentally different from the way people traditionally think about acquiring new abilities. Whether you want to stand out at work, improve your athletic or musical performance, or help your child achieve academic goals, Ericsson's revolutionary methods will show you how to improve at almost any skill that matters to you."The science of excellence can be divided into two eras: before Ericsson and after Ericsson. His groundbreaking work, captured in this brilliantly useful book, provides us with a blueprint for achieving the most important and life-changing work possible: to become a little bit better each day."--Dan Coyle, author of The Talent Code "Ericsson's research has revolutionized how we think about human achievement. If everyone would take the lessons of this book to heart, it could truly change the world."--Joshua Foer, author of Moonwalking with Einstein

Tribe of Mentors: Short Life Advice from the Best in the World


Timothy Ferriss - 2017
    From iconic entrepreneurs to elite athletes, from artists to billionaire investors, their short profiles can help you answer life's most challenging questions, achieve extraordinary results, and transform your life.From the author: In 2017, several of my close friends died in rapid succession. It was a very hard year, as it was for many people. It was also a stark reminder that time is our scarcest, non-renewable resource. With a renewed sense of urgency, I began asking myself many questions: Were my goals my own, or simply what I thought I should want? How much of life had I missed from underplanning or overplanning? How could I be kinder to myself? How could I better say “no” to the trivial many to better say “yes” to the critical few? How could I best reassess my priorities and my purpose in this world? To find answers, I reached out to the most impressive world-class performers in the world, ranging from wunderkinds in their 20s to icons in their 70s and 80s. No stone was left unturned. This book contains their answers—practical and tactical advice from mentors who have found solutions. Whether you want to 10x your results, get unstuck, or reinvent yourself, someone else has traveled a similar path and taken notes. This book, Tribe of Mentors, includes many of the people I grew up viewing as idols or demi-gods. Less than 10% have been on my podcast (The Tim Ferriss Show, more than 200 million downloads), making this a brand-new playbook of playbooks. No matter your challenge or opportunity, something in these pages can help. Among other things, you will learn: • More than 50 morning routines—both for the early riser and those who struggle to get out of bed. • How TED curator Chris Anderson realized that the best way to get things done is to let go. • The best purchases of $100 or less (you'll never have to think about the right gift again). • How to overcome failure and bounce back towards success. • Why Humans of New York creator Brandon Stanton believes that the best art will always be the riskiest. • How to meditate and be more mindful (and not just for those that find it easy). • Why tennis champion Maria Sharapova believe that “losing makes you think in ways victories can’t.” • How to truly achieve work-life balance (and why most people tell you it isn’t realistic). • How billionaire Facebook co-founder Dustin Moskovitz transformed the way he engages with difficult situations to reduce suffering. • Ways to thrive (and survive) the overwhelming amount of information you process every day. • How to achieve clarity on your purpose and assess your priorities. • And much more. This reference book, which I wrote for myself, has already changed my life. I certainly hope the same for you. I wish you luck as you forge your own path. All the best, Tim Ferriss

Seven Languages in Seven Weeks


Bruce A. Tate - 2010
    But if one per year is good, how about Seven Languages in Seven Weeks? In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you'll broaden your perspective of programming by examining these languages side-by-side. You'll learn something new from each, and best of all, you'll learn how to learn a language quickly. Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you'll go beyond the syntax-and beyond the 20-minute tutorial you'll find someplace online. This book has an audacious goal: to present a meaningful exploration of seven languages within a single book. Rather than serve as a complete reference or installation guide, Seven Languages hits what's essential and unique about each language. Moreover, this approach will help teach you how to grok new languages. For each language, you'll solve a nontrivial problem, using techniques that show off the language's most important features. As the book proceeds, you'll discover the strengths and weaknesses of the languages, while dissecting the process of learning languages quickly--for example, finding the typing and programming models, decision structures, and how you interact with them. Among this group of seven, you'll explore the most critical programming models of our time. Learn the dynamic typing that makes Ruby, Python, and Perl so flexible and compelling. Understand the underlying prototype system that's at the heart of JavaScript. See how pattern matching in Prolog shaped the development of Scala and Erlang. Discover how pure functional programming in Haskell is different from the Lisp family of languages, including Clojure. Explore the concurrency techniques that are quickly becoming the backbone of a new generation of Internet applications. Find out how to use Erlang's let-it-crash philosophy for building fault-tolerant systems. Understand the actor model that drives concurrency design in Io and Scala. Learn how Clojure uses versioning to solve some of the most difficult concurrency problems. It's all here, all in one place. Use the concepts from one language to find creative solutions in another-or discover a language that may become one of your favorites.

You Don't Know JS: Up & Going


Kyle Simpson - 2015
    With the "You Don’t Know JS" book series, you’ll get a more complete understanding of JavaScript, including trickier parts of the language that many experienced JavaScript programmers simply avoid.The series’ first book, Up & Going, provides the necessary background for those of you with limited programming experience. By learning the basic building blocks of programming, as well as JavaScript’s core mechanisms, you’ll be prepared to dive into the other, more in-depth books in the series—and be well on your way toward true JavaScript.With this book you will: Learn the essential programming building blocks, including operators, types, variables, conditionals, loops, and functions Become familiar with JavaScript's core mechanisms such as values, function closures, this, and prototypes Get an overview of other books in the series—and learn why it’s important to understand all parts of JavaScript

A Seat at the Table


Mark Schwartz - 2017
    But honest and open conversations are not taking place between management and Agile delivery teams.In A Seat at the Table, CIO Mark Schwartz explores the role of IT leadership as it is now and opens the door to reveal IT leadership as it should be - an integral part of the value creation engine. With wit and easy style, Schwartz reveals that the only way to become an Agile IT leader is to be courageous - to throw off the attitude and assumptions that have kept CIOs from taking their rightful seat at the table. CIOs, step on up, your seat at the table is waiting for you.Listening Length: 9 hours and 20 minutes

Refactoring to Patterns


Joshua Kerievsky - 2004
    In 1999, "Refactoring" revolutionized design by introducing an effective process for improving code. With the highly anticipated " Refactoring to Patterns ," Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.Coverage includes: A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book s refactorings General information and new insights about patterns and refactoringDetailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern and when to use each Practical ways to get started even if you have little experience with patterns or refactoring"Refactoring to Patterns" reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you re focused on legacy or greenfield development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively. "

The Great Mental Models: General Thinking Concepts


Shane Parrish - 2018
     The more tools you have at your disposal, the more likely you'll use the right tool for the job — and get it done right. The same is true when it comes to your thinking. The quality of your outcomes depends on the mental models in your head. And most people are going through life with little more than a hammer. Until now. The Great Mental Models: General Thinking Concepts is the first book in The Great Mental Models series designed to upgrade your thinking with the best, most useful and powerful tools so you always have the right one on hand. This volume details nine of the most versatile, all-purpose mental models you can use right away to improve your decision making, productivity, and how clearly you see the world. You will discover what forces govern the universe and how to focus your efforts so you can harness them to your advantage, rather than fight with them or worse yet— ignore them. Upgrade your mental toolbox and get the first volume today!

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts


Richard Monson-Haefel - 2009
    More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de hOra -- offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they've learned from years of experience. Among the 97 principles in this book, you'll find useful advice such as:Don't Put Your Resume Ahead of the Requirements (Nitin Borwankar) Chances Are, Your Biggest Problem Isn't Technical (Mark Ramm) Communication Is King; Clarity and Leadership, Its Humble Servants (Mark Richards) Simplicity Before Generality, Use Before Reuse (Kevlin Henney) For the End User, the Interface Is the System (Vinayak Hegde) It's Never Too Early to Think About Performance (Rebecca Parsons) To be successful as a software architect, you need to master both business and technology. This book tells you what top software architects think is important and how they approach a project. If you want to enhance your career, 97 Things Every Software Architect Should Know is essential reading.

Coaching for Performance: GROWing Human Potential and Purpose - the Principles and Practice of Coaching and Leadership (People Skills for Professionals)


John Whitmore - 2002
    Coaching has matured into an invaluable profession fit for our times and this fourth edition of the most widely read coaching book takes it to the next frontier.Good coaching is a skill that requires a depth of understanding and plenty of practice if it is to deliver its astonishing potential. This extensively revised and expanded new audio edition of Coaching for Performance clearly explains the principles of coaching and illustrates them with examples of high performance from business and sport. It continues to follow the GROW sequence (Goals, Reality, Options, Will) and clarifies the process and practice of coaching by describing what coaching really is, what it can be used for, when and how much it can be used, and who can use it well.