Think Python


Allen B. Downey - 2002
    It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structures.

Kanban in Action


Marcus Hammarberg - 2013
    Kanban leverages visual management techniques to involve stakeholders and to facilitate understanding of how the work works. Through limiting the amount of work in process, and by focusing on finishing that work as soon as possible, kanban helps you to adjust demand to capacity, to reduce lead times and to create a driver for continuous improvement.Kanban in Action is a down-to-earth, no-frills, get-to-know-the-ropes introduction to kanban. It's based on the real-world experience and observations from two kanban coaches who have introduced this process to dozens of teams. In this book, you'll discover basic but powerful techniques on how to visualize and track work, how to construct a kanban board, how to visualize queues and bottlenecks, and much much more. You'll learn the principles of why kanban works as well as nitty-gritty details like how to use different color stickies to help you organize and track your work items.

Programming Interviews Exposed: Secrets to Landing Your Next Job (Programmer to Programmer)


John Mongan - 2000
    This classic book uncovers what interviews are really like at America's top software and computer companies and provides you with the tools to succeed in any situation. The authors take you step-by-step through new problems and complex brainteasers they were asked during recent technical interviews. 50 interview scenarios are presented along with in-depth analysis of the possible solutions. The problem-solving process is clearly illustrated so you'll be able to easily apply what you've learned during crunch time. You'll also find expert tips on what questions to ask, how to approach a problem, and how to recover if you become stuck. All of this will help you ace the interview and get the job you want.What you will learn from this bookTips for effectively completing the job application Ways to prepare for the entire programming interview process How to find the kind of programming job that fits you best Strategies for choosing a solution and what your approach says about you How to improve your interviewing skills so that you can respond to any question or situation Techniques for solving knowledge-based problems, logic puzzles, and programming problems Who this book is for This book is for programmers and developers applying for jobs in the software industry or in IT departments of major corporations.Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

Good Strategy Bad Strategy: The Difference and Why It Matters


Richard P. Rumelt - 2011
    Richard Rumelt shows that there has been a growing and unfortunate tendency to equate Mom-and-apple-pie values, fluffy packages of buzzwords, motivational slogans, and financial goals with “strategy.” He debunks these elements of “bad strategy” and awakens an understanding of the power of a “good strategy.” A good strategy is a specific and coherent response to—and approach for overcoming—the obstacles to progress. A good strategy works by harnessing and applying power where it will have the greatest effect in challenges as varied as putting a man on the moon, fighting a war, launching a new product, responding to changing market dynamics, starting a charter school, or setting up a government program. Rumelt’snine sources of power—ranging from using leverage to effectively focusing on growth—are eye-opening yet pragmatic tools that can be put to work on Monday morning.Surprisingly, a good strategy is often unexpected because most organizations don’t have one. Instead, they have “visions,” mistake financial goals for strategy,and pursue a “dog’s dinner” of conflicting policies and actions.Rumelt argues that the heart of a good strategy is insight—into the true nature of the situation, into the hidden power in a situation, and into an appropriate response. He shows you how insight can be cultivated with a wide variety of tools for guiding yourown thinking.Good Strategy/Bad Strategy uses fascinating examples from business, nonprofit, and military affairs to bring its original and pragmatic ideas to life. The detailed examples range from Apple to General Motors, from the two Iraq wars to Afghanistan, from a small local market to Wal-Mart, from Nvidia to Silicon Graphics, from the Getty Trust to the Los Angeles Unified School District, from Cisco Systems to Paccar, and from Global Crossing to the 2007–08 financial crisis.Reflecting an astonishing grasp and integration of economics, finance, technology, history, and the brilliance and foibles of the human character, Good Strategy/Bad Strategy stems from Rumelt’s decades of digging beyond the superficial to address hard questions with honesty and integrity.From the Hardcover edition.

How Google Tests Software


James A. Whittaker - 2012
    Legendary testing expert James Whittaker, until recently a Google testing leader, and two top Google experts reveal exactly how Google tests software, offering brand-new best practices you can use even if you're not quite Google's size...yet! Breakthrough Techniques You Can Actually Use Discover 100% practical, amazingly scalable techniques for analyzing risk and planning tests...thinking like real users...implementing exploratory, black box, white box, and acceptance testing...getting usable feedback...tracking issues...choosing and creating tools...testing "Docs & Mocks," interfaces, classes, modules, libraries, binaries, services, and infrastructure...reviewing code and refactoring...using test hooks, presubmit scripts, queues, continuous builds, and more. With these techniques, you can transform testing from a bottleneck into an accelerator-and make your whole organization more productive!

Multipliers: How the Best Leaders Make Everyone Smarter


Liz Wiseman - 2010
    The first type drain intelligence, energy, and capability from the ones around them and always need to be the smartest ones in the room. These are the idea killers, the energy sappers, the diminishers of talent and commitment. On the other side of the spectrum are leaders who use their intelligence to amplify the smarts and capabilities of the people around them. When these leaders walk into a room, lightbulbs go off over people's heads, ideas flow, and problems get solved. These are the leaders who inspire employees to stretch themselves to deliver results that surpass expectations. These are the Multipliers. And the world needs more of them, especially now, when leaders are expected to do more with less. In this engaging and highly practical book, leadership expert Liz Wiseman and management consultant Greg McKeown explore these two leadership styles, persuasively showing how Multipliers can have a resoundingly positive and profitable effect on organizations—getting more done with fewer resources, developing and attracting talent, and cultivating new ideas and energy to drive organizational change and innovation. In analyzing data from more than 150 leaders, Wiseman and McKeown have identified five disciplines that distinguish Multipliers from Diminishers. These five disciplines are not based on innate talent; indeed, they are skills and practices that everyone can learn to use, even lifelong and recalcitrant Diminishers. Lively, real-world case studies and practical tips and techniques bring to life each of these principles, showing you how to become a Multiplier too, whether you are a new or an experienced manager. Just imagine what you could accomplish if you could harness all the energy and intelligence around you. Multipliers will show you how.

A Guide to the Project Management Body of Knowledge (PMBOK® Guide)


Project Management Institute - 1995
    This internationally recognized standard provides the essential tools to practice project management and deliver organizational results.

The Rust Programming Language


Steve Klabnik
    This is the undisputed go-to guide to Rust, written by two members of the Rust core team, with feedback and contributions from 42 members of the community. The book assumes that you’ve written code in another programming language but makes no assumptions about which one, meaning the material is accessible and useful to developers from a wide variety of programming backgrounds.Known by the Rust community as "The Book," The Rust Programming Language includes concept chapters, where you’ll learn about a particular aspect of Rust, and project chapters, where you’ll apply what you’ve learned so far to build small programs.The Book opens with a quick hands-on project to introduce the basics then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Next come detailed explanations of Rust-oriented perspectives on topics like pattern matching, iterators, and smart pointers, with concrete examples and exercises--taking you from theory to practice.The Rust Programming Language will show you how to: Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes Use Cargo, Rust’s built-in package manager, to build and maintain your code, including downloading and building dependencies Effectively use Rust’s zero-cost abstractions and employ your ownYou’ll learn to develop reliable code that’s speed and memory efficient, while avoiding the infamous and arcane programming pitfalls common at the systems level. When you need to dive down into lower-level control, this guide will show you how without taking on the customary risk of crashes or security holes and without requiring you to learn the fine points of a fickle toolchain.You’ll also learn how to create command line programs, build single- and multithreaded web servers, and much more.The Rust Programming Language fully embraces Rust’s potential to empower its users. This friendly and approachable guide will help you build not only your knowledge of Rust but also your ability to program with confidence in a wider variety of domains.

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

The Google Story: Inside the Hottest Business, Media and Technology Success of Our Time


David A. Vise - 2005
    The Google Story takes you deep inside the company's wild ride from an idea that struggled for funding in 1998 to a firm that rakes in billions in profits, making Brin and Page the wealthiest young men in America. Based on scrupulous research and extraordinary access to Google, this fast-moving narrative reveals how an unorthodox management style and culture of innovation enabled a search engine to shake up Madison Avenue and Wall Street, scoop up YouTube, and battle Microsoft at every turn. Not afraid of controversy, Google is expanding in Communist China and quietly working on a searchable genetic database, initiatives that test the founders' guiding mantra: DON'T BE EVIL.

Black Box Thinking: Why Some People Never Learn from Their Mistakes - But Some Do


Matthew Syed - 2015
    Every aircraft is equipped with an almost indestructible black box. When there is an accident, the box is opened, the data is analyzed, and the reason for the accident excavated. This ensures that procedures are adapted so that the same mistake doesn’t happen again. With this method, the industry has created an astonishing safety record.For pilots working in a safety-critical industry, getting it wrong can have deadly consequences. But most of us have a relationship with failure that impedes progress, halts innovation, and damages our lives. We don’t acknowledge it or learn from it —though we often think we do.Moving from anthropology to psychology and from history to complexity theory, Matthew Syed explains why even when we think we have 20/20 hindsight, our vision’s still fuzzy. He offers a radical new idea: that the most important determinant of success in any field, whether sports, business, or life, is an acknowledgment of failure and a willingness to engage with it. This is how we learn, progress and excel. This approach explains everything from biological evolution and the efficiency of markets to the success of the Mercedes F1 team and the mindset of David Beckham.Using a cornucopia of interviews, gripping stories, and sharp-edged science, Syed explores the intimate relationship between failure and success, and shows why we need to transport black box thinking into our own lives. If we wish to unleash our potential, we must diagnose and break free of our failures. Part manifesto for change, part intellectual adventure, this groundbreaking book reveals how to do both.

Hit Refresh: The Quest to Rediscover Microsoft's Soul and Imagine a Better Future for Everyone


Satya Nadella - 2017
    It’s about how people, organizations and societies can and must hit refresh—transform—in their persistent quest for new energy, new ideas, relevance and renewal. At the core, it’s about us humans and our unique qualities, like empathy, which will become ever more valuable in a world where the torrent of technology will disrupt like never before. As much a humanist as a technologist, Nadella defines his mission and that of the company he leads as empowering every person and every organization on the planet to achieve more.

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

Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture


David Kushner - 2003
    Together, they ruled big business. They transformed popular culture. And they provoked a national controversy. More than anything, they lived a unique and rollicking American Dream, escaping the broken homes of their youth to produce the most notoriously successful game franchises in history—Doom and Quake— until the games they made tore them apart. This is a story of friendship and betrayal, commerce and artistry—a powerful and compassionate account of what it's like to be young, driven, and wildly creative.

Kill It with Fire: Manage Aging Computer Systems (and Future Proof Modern Ones)


Marianne Bellotti - 2021
    Aging computer systems present complex technical challenges for organizations both large and small, and Kill It with Fire provides sound strategies for spearheading modernization efforts.Kill It with Fire examines aging computer systems, the evolution of technology over time, and how organizations can modernize, maintain, and future-proof their current systems.In playful and engaging prose, Marianne Bellotti uses real-world case studies to illustrate the technical challenges of modernizing complex legacy systems, as well as the organizational challenges of time-intensive maintenance efforts. The book explains how to evaluate existing architecture, create upgrade plans, and handle communication structures. Team exercises and historical analyses of complex computer systems make this a valuable resource for those in both older and newer companies, and will help readers restore or create systems built to evolve as time goes on.