Software Engineering at Google
Title | Software Engineering at Google PDF eBook |
Author | Titus Winters |
Publisher | O'Reilly Media |
Pages | 602 |
Release | 2020-02-28 |
Genre | Computers |
ISBN | 1492082767 |
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world’s leading practitioners construct and maintain software. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
The Opposable Mind
Title | The Opposable Mind PDF eBook |
Author | Roger L. Martin |
Publisher | Harvard Business Press |
Pages | 225 |
Release | 2009-07-07 |
Genre | Business & Economics |
ISBN | 1422148106 |
If you want to be as successful as Jack Welch, Larry Bossidy, or Michael Dell, read their autobiographical advice books, right? Wrong, says Roger Martin in The Opposable Mind. Though following best practice can help in some ways, it also poses a danger. By emulating what a great leader did in a particular situation, you'll likely be terribly disappointed with your own results. Why? Your situation is different. Instead of focusing on what exceptional leaders do, we need to understand and emulate how they think. Successful businesspeople engage in what Martin calls integrative thinking, creatively resolving the tension in opposing models by forming entirely new and superior ones. Drawing on stories of leaders as diverse as AG Lafley of Procter & Gamble, Meg Whitman of eBay, Victoria Hale of the Institute for One World Health, and Nandan Nilekani of Infosys, Martin shows how integrative thinkers are relentlessly diagnosing and synthesizing by asking probing questions including: What are the causal relationships at work here? and What are the implied trade-offs? Martin also presents a model for strengthening your integrative thinking skills by drawing on different kinds of knowledge including conceptual and experiential knowledge. Integrative thinking can be learned, and The Opposable Mind helps you master this vital skill.
Managing Humans
Title | Managing Humans PDF eBook |
Author | Michael Lopp |
Publisher | Apress |
Pages | 198 |
Release | 2007-10-18 |
Genre | Computers |
ISBN | 1430202718 |
Managing Humans is a selection of the best essays from Michael Lopp's popular website Rands in Repose(www.randsinrepose.com). Lopp is one of the most sought-after IT managers in Silicon Valley, and draws on his experiences at Apple, Netscape, Symantec, and Borland. This book reveals a variety of different approaches for creating innovative, happy development teams. It covers handling conflict, managing wildly differing personality types, infusing innovation into insane product schedules, and figuring out how to build lasting and useful engineering culture. The essays are biting, hilarious, and always informative.
Designing Data-Intensive Applications
Title | Designing Data-Intensive Applications PDF eBook |
Author | Martin Kleppmann |
Publisher | "O'Reilly Media, Inc." |
Pages | 658 |
Release | 2017-03-16 |
Genre | Computers |
ISBN | 1491903104 |
Data is at the center of many challenges in system design today. 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
Building Mobile Apps at Scale
Title | Building Mobile Apps at Scale PDF eBook |
Author | Gergely Orosz |
Publisher | |
Pages | 238 |
Release | 2021-04-06 |
Genre | |
ISBN | 9781638778868 |
While there is a lot of appreciation for backend and distributed systems challenges, there tends to be less empathy for why mobile development is hard when done at scale. This book collects challenges engineers face when building iOS and Android apps at scale, and common ways to tackle these. By scale, we mean having numbers of users in the millions and being built by large engineering teams. For mobile engineers, this book is a blueprint for modern app engineering approaches. For non-mobile engineers and managers, it is a resource with which to build empathy and appreciation for the complexity of world-class mobile engineering. The book covers iOS and Android mobile app challenges on these dimensions: Challenges due to the unique nature of mobile applications compared to the web, and to the backend. App complexity challenges. How do you deal with increasingly complicated navigation patterns? What about non-deterministic event combinations? How do you localize across several languages, and how do you scale your automated and manual tests? Challenges due to large engineering teams. The larger the mobile team, the more challenging it becomes to ensure a consistent architecture. If your company builds multiple apps, how do you balance not rewriting everything from scratch while moving at a fast pace, over waiting on "centralized" teams? Cross-platform approaches. The tooling to build mobile apps keeps changing. New languages, frameworks, and approaches that all promise to address the pain points of mobile engineering keep appearing. But which approach should you choose? Flutter, React Native, Cordova? Native apps? Reuse business logic written in Kotlin, C#, C++ or other languages? What engineering approaches do "world-class" mobile engineering teams choose in non-functional aspects like code quality, compliance, privacy, compliance, or with experimentation, performance, or app size?
Why Startups Fail
Title | Why Startups Fail PDF eBook |
Author | Tom Eisenmann |
Publisher | Currency |
Pages | 370 |
Release | 2021-03-30 |
Genre | Business & Economics |
ISBN | 0593137027 |
If you want your startup to succeed, you need to understand why startups fail. “Whether you’re a first-time founder or looking to bring innovation into a corporate environment, Why Startups Fail is essential reading.”—Eric Ries, founder and CEO, LTSE, and New York Times bestselling author of The Lean Startup and The Startup Way Why do startups fail? That question caught Harvard Business School professor Tom Eisenmann by surprise when he realized he couldn’t answer it. So he launched a multiyear research project to find out. In Why Startups Fail, Eisenmann reveals his findings: six distinct patterns that account for the vast majority of startup failures. • Bad Bedfellows. Startup success is thought to rest largely on the founder’s talents and instincts. But the wrong team, investors, or partners can sink a venture just as quickly. • False Starts. In following the oft-cited advice to “fail fast” and to “launch before you’re ready,” founders risk wasting time and capital on the wrong solutions. • False Promises. Success with early adopters can be misleading and give founders unwarranted confidence to expand. • Speed Traps. Despite the pressure to “get big fast,” hypergrowth can spell disaster for even the most promising ventures. • Help Wanted. Rapidly scaling startups need lots of capital and talent, but they can make mistakes that leave them suddenly in short supply of both. • Cascading Miracles. Silicon Valley exhorts entrepreneurs to dream big. But the bigger the vision, the more things that can go wrong. Drawing on fascinating stories of ventures that failed to fulfill their early promise—from a home-furnishings retailer to a concierge dog-walking service, from a dating app to the inventor of a sophisticated social robot, from a fashion brand to a startup deploying a vast network of charging stations for electric vehicles—Eisenmann offers frameworks for detecting when a venture is vulnerable to these patterns, along with a wealth of strategies and tactics for avoiding them. A must-read for founders at any stage of their entrepreneurial journey, Why Startups Fail is not merely a guide to preventing failure but also a roadmap charting the path to startup success.
Succeeding with Agile
Title | Succeeding with Agile PDF eBook |
Author | Mike Cohn |
Publisher | Pearson Education |
Pages | 504 |
Release | 2010 |
Genre | Business & Economics |
ISBN | 0321579364 |
Proven, 100% Practical Guidance for Making Scrum and Agile Work in Any Organization This is the definitive, realistic, actionable guide to starting fast with Scrum and agile-and then succeeding over the long haul. Leading agile consultant and practitioner Mike Cohn presents detailed recommendations, powerful tips, and real-world case studies drawn from his unparalleled experience helping hundreds of software organizations make Scrum and agile work. Succeeding with Agile is for pragmatic software professionals who want real answers to the most difficult challenges they face in implementing Scrum. Cohn covers every facet of the transition: getting started, helping individuals transition to new roles, structuring teams, scaling up, working with a distributed team, and finally, implementing effective metrics and continuous improvement. Throughout, Cohn presents "Things to Try Now" sections based on his most successful advice. Complementary "Objection" sections reproduce typical conversations with those resisting change and offer practical guidance for addressing their concerns. Coverage includes Practical ways to get started immediately-and "get good" fast Overcoming individual resistance to the changes Scrum requires Staffing Scrum projects and building effective teams Establishing "improvement communities" of people who are passionate about driving change Choosing which agile technical practices to use or experiment with Leading self-organizing teams Making the most of Scrum sprints, planning, and quality techniques Scaling Scrum to distributed, multiteam projects Using Scrum on projects with complex sequential processes or challenging compliance and governance requirements Understanding Scrum's impact on HR, facilities, and project management Whether you've completed a few sprints or multiple agile projects and whatever your role-manager, developer, coach, ScrumMaster, product owner, analyst, team lead, or project lead-this book will help you succeed with your very next project. Then, it will help you go much further: It will help you transform your entire development organization.