The Passionate Programmer


Chad Fowler - 2009
    In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.

The Tiny MBA: 100 Very Short Lessons about the Long Game of Business


Alex Hillman - 2020
    Please find the Paperback or Kindle-compatible Ebook at stackingthebricks.com/tinymba/You don't need an MBA or fancy investors to succeed in business. Use the 100 ideas in this tiny book to evaluate your current situation: your advantages, your relationships, your potential choices, and the most likely outcomes.BONUS! If you enjoy The Tiny MBA and want to go deeper on the topics lessons and themes in the book, check out the Tiny MBA Podcast Tour with the author! In each episode, Alex visits with the host of a different podcast or livestream to dig deeper into that hosts favorite pages of the book, and explore specific examples or stories rooted in these lessons.Check it out now at stackingthebricks.com/podcast/ and subscribe to get new episodes every week.

Head First Design Patterns


Eric Freeman - 2004
     At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.

Fluent Python: Clear, Concise, and Effective Programming


Luciano Ramalho - 2015
    With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"

The Problem with Software: Why Smart Engineers Write Bad Code


Adam Barr - 2018
    As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience.Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than "good enough to ship."

How to Solve It: A New Aspect of Mathematical Method


George Pólya - 1944
    Polya, How to Solve It will show anyone in any field how to think straight. In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown can be of help in attacking any problem that can be reasoned out--from building a bridge to winning a game of anagrams. Generations of readers have relished Polya's deft--indeed, brilliant--instructions on stripping away irrelevancies and going straight to the heart of the problem.

Liars and Outliers: Enabling the Trust that Society Needs to Thrive


Bruce Schneier - 2012
    We don't do a chemical analysis on food we eat.Trust and cooperation are the first problems we had to solve before we could become a social species. In the 21st century, they have become the most important problems we need to solve — again. Our global society has become so large and complex that our traditional trust mechanisms no longer work.Bruce Schneier, world-renowned for his level-headed thinking on security and technology, tackles this complex subject head-on. Society can't function without trust, and yet must function even when people are untrustworthy.Liars and Outliers reaches across academic disciplines to develop an understanding of trust, cooperation, and social stability. From the subtle social cues we use to recognize trustworthy people to the laws that punish the noncompliant, from the way our brains reward our honesty to the bank vaults that keep out the dishonest, keeping people cooperative is a delicate balance of rewards and punishments. It's a series of evolutionary tricks, social pressures, legal mechanisms, and physical barriers.In the absence of personal relationships, we have no choice but to substitute security for trust, compliance for trustworthiness. This progression has enabled society to scale to unprecedented complexity, but has also permitted massive global failures.At the same time, too much cooperation is bad. Without some level of rule-breaking, innovation and social progress become impossible. Society stagnates.Today's problems require new thinking, and Liars and Outliers provides that. It is essential that we learn to think clearly about trust. Our future depends on it.

Final Jeopardy: Man vs. Machine and the Quest to Know Everything


Stephen Baker - 2011
    Scientists have made progress: computers can now beat chess grandmasters and help prevent terrorist attacks. Yet we still await a machine that exhibits the rich complexity of human thought — one that doesn’t just crunch numbers, or take us to a relevant Web page, but understands us and gives us what we need.That vision has driven a team of engineers at IBM. Over three years, they created “Watson” and prepared it for a showdown on Jeopardy!, where it would take on two of the game’s all-time champions, Ken Jennings and Brad Rutter, in a nationally televised event. Final Jeopardy is the entertaining, illuminating story of that computer and that epic match.It’s a classic tale of Man vs. Machine. Like its human competitors, Watson has to understand language, including puns and irony, and master everything from history, literature, and science to arts, entertainment, and game strategy. After years of training, Watson can find the scrambled state capital in “Hair Gel” (“What is Raleigh?”) and even come up with the facial accessory that made Moshe Dayan recognizable worldwide (“What is an eye patch?”). Watson may just be the smartest machine on earth.Final Jeopardy traces the arc of Watson’s “life,” from its birth in the IBM labs to its big night on the podium. We meet Hollywood moguls and Jeopardy! masters, genius computer programmers and ambitious scientists, including Watson’s eccentric creator, David Ferrucci. We gain access to Ferrucci’s War Room, where the IBM team works tirelessly to boost Watson’s speed to the buzzer, improve its performance in “train wreck” categories (such as “Books in Español”), and fix glitches like the speech defect Watson developed during its testing phase, when it started adding a d to words ending in n (“What is Pakistand?”).Much is at stake, especially for IBM. A new generation of Watsons could transform medicine, the law, marketing, even science itself, as machines process huge amounts of data at lightning speed, answer our questions, and possibly come up with new hypotheses.Showdown aside, it’s clear that the future has arrived. But with it come questions: Where does it leave humans? What will Watson’s heirs be capable of in ten or twenty years? Is it time to declare defeat in the realm of facts? What should we teach our children? And what should we carry around in our own heads?Final Jeopardy takes on these questions and more in a narrative that’s as fast and fun as the game itself. Baker shows us how smart machines will fit into our world — and how they’ll disrupt it. www.finaljeopardy.net

The Sciences of the Artificial


Herbert A. Simon - 1969
    There are updates throughout the book as well. These take into account important advances in cognitive psychology and the science of design while confirming and extending the book's basic thesis: that a physical symbol system has the necessary and sufficient means for intelligent action. The chapter "Economic Reality" has also been revised to reflect a change in emphasis in Simon's thinking about the respective roles of organizations and markets in economic systems."People sometimes ask me what they should read to find out about artificial intelligence. Herbert Simon's book The Sciences of the Artificial is always on the list I give them. Every page issues a challenge to conventional thinking, and the layman who digests it well will certainly understand what the field of artificial intelligence hopes to accomplish. I recommend it in the same spirit that I recommend Freud to people who ask about psychoanalysis, or Piaget to those who ask about child psychology: If you want to learn about a subject, start by reading its founding fathers." -- George A. Miller

Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days


Jake Knapp - 2016
    And now there’s a sure-fire way to solve their problems and test solutions: the sprint.While working at Google, designer Jake Knapp created a unique problem-solving method that he coined a “design sprint”—a five-day process to help companies answer crucial questions. His ‘sprints’ were used on everything from Google Search to Chrome to Google X. When he moved to Google Ventures, he joined Braden Kowitz and John Zeratsky, both designers and partners there who worked on products like YouTube and Gmail. Together Knapp, Zeratsky, and Kowitz have run over 100 sprints with their portfolio companies. They’ve seen firsthand how sprints can overcome challenges in all kinds of companies: healthcare, fitness, finance, retailers, and more.A practical guide to answering business questions, Sprint is a book for groups of any size, from small startups to Fortune 100s, from teachers to non-profits. It’s for anyone with a big opportunity, problem, or idea who needs to get answers today.

Rewire: Digital Cosmopolitans in the Age of Connection


Ethan Zuckerman - 2013
    This increasingly ubiquitous, immensely powerful technology often leads us to assume that as the number of people online grows, it inevitably leads to a smaller, more cosmopolitan world. We’ll understand more, we think. We’ll know more. We’ll engage more and share more with people from other cultures. In reality, it is easier to ship bottles of water from Fiji to Atlanta than it is to get news from Tokyo to New York.In Rewire, media scholar and activist Ethan Zuckerman explains why the technological ability to communicate with someone does not inevitably lead to increased human connection. At the most basic level, our human tendency to “flock together” means that most of our interactions, online or off, are with a small set of people with whom we have much in common. In examining this fundamental tendency, Zuckerman draws on his own work as well as the latest research in psychology and sociology to consider technology’s role in disconnecting ourselves from the rest of the world.For those who seek a wider picture—a picture now critical for survival in an age of global economic crises and pandemics—Zuckerman highlights the challenges, and the headway already made, in truly connecting people across cultures. From voracious xenophiles eager to explore other countries to bridge figures who are able to connect one culture to another, people are at the center of his vision for a true kind of cosmopolitanism. And it is people who will shape a new approach to existing technologies, and perhaps invent some new ones, that embrace translation, cross-cultural inspiration, and the search for new, serendipitous experiences.Rich with Zuckerman’s personal experience and wisdom, Rewire offers a map of the social, technical, and policy innovations needed to more tightly connect the world.

DotCom Secrets: The Underground Playbook for Growing Your Company Online


Russell Brunson - 2015
    In Russell Brunson's experience, after working with thousands of businesses, he has found that’s rarely the case. Low traffic and weak conversion numbers are just symptoms of a much greater problem, a problem that’s a little harder to see (that’s the bad news), but a lot easier to fix (that’s the good news). DotComSecrets will give you the marketing funnels and the sales scripts you need to be able to turn on a flood of new leads into your business.

Machines of Loving Grace: The Quest for Common Ground Between Humans and Robots


John Markoff - 2015
    Pulitzer prize-winning New York Times science writer John Markoff argues that we must decide to design ourselves into our future, or risk being excluded from it altogether.In the past decade, Google introduced us to driverless cars; Apple debuted Siri, a personal assistant that we keep in our pockets; and an Internet of Things connected the smaller tasks of everyday life to the farthest reaches of the Web. Robots have become an integral part of society on the battlefield and the road; in business, education, and health care. Cheap sensors and powerful computers will ensure that in the coming years, these robots will act on their own. This new era offers the promise of immensely powerful machines, but it also reframes a question first raised more than half a century ago, when the intelligent machine was born. Will we control these systems, or will they control us?In Machines of Loving Grace, John Markoff offers a sweeping history of the complicated and evolving relationship between humans and computers. In recent years, the pace of technological change has accelerated dramatically, posing an ethical quandary. If humans delegate decisions to machines, who will be responsible for the consequences? As Markoff chronicles the history of automation, from the birth of the artificial intelligence and intelligence augmentation communities in the 1950s and 1960s, to the modern-day brain trusts at Google and Apple in Silicon Valley, and on to the expanding robotics economy around Boston, he traces the different ways developers have addressed this fundamental problem and urges them to carefully consider the consequences of their work. We are on the brink of the next stage of the computer revolution, Markoff argues, and robots will profoundly transform modern life. Yet it remains for us to determine whether this new world will be a utopia. Moreover, it is now incumbent upon the designers of these robots to draw a bright line between what is human and what is machine.After nearly forty years covering the tech industry, Markoff offers an unmatched perspective on the most drastic technology-driven societal shifts since the introduction of the Internet. Machines of Loving Grace draws on an extensive array of research and interviews to present an eye-opening history of one of the most pressing questions of our time, and urges us to remember that we still have the opportunity to design ourselves into the future—before it's too late.

Where Wizards Stay Up Late: The Origins of the Internet


Katie Hafner - 1996
    Today, twenty million people worldwide are surfing the Net. Where Wizards Stay Up Late is the exciting story of the pioneers responsible for creating the most talked about, most influential, and most far-reaching communications breakthrough since the invention of the telephone. In the 1960's, when computers where regarded as mere giant calculators, J.C.R. Licklider at MIT saw them as the ultimate communications devices. With Defense Department funds, he and a band of visionary computer whizzes began work on a nationwide, interlocking network of computers. Taking readers behind the scenes, Where Wizards Stay Up Late captures the hard work, genius, and happy accidents of their daring, stunningly successful venture.

On the Future: Prospects for Humanity


Martin J. Rees - 2018
    Our world is unsettled and rapidly changing, and we face existential risks over the next century. Various outcomes--good and bad--are possible. Yet our approach to the future is characterized by short-term thinking, polarizing debates, alarmist rhetoric, and pessimism. In this short, exhilarating book, renowned scientist and bestselling author Martin Rees argues that humanity's prospects depend on our taking a very different approach to planning for tomorrow.The future of humanity is bound to the future of science and hinges on how successfully we harness technological advances to address our challenges. If we are to use science to solve our problems while avoiding its dystopian risks, we must think rationally, globally, collectively, and optimistically about the long term. Advances in biotechnology, cybertechnology, robotics, and artificial intelligence--if pursued and applied wisely--could empower us to boost the developing and developed world and overcome the threats humanity faces on Earth, from climate change to nuclear war. At the same time, further advances in space science will allow humans to explore the solar system and beyond with robots and AI. But there is no "Plan B" for Earth--no viable alternative within reach if we do not care for our home planet.Rich with fascinating insights into cutting-edge science and technology, this accessible book will captivate anyone who wants to understand the critical issues that will define the future of humanity on Earth and beyond.