The Agile Samurai: How Agile Masters Deliver Great Software


Jonathan Rasmusson - 2010
    Combining tools, core principles, and plenty of humor, The Agile Samurai gives you the tools and the attitude to deliver something of value every week, and make rolling software into production a non-event. You’ll see how agile software delivery really works and how to help your team get agile fast, while having fun along the way.

Design for Hackers


David Kadavy - 2011
    The term 'hacker' has been redefined to consist of anyone who has an insatiable curiosity as to how things work--and how they can try to make them better. This book is aimed at hackers of all skill levels and explains the classical principles and techniques behind beautiful designs by deconstructing those designs in order to understand what makes them so remarkable. Author and designer David Kadavy provides you with the framework for understanding good design and places a special emphasis on interactive mediums. You'll explore color theory, the role of proportion and geometry in design, and the relationship between medium and form. Packed with unique reverse engineering design examples, this book inspires and encourages you to discover and create new beauty in a variety of formats. Breaks down and studies the classical principles and techniques behind the creation of beautiful design. Illustrates cultural and contextual considerations in communicating to a specific audience. Discusses why design is important, the purpose of design, the various constraints of design, and how today's fonts are designed with the screen in mind. Dissects the elements of color, size, scale, proportion, medium, and form. Features a unique range of examples, including the graffiti in the ancient city of Pompeii, the lack of the color black in Monet's art, the style and sleekness of the iPhone, and more.By the end of this book, you'll be able to apply the featured design principles to your own web designs, mobile apps, or other digital work.

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.

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.

100 Things Every Designer Needs to Know about People


Susan M. Weinschenk - 2011
    We want them to buy something, read more, or take action of some kind. Designing without understanding what makes people act the way they do is like exploring a new city without a map: results will be haphazard, confusing, and inefficient. This book combines real science and research with practical examples to deliver a guide every designer needs. With it you'll be able to design more intuitive and engaging work for print, websites, applications, and products that matches the way people think, work, and play.Learn to increase the effectiveness, conversion rates, and usability of your own design projects by finding the answers to questions such as: What grabs and holds attention on a page or screen?What makes memories stick?What is more important, peripheral or central vision?How can you predict the types of errors that people will make?What is the limit to someone's social circle?How do you motivate people to continue on to (the next step?What line length for text is best?Are some fonts better than others? These are just a few of the questions that the book answers in its deep-dive exploration of what makes people tick.

Building Microservices: Designing Fine-Grained Systems


Sam Newman - 2014
    But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures

Work Rules!: Insights from Inside Google That Will Transform How You Live and Lead


Laszlo Bock - 2015
    "We spend more time working than doing anything else in life. It's not right that the experience of work should be so demotivating and dehumanizing." So says Laszlo Bock, head of People Operations at the company that transformed how the world interacts with knowledge. This insight is the heart of WORK RULES!, a compelling and surprisingly playful manifesto that offers lessons including:Take away managers' power over employeesLearn from your best employees-and your worstHire only people who are smarter than you are, no matter how long it takes to find themPay unfairly (it's more fair!)Don't trust your gut: Use data to predict and shape the futureDefault to open-be transparent and welcome feedbackIf you're comfortable with the amount of freedom you've given your employees, you haven't gone far enough. Drawing on the latest research in behavioral economics and a profound grasp of human psychology, WORK RULES! also provides teaching examples from a range of industries-including lauded companies that happen to be hideous places to work and little-known companies that achieve spectacular results by valuing and listening to their employees. Bock takes us inside one of history's most explosively successful businesses to reveal why Google is consistently rated one of the best places to work in the world, distilling 15 years of intensive worker R&D into principles that are easy to put into action, whether you're a team of one or a team of thousands. WORK RULES! shows how to strike a balance between creativity and structure, leading to success you can measure in quality of life as well as market share. Read it to build a better company from within rather than from above; read it to reawaken your joy in what you do.

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.

Designing Data-Intensive Applications


Martin Kleppmann - 2015
    Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures

Zero to One: Notes on Startups, or How to Build the Future


Peter Thiel - 2014
    In Zero to One, legendary entrepreneur and investor Peter Thiel shows how we can find singular ways to create those new things. Thiel begins with the contrarian premise that we live in an age of technological stagnation, even if we’re too distracted by shiny mobile devices to notice. Information technology has improved rapidly, but there is no reason why progress should be limited to computers or Silicon Valley. Progress can be achieved in any industry or area of business. It comes from the most important skill that every leader must master: learning to think for yourself.Doing what someone else already knows how to do takes the world from 1 to n, adding more of something familiar. But when you do something new, you go from 0 to 1. The next Bill Gates will not build an operating system. The next Larry Page or Sergey Brin won’t make a search engine. Tomorrow’s champions will not win by competing ruthlessly in today’s marketplace. They will escape competition altogether, because their businesses will be unique. Zero to One presents at once an optimistic view of the future of progress in America and a new way of thinking about innovation: it starts by learning to ask the questions that lead you to find value in unexpected places.

Creativity, Inc.: Overcoming the Unseen Forces That Stand in the Way of True Inspiration


Ed Catmull - 2009
    Creativity, Inc. is a book for managers who want to lead their employees to new heights, a manual for anyone who strives for originality, and the first-ever, all-access trip into the nerve center of Pixar Animation—into the meetings, postmortems, and “Braintrust” sessions where some of the most successful films in history are made. It is, at heart, a book about how to build a creative culture—but it is also, as Pixar co-founder and president Ed Catmull writes, “an expression of the ideas that I believe make the best in us possible.” For nearly twenty years, Pixar has dominated the world of animation, producing such beloved films as the Toy Story trilogy, Monsters, Inc., Finding Nemo, The Incredibles, Up, and WALL-E, which have gone on to set box-office records and garner thirty Academy Awards. The joyousness of the storytelling, the inventive plots, the emotional authenticity: In some ways, Pixar movies are an object lesson in what creativity really is. Here, in this book, Catmull reveals the ideals and techniques that have made Pixar so widely admired—and so profitable.   As a young man, Ed Catmull had a dream: to make the first computer-animated movie. He nurtured that dream as a Ph.D. student at the University of Utah, where many computer science pioneers got their start, and then forged a partnership with George Lucas that led, indirectly, to his founding Pixar with Steve Jobs and John Lasseter in 1986. Nine years later, Toy Story was released, changing animation forever. The essential ingredient in that movie’s success—and in the thirteen movies that followed—was the unique environment that Catmull and his colleagues built at Pixar, based on philosophies that protect the creative process and defy convention, such as:   • Give a good idea to a mediocre team, and they will screw it up. But give a mediocre idea to a great team, and they will either fix it or come up with something better. • If you don’t strive to uncover what is unseen and understand its nature, you will be ill prepared to lead. • It’s not the manager’s job to prevent risks. It’s the manager’s job to make it safe for others to take them. • The cost of preventing errors is often far greater than the cost of fixing them. • A company’s communication structure should not mirror its organizational structure. Everybody should be able to talk to anybody. • Do not assume that general agreement will lead to change—it takes substantial energy to move a group, even when all are on board.

Code: The Hidden Language of Computer Hardware and Software


Charles Petzold - 1999
    And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.

JavaScript: The Definitive Guide


David Flanagan - 1996
    This book is both an example-driven programmer's guide and a keep-on-your-desk reference, with new chapters that explain everything you need to know to get the most out of JavaScript, including:Scripted HTTP and Ajax XML processing Client-side graphics using the canvas tag Namespaces in JavaScript--essential when writing complex programs Classes, closures, persistence, Flash, and JavaScript embedded in Java applicationsPart I explains the core JavaScript language in detail. If you are new to JavaScript, it will teach you the language. If you are already a JavaScript programmer, Part I will sharpen your skills and deepen your understanding of the language.Part II explains the scripting environment provided by web browsers, with a focus on DOM scripting with unobtrusive JavaScript. The broad and deep coverage of client-side JavaScript is illustrated with many sophisticated examples that demonstrate how to:Generate a table of contents for an HTML document Display DHTML animations Automate form validation Draw dynamic pie charts Make HTML elements draggable Define keyboard shortcuts for web applications Create Ajax-enabled tool tips Use XPath and XSLT on XML documents loaded with Ajax And much morePart III is a complete reference for core JavaScript. It documents every class, object, constructor, method, function, property, and constant defined by JavaScript 1.5 and ECMAScript Version 3.Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the canvas tag.More than 300,000 JavaScript programmers around the world have made this their indispensable reference book for building JavaScript applications."A must-have reference for expert JavaScript programmers...well-organized and detailed."-- Brendan Eich, creator of JavaScript

Business Model Generation


Alexander Osterwalder - 2010
    You will learn how to systematically understand, design, and implement a new business model or analyze and renovate an old one.2) Co-created by 470 strategy practitionersBusiness Model Generation practices what it preaches. Co-authored by 470 Business Model Canvas practitioners from 45 countries, the book was financed and produced independently of the traditional publishing industry. It features a tightly-integrated, visual, lie-flat design that enables immediate hands-on use.3) Designed for doersBusiness Model Generation is for those ready to abandon outmoded thinking and embrace new, innovative models of value creation: executives, consultants, entrepreneurs and leaders of all organizations.

Product Roadmaps Relaunched: How to Set Direction while Embracing Uncertainty


C. Todd Lombardo - 2017
    In fact, this one document can steer an entire organization when it comes to delivering on company strategy. This practical guide teaches you how to create an effective product roadmap, and demonstrates how to use the roadmap to align stakeholders and prioritize ideas and requests. With it, you’ll learn to communicate how your products will make your customers and organization successful. Whether you're a product manager, product owner, business analyst, program manager, project manager, scrum master, lead developer, designer, development manager, entrepreneur, or business owner, this book will show you how to: Articulate an inspiring vision and goals for your product Prioritize ruthlessly and scientifically Protect against pursuing seemingly good ideas without evaluation and prioritization Ensure alignment with stakeholders Inspire loyalty and over­-delivery from your team Get your sales team working with you instead of against you Bring a user­ and buyer-­centric approach to planning and decision-making Anticipate opportunities and stay ahead of the game Publish a comprehensive roadmap without over­committing