The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity


Alan Cooper - 1999
    Cooper details many of these meta functions to explain his central thesis: programmers need to seriously re-evaluate the many user-hostile concepts deeply embedded within the software development process. Rather than provide users with a straightforward set of options, programmers often pile on the bells and whistles and ignore or de-prioritise lingering bugs. For the average user, increased functionality is a great burden, adding to the recurrent chorus that plays: "computers are hard, mysterious, unwieldy things." (An average user, Cooper asserts, who doesn't think that way or who has memorised all the esoteric commands and now lords it over others, has simply been desensitised by too many years of badly designed software.) Cooper's writing style is often overblown, with a pantheon of cutesy terminology (i.e. "dancing bearware") and insider back-patting. (When presenting software to Bill Gates, he reports that Gates replied: "How did you do that?" to which he writes: "I love stumping Bill!") More seriously, he is also unable to see beyond software development's importance--a sin he accuses programmers of throughout the book. Even with that in mind, the central questions Cooper asks are too important to ignore: Are we making users happier? Are we improving the process by which they get work done? Are we making their work hours more effective? Cooper looks to programmers, business managers and what he calls "interaction designers" to question current assumptions and mindsets. Plainly, he asserts that the goal of computer usage should be "not to make anyone feel stupid." Our distance from that goal reinforces the need to rethink entrenched priorities in software planning. -- Jennifer Buckendorff, Amazon.com

HTML5 & CSS3 For The Real World


Estelle Weyl - 2011
    This easy-to-follow guide is illustrated with lots of examples, and leads readers through the process of creating great websites from start to finish using HTML5 and CSS3.It also features details on all the new HTML5 and CSS3 elements and features information on the current level of browser support advice for creating great experiences for all users thanks to progressive enhancement.

The Method Method: Seven Obsessions That Helped Our Scrappy Start-up Turn an Industry Upside Down


Eric Ryan - 2011
     Founded ten years ago by childhood pals Eric Ryan and Adam Lowry, Method has been making headlines and profits with a revolutionary blend of culture and commerce, style and substance. Today, Method's ecofriendly soaps, detergents, and cleaners are ubiquitous in stores, capturing valuable shelf space long dominated by the tired old products of giants P&G and Unilever. Ryan and Lowry obsess over seven principles at the heart of Method's business philosophy, including: * Kick Ass at Fast: Use small size to your advantage; by bringing innovations to market faster, you can stay out in front of larger rivals. * Inspire Advocates: Rather than getting caught up in costly battles for market share, foster deeper relationships with fewer customers in pursuit of greater wallet share. * Win on Product Experience: Beyond satisfying your customers' rational needs, design experiences for them. The Method Method is an irreverent, candid, firsthand case study. Readers will learn how today's consumers behave, how today's companies compete, and how both groups are acting together to drive profound global change.

Working Effectively with Legacy Code


Michael C. Feathers - 2004
    This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

Head First Statistics


Dawn Griffiths - 2008
    Whether you're a student, a professional, or just curious about statistical analysis, Head First's brain-friendly formula helps you get a firm grasp of statistics so you can understand key points and actually use them. Learn to present data visually with charts and plots; discover the difference between taking the average with mean, median, and mode, and why it's important; learn how to calculate probability and expectation; and much more.Head First Statistics is ideal for high school and college students taking statistics and satisfies the requirements for passing the College Board's Advanced Placement (AP) Statistics Exam. With this book, you'll:Study the full range of topics covered in first-year statistics Tackle tough statistical concepts using Head First's dynamic, visually rich format proven to stimulate learning and help you retain knowledge Explore real-world scenarios, ranging from casino gambling to prescription drug testing, to bring statistical principles to life Discover how to measure spread, calculate odds through probability, and understand the normal, binomial, geometric, and Poisson distributions Conduct sampling, use correlation and regression, do hypothesis testing, perform chi square analysis, and moreBefore you know it, you'll not only have mastered statistics, you'll also see how they work in the real world. Head First Statistics will help you pass your statistics course, and give you a firm understanding of the subject so you can apply the knowledge throughout your life.

The Pragmatic Programmer: From Journeyman to Master


Andy Hunt - 1999
    It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Escaping the Build Trap: How Effective Product Management Creates Real Value


Melissa Perri - 2018
    Companies that live and die by outputs often fall into the "build trap," cranking out features to meet their schedule rather than the customer’s needs. In this book, Melissa Perri explains how laying the foundation for great product management can help companies solve real customer problems while achieving business goals. By understanding how to communicate and collaborate within a company structure, you can create a product culture that benefits both the business and the customer. You’ll learn product management principles that can be applied to any organization, big or small. In five parts, this book explores: Why organizations ship features rather than cultivate the value those features represent How to set up a product organization that scales How product strategy connects a company’s vision and economic outcomes back to the product activities How to identify and pursue the right opportunities for producing value through an iterative product framework How to build a culture focused on successful outcomes over outputs

Joel on Software


Joel Spolsky - 2004
    For years, Joel Spolsky has done exactly this at www.joelonsoftware.com. Now, for the first time, you can own a collection of the most important essays from his site in one book, with exclusive commentary and new insights from joel.

Inspired: How to Create Tech Products Customers Love


Marty Cagan - 2008
    The goal of the book is to share the techniques of the best companies. This book is aimed primarily at Product Managers working on technology-powered products. That includes the hundreds of "tech companies" like Google, Facebook, Amazon, Twitter and the like, as well as the thousands of companies moving to leverage technology (financial companies, media companies, retailers, manufacturers, nearly every industry). Inspired covers companies from early stage start-ups to large, established companies. The products might be consumer products or devices, business services for small businesses to enterprises, internal tools, and developer platforms.Inspired is secondarily aimed at the designers, engineers, user researchers and data scientists that work closely with the product managers on product teams at these same companies.

Agile Principles, Patterns, and Practices in C#


Robert C. Martin - 2006
    Martin helped bring Agile principles to tens of thousands of Java and C++ programmers. Now .NET programmers have a definitive guide to agile methods with this completely updated volume from Robert C. Martin and Micah Martin, Agile Principles, Patterns, and Practices in C#. This book presents a series of case studies illustrating the fundamentals of Agile development and Agile design, and moves quickly from UML models to real C# code. The introductory chapters lay out the basics of the agile movement, while the later chapters show proven techniques in action. The book includes many source code examples that are also available for download from the authors' Web site.Readers will come away from this book understandingAgile principles, and the fourteen practices of Extreme Programming Spiking, splitting, velocity, and planning iterations and releases Test-driven development, test-first design, and acceptance testing Refactoring with unit testing Pair programming Agile design and design smells The five types of UML diagrams and how to use them effectively Object-oriented package design and design patterns How to put all of it together for a real-world project Whether you are a C# programmer or a Visual Basic or Java programmer learning C#, a software development manager, or a business analyst, Agile Principles, Patterns, and Practices in C# is the first book you should read to understand agile software and how it applies to programming in the .NET Framework.

This Is Lean: Resolving the Efficiency Paradox


Niklas Modig - 2011
    This-is-Lean

Understanding the Four Rules of Simple Design


Corey Haines - 2014
    This is why it is imperative to build systems that are flexible and can adapt to changing requirements, both expected and (more often) unexpected. That is why I've written this book.From 2009 to 2014, I traveled the world working with software developers, both individually and in teams, to improve their craft. Primarily, I did this through a training workshop format called coderetreat. Over those years, I had the opportunity to watch 1000's of pairs of programmers work on exactly the same system, Conway's Game of Life. As time progressed, I began to see patterns arise. I noticed common techniques and designs that spanned languages and companies and crossed national borders.As co-founder and a facilitator of coderetreat workshops, I had the unique opportunity to provide feedback, both direct and through questions, on improving the act of writing adaptable, simple code. Through the day, we worked on improving our ability to make good choices around the minute-by-minute decisions made while writing code.This book is about those things I learned from watching these 1000's of pairs working on the same problem. It contains a large part of the feedback that I provide during a typical coderetreat. The primary focus is on the thought process behind refactoring, and how that is influenced by the 4 rules of simple design.This book is not about Conway's Game of Life. Instead, it uses its domain as a backdrop to discuss the thoughts and ideas behind the 4 rules of simple design. It focuses on the small decisions made while designing your code with the goal of building robust, adaptable codebases that can stand the test of time.

Design Sprint: A Practical Guidebook for Building Great Digital Products


Richard Banfield - 2015
    This practical guide shows you exactly what a design sprint involves and how you can incorporate the process into your organization.Design sprints not only let you test digital product ideas before you pour too many resources into a project, they also help everyone get on board whether they re team members, decision makers, or potential users. You ll know within days whether a particular product idea is worth pursuing.Design sprints enable you to:Clarify the problem at hand, and identify the needs of potential usersExplore solutions through brainstorming and sketching exercisesDistill your ideas into one or two solutions that you can testPrototype your solution and bring it to lifeTest the prototype with people who would use it"

37 Things One Architect Knows


Gregor Hohpe
    

Cracking the PM Interview: How to Land a Product Manager Job in Technology


Gayle Laakmann McDowell - 2013
    Cracking the PM Interview is a comprehensive book about landing a product management role in a startup or bigger tech company. Learn how the ambiguously-named "PM" (product manager / program manager) role varies across companies, what experience you need, how to make your existing experience translate, what a great PM resume and cover letter look like, and finally, how to master the interview: estimation questions, behavioral questions, case questions, product questions, technical questions, and the super important "pitch."