The Shape of Design


Frank Chimero - 2012
    My name's Frank Chimero. I've spent the better part of the last two years writing and speaking on design and thinking about the topics that orbit the practice: storytelling, concept, craft, and improvisation. I want to take all of the ideas I've had and connected these past few months and capture them in a book format.I've been teaching for the past 5 years, and I've always been a bit frustrated that there isn't a nice, concise book that overviews the mental state of a successful designer while they go through their creative process. For instance, many say that graphic design is visual communication. A cornerstone of communication is storytelling, and yet you'd be hard-pressed to find any discussion of how to tell stories with design in any design book. This should be remedied.There are new challenges in the world that need to be discussed, and I think design is a prime lens to consider these topics. As our world moves faster and as things become less stable, it becomes more important for individuals to embrace ambiguity, understand paradox, and realize that two things can conflict and still somehow both be true. We must realize that logic doesn't always work, and that sometimes nonsense is the best answer. These are the topics I intend to address in the book.The Shape of Design isn't going to be a text book. The project will be focused on Why instead of How. We have enough How; it's time for a thoughtful analysis of our practice and its characteristics so we can better practice our craft. After reading the book, I want you to look at what you do in a whole new light. Design is more than working for clients.But really, this book aims to look at the mindset and worldview that designing develops in order to answer one big, important question: How can we make things that help all of us live better?"

Designing for the Social Web


Joshua Porter - 2008
    With tons of examples from real-world interfaces and a touch of the underlying social psychology theory, Joshua Porter shows you how to design your next great social web application.

The Complete Software Developer's Career Guide: How to Learn Programming Languages Quickly, Ace Your Programming Interview, and Land Your Software Developer Dream Job


John Z. Sonmez - 2017
    As John invested in these skills his career took off, and he became a highly paid, highly sought-after developer and consultant. Today John helps more than 1.4 million programmers every year to increase their income by developing this unique blend of skills. "If you're a developer, green or a veteran, you owe it to yourself to read The Complete Software Developers Career Guide." - Jason Down, Platform Developer, Ontario, Canada What You Will Learn in This Book How to systematically find and fill the gaps in your technical knowledge so you can face any new challenge with confidence Should you take contract work - or hold out for a salaried position? Which will earn you more, what the tradeoffs are, and how your personality should sway your choice Should you learn JavaScript, C#, Python, C++? How to decide which programming language you should master first Ever notice how every job ever posted requires "3-5 years of experience," which you don't have? Simple solution for this frustrating chicken-and-egg problem that allows you to build legitimate job experience while you learn to code Is earning a computer science degree a necessity - or a total waste of time? How to get a college degree with maximum credibility and minimum debt Coding bootcampssome are great, some are complete scams. How to tell the difference so you don't find yourself cheated out of $10,000 Interviewer tells you, "Dress code is casual around here - the development team wears flipflops." What should you wear? How do you deal with a boss who's a micromanager. Plus how helping your manager with his goals can make you the MVP of your team The technical skills that every professional developer must have - but no one teaches you (most developers are missing some critical pieces, they don't teach this stuff in college, you're expected to just "know" this) An inside look at the recruiting industry. What that "friendly" recruiter really wants from you, how they get paid, and how to avoid getting pigeonholed into a job you'll hate Who Should Read This Book Entry-Level Developers This book will show you how to ensure you have the technical skills your future boss is looking for, create a resume that leaps off a hiring manager's desk, and escape the "no work experience" trap. Mid-Career Developers You'll see how to find and fill in gaps in your technical knowledge, position yourself as the one team member your boss can't live without, and turn those dreaded annual reviews into chance to make an iron-clad case for your salary bump. Senior Developers This book will show you how to become a specialist who can command above-market wages, how building a name for yourself can make opportunities come to you, and how to decide whether consulting or entrepreneurship are paths you should pursue.

Async JavaScript


Trevor Burnham - 2012
    Even experienced JavaScripters sometimes find themselves overwhelmed as complex apps grow into a tangled web of callbacks.With Async JavaScript, you'll learn about:Event schedulingThe PubSub patternPromises and Deferred objectsFlow control with Async.jsRecipes for common async scenariosMulti-threading with Web WorkersAltJS languagesand more, with examples tailored to jQuery and Node.js.

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.

Value Proposition Design: How to Create Products and Services Customers Want


Alexander Osterwalder - 2013
    It shows you how to use the Value Proposition Canvas, a practical business tool to design, test, create, and manage products and services customers want. It compliments and perfectly integrates with the Business Model Canvasfrom "Business Model Generation" so you can succeed with great value propositions embedded in scalable and profitable business models.Practical exercises, process illustrations, and workshop suggestions help you immediately apply the tools in the book to your daily work. The book includes an online access to Strategyzer.com to complete and assess exercises interactively, learn from peers, and download pdfs, checklists, and more.You'll love "Value Proposition Design" if you've been overwhelmed by the task of true customer value creation, frustrated by unproductive product meetings and misaligned teams, involved in bold shiny projects that blew up, or simply disappointed by the failure of a good idea."Value Proposition Design" will help you successfully understand the patterns of value creation, leverage the experience and skills of your team, avoid wasting time with ideas that won't work, and guide you through the design and test of products and services that customers want.

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

Card Sorting


Donna Spencer - 2009
    It helps you create information that is easy to find and understand. In "Card Sorting: Designing Usable Categories," Donna Spencer shows you how to plan and run a card sort, analyze the results, and apply the outcomes to your projects. TESTIMONIALS "This is a wonderful book on a much-needed topic. While card sorting is a basic tool of the trade, it's previously received short-shrift in any practical publication. Donna's done an amazing job explaining (in easy-to-understand terms) what every designer, architect, and researcher should know about the ins-and-outs of card sorting. (You might need to buy two copies, because I guarantee someone will borrow your first copy and never return it.)" â��Jared M. Spool, CEO and Founding Principal, User Interface Engineering "This book is a fresh, clear, practical explanation of the value of card-sorting, how to do it, and how to use the results. Spencer mixes step-by-step instructions and good examples with just enough theory. You'll emerge from this book with new skills to create great user-centered information architectures--and smart responses to tricky questions from pesky stakeholders." â��Tamara Adlin, Founding Partner, Fell Swoop, and co-author of The Persona Lifecycle: Keeping People in Mind Throughout Product Design "I wish we had this book when we first started doing card sorting. It's a fantastic handbook that is full of very practical advice and examples from Donna's extensive experience. We will be recommending it to all our customers." â��Sam Ng, Creator of online card sorting tool OptimalSort "Donna has put together the definitive work on card sorting, a must have tool for all information architects. If you want to plan, run and analyse your own card sorts, this book has it all." â��Andy Budd, User Experience Director, Clearleft

Think Like a Programmer: An Introduction to Creative Problem Solving


V. Anton Spraul - 2012
    In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to:Split problems into discrete components to make them easier to solve Make the most of code reuse with functions, classes, and libraries Pick the perfect data structure for a particular job Master more advanced programming tools like recursion and dynamic memory Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

Talking to Humans


Giff Constable - 2014
    This book will teach you how to structure and run effective customer interviews, find candidates, and turn learnings into action.

Learning PHP, MySQL, and JavaScript: A Step-By-Step Guide to Creating Dynamic Websites


Robin Nixon - 2009
    You'll learn how to create responsive, data-driven websites with PHP, MySQL, and JavaScript, regardless of whether you already know how to program. Discover how the powerful combination of PHP and MySQL provides an easy way to build modern websites complete with dynamic data and user interaction. You'll also learn how to add JavaScript to create rich Internet applications and websites.Learning PHP, MySQL, and JavaScript explains each technology separately, shows you how to combine them, and introduces valuable web programming concepts, including objects, XHTML, cookies, and session management. You'll practice what you've learned with review questions in each chapter, and find a sample social networking platform built with the elements introduced in this book. This book will help you:-Understand PHP essentials and the basics of object-oriented programming-Master MySQL, from database structure to complex queries-Create web pages with PHP and MySQL by integrating forms and other HTML features-Learn about JavaScript, from functions and event handling to accessing the Document Object Model-Use libraries and packages, including the Smarty web template system, PEAR program repository, and the Yahoo! User Interface Library -Make Ajax calls and turn your website into a highly dynamic environment-Upload and manipulate files and images, validate user input, and secure your applications

The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise


Martin L. Abbott - 2009
    Abbott and Michael T. Fisher cover everything IT and business leaders must know to build technology infrastructures that can scale smoothly to meet any business requirement. Drawing on their unparalleled experience managing some of the world s highest-transaction-volume Web sites, the authors provide detailed models and best-practice approaches available in no other book. Unlike previous books on scalability, "The Art of Scalability" doesn t limit its coverage to technology. Writing for both technical and nontechnical decision-makers, this book covers everything that impacts scalability, including architecture, processes, people, and organizations. Throughout, the authors address a broad spectrum of real-world challenges, from performance testing to IT governance. Using their tools and guidance, organizations can systematically overcome obstacles to scalability and achieve unprecedented levels of technical and business performance. Coverage includes Staffing the scalable organization: essential organizational, management, and leadership skills for technical leaders Building processes for scale: process lessons from hyper-growth companies, from technical issue resolution to crisis management Making better build versus buy decisions Architecting scalable solutions: powerful proprietary models for identifying scalability needs and choosing the best approaches to meet them Optimizing performance through caching, application and database splitting, and asynchronous design Scalability techniques for emerging technologies, including clouds and grids Planning for rapid data growth and new data centers Evolving monitoring strategies to tightly align with customer requirements "

Lean Enterprise: How High Performance Organizations Innovate at Scale


Jez Humble - 2014
    Adopting Lean will take time and commitment, but it’s vital for harnessing the cultural and technical forces that are accelerating the rate of innovation.* Discover how Lean focuses on people and teamwork at every level, in contrast to traditional management practices* Approach problem-solving experimentally, by exploring solutions, testing assumptions, and getting feedback from real users* Lead and manage large-scale programs in a way that empowers employees, increases the speed and quality of delivery, and lowers costs* Learn how to implement ideas from the DevOps and Lean Startup movements even in complex, regulated environments

Java 8 in Action


Raoul-Gabriel Urma - 2014
    The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig in!

The Zen of CSS Design: Visual Enlightenment for the Web


Dave Shea - 2005
    Proving once and for all that standards-compliant design does not equal dull design, this inspiring tome uses examples from the landmark CSS Zen Garden site as the foundation for discussions on how to create beautiful, progressive CSS-based Web sites.