Gergely Orosz
Writing @Pragmatic_Eng & @EngGuidebook. Advisor @mobile__dev. Uber & Skype alumni. Great tech jobs: https://t.co/MJ0eAtlaS1. Contact: https://t.co/POWftUprCb
20+ Book Recommendations by Gergely Orosz
Effective Software Testing
Mauricio Aniche
Reading the book and it’s a good one so far. The book on the publisher’s site: https://t.co/rIQxJdJLKL Or on Amazon: https://t.co/o93XHgjmOY (As always, the links are not affiliates)
Thinking in Systems
Donella H. Meadows
A good way to go about this - which helps achieve the same result - is systems thinking. Eg via the book “Thinking in Systems: a primer” Companies are systems, governments are systems, ran by people - for the most part - acting rationally and predictably.
The Phoenix Project
Gene Kim
Bill has 90 days to fix a behind-schedule IT project, or his entire department will be outsourced. Fortunately, he has the help of a prospective board member, whose "Three Ways" philosophy might just save the day.@dzamir The Phoenix Project feels to me like a lot of the learnings in The Goal, but in a far more modern (and relevant!) setting. I really like that book (The Phoenix Project) Honestly I was surprised to see The Goal could apply to eg tech as well.
Understanding Distributed Systems, Second Edition
Roberto Vitillo
Learning to build distributed systems is hard, especially if they are large scale. It's not that there is a lack of information out there. You can find academic papers, engineering blogs, and even books on the subject. The problem is that the available information is spread out all over the place, and if you were to put it on a spectrum from theory to practice, you would find a lot of material at the two ends but not much in the middle. That is why I decided to write a book that brings together the core theoretical and practical concepts of distributed systems so that you don't have to spend hours connecting the dots. This book will guide you through the fundamentals of large-scale distributed systems, with just enough details and external references to dive deeper. This is the guide I wished existed when I first started out, based on my experience building large distributed systems that scale to millions of requests per second and billions of devices. If you are a developer working on the backend of web or mobile applications (or would like to be!), this book is for you. When building distributed applications, you need to be familiar with the network stack, data consistency models, scalability and reliability patterns, observability best practices, and much more. Although you can build applications without knowing much of that, you will end up spending hours debugging and re-architecting them, learning hard lessons that you could have acquired in a much faster and less painful way. However, if you have several years of experience designing and building highly available and fault-tolerant applications that scale to millions of users, this book might not be for you. As an expert, you are likely looking for depth rather than breadth, and this book focuses more on the latter since it would be impossible to cover the field otherwise. The second edition is a complete rewrite of the previous edition. Every page of the first edition has been reviewed and where appropriate reworked, with new topics covered for the first time.@PreslavMihaylov @RaVitillo I found it an excellent book as well!
Building a Career in Software
Daniel Heller
Software engineering education has a problem: universities and bootcamps teach aspiring engineers to write code, but they leave graduates to teach themselves the countless supporting tools required to thrive in real software companies. Building a Career in Software is the solution, a comprehensive guide to the essential skills that instructors don't need and professionals never think to teach: landing jobs, choosing teams and projects, asking good questions, running meetings, going on-call, debugging production problems, technical writing, making the most of a mentor, and much more. In over a decade building software at companies such as Apple and Uber, Daniel Heller has mentored and managed tens of engineers from a variety of training backgrounds, and those engineers inspired this book with their hundreds of questions about career issues and day-to-day problems. Designed for either random access or cover-to-cover reading, it offers concise treatments of virtually every non-technical challenge you will face in the first five years of your career—as well as a selection of industry-focused technical topics rarely covered in training. Whatever your education or technical specialty, Building a Career in Software can save you years of trial and error and help you succeed as a real-world software professional. What You Will Learn Discover every important nontechnical facet of professional programming as well as several key technical practices essential to the transition from student to professional Build relationships with your employer Improve your communication, including technical writing, asking good questions, and public speaking Who This Book is For Software engineers either early in their careers or about to transition to the professional world; that is, all graduates of computer science or software engineering university programs and all software engineering boot camp participants.@tanvirraj I don't know exactly! I'm not announcing a date until I'll have a firm one. I write on related topics at https://t.co/SLe64y6YsX A book I can recommend in the meantime is this one, written by my former colleague at Uber: https://t.co/fDx7N182EI
Empowered
Marty Cagan
Great teams are comprised of ordinary people that are empowered and inspired. They are empowered to solve hard problems in ways their customers love yet work for their business. They are inspired with ideas and techniques for quickly evaluating those ideas to discover solutions that work: they are valuable, usable, feasible and viable. This book is about the idea and reality of "achieving extraordinary results from ordinary people". Empowered is the companion to Inspired. It addresses the other half of the problem of building tech productshow to get the absolute best work from your product teams. However, the books message applies much more broadly than just to product teams. Inspired was aimed at product managers. Empowered is aimed at all levels of technology-powered organizations: founders and CEO's, leaders of product, technology and design, and the countless product managers, product designers and engineers that comprise the teams. This book will not just inspire companies to empower their employees but will teach them how. This book will help readers achieve the benefits of truly empowered teams.This is a podcast I'm looking forward to - and currently listening to episode #2 with @shreyas. So many interesting people coming up, from @manikgupta (formerly at Uber!) to @cagan whose book "Empowered" I very much enjoyed. https://t.co/kJufYpSSTT
An Elegant Puzzle
Will Larson
There's a saying that people don't leave companies, they leave managers. Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions of complex management challenges can make the difference between fulfillment and frustration for teams, and, ultimately, the success or failure of companies.Will Larson's An Elegant Puzzle orients around the particular challenges of engineering management--from sizing teams to technical debt to succession planning--and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Will Larson has developed a thoughtful approach to engineering management that leaders of all levels at companies of all sizes can apply. An Elegant Puzzle balances structured principles and human-centric thinking to help any leader create more effective and rewarding organizations for engineers to thrive in."What are resources to learn about tech-first companies?" A few I recommend: Books by @cagan (especially Empowered) Books by @Lethain (especially An Elegant Puzzle) My newsletter covers much of this: https://t.co/yWDhoYrQ1V An example article: https://t.co/EFWxthjD0M
- Vell Executive Search, a Boston-based executive search firm, has released its latest report. Titled "Women Board Members in Tech Companies: Strategies for Building High Performing Diverse Boards," the report offers an in-depth look at the topic and recommendations for creating greater diversity. "We studied 581 public technology companies in the U.S. and Canada with at least $100 million in revenues. What we found in many ways is encouraging: large public tech companies are embracing women on their boards," said Dora Vell, CEO of Vell Executive Search. "But there is still room for growth, especially in smaller companies." According to the report, 411 companies have at least one woman on their board, with 30% having none and 36% only one. Less than 12% have three or more women on their boards, the minimum number required to correlate with greater company performance. "The smaller the company, the fewer women board members," Vell said. "In companies with revenues of $100 million to $500 million, women hold 216 board seats out of a total of 1880. Nearly all companies with revenues over $5 billion have at least one woman board member." The latest Vell report looks at three key company factors: revenues, sectors and insiders. The report also looks at characteristics women directors possess that drive one or more board invites, board leadership roles and membership in the 20 largest companies. Ultimately, the Vell report concludes the tech industry must look at the entire ecosystem—not just the largest companies—to drive greater gender balance on boards. Closing the gap, Vell said, is no longer just a matter of breaking through a glass ceiling, but opening doors for women to gain experience in smaller companies. Vell offers strategic recommendations for overcoming the challenges and helping tech companies diversify their boards. These include drastically extending the succession planning timeline, training high potential executives internally with governance matters, and seeding the ecosystem by assisting smaller companies to identify outstanding diverse talent.
@sebastianspier Sure, feel free to use. As with any fair use, I'm always supportive of linking, fair quoting, using images with attribution: same here. The book is an interesting experiment. I'm more vary of patterns since observing how eg design patterns did not live up to their promise.
Project Hail Mary
Andy Weir
The sole survivor on a desperate, last-chance mission to save both humanity and the earth, Ryland Grace is hurtled into the depths of space when he must conquer an extinction-level threat to our species.@RealGeneKim @scottomoore @cstross Your book recommendations are seriously shaping my reading list!! Project Hail Mary was an excellent one as well. Looking forward to reading this one!
The Culture Map
Erin Meyer
An international business school professor discusses how to accept and understand diversity and work more effectively and sensitively with colleagues and counterparts from different countries with very different cultures in the new global marketplace. 15,000 first printing.I love how this book challenges my thinking, using everyday examples from the workplace - like a performance review, a meeting, or a team with several cultures experiencing miscommunication. Being more “culture-aware” is the first step in working well with others.
- "Venture capitalist Scott Kupor explains what start-up entrepreneurs need to know about venture capital. He answers such questions as who gets a pitch meeting and who doesn't, and which metrics should you stress in a presentation, and which should you ignore. Includes a sample Term Sheet"--
@larsboehnke This book explains it well: https://t.co/3ENrPnqn0c To understand how venture-funded companies work, you need to understand how VC returns work (and how they manage to usually outperform other investment categories, at least the past few decades)
Framework Design Guidelines
Krzysztof Cwalina
Lead developers on the .NET team teach best practices for designing system frameworks and reusable libraries for use with .NET. • • Completely revised for .NET 3.5, with 100 pages of new material • Frameworks and libraries can help developers be much more productive • Provides not just the guidelines themselves, but also many annotations that explain the finer points of using them. • The authors are the architects of the Framework Guidelines, and this book is the definitive guide to them. In the past, reusable API design was the domain of only a handful of large software vendors. There has been a steady increase in interest in API design after the invention and widespread adoption of reusable component technologies: COM, CORBA, and recently .NET. Today, most new software projects contain some reusable APIs. Microsoft is giving the message that careful design of public APIs is crucial to realizing the full potential of software reuse. These .NET Framework Design Guidelines were created in the early days of the development of .NET. They started as a small set of naming and design conventions but have been enhanced, scrutinized, and refined to a point where they are generally considered the canonical way to design frameworks at Microsoft. They carry the experience and cumulative wisdom of thousands of developer hours over three versions of .NET. The authors avoid having the text based purely on some idealistic design philosophies, and have made it an intensely pragmatic book. The book contains many annotations that explain tradeoffs, history, amplify or provide critiquing views on the guidelines. The previous edition of this book has been widely praised, and has sold very well. This edition brings the book up to date with version 3.5 of .NET, and adds about 100 pages of new content.@_cartermp @Carnage4Life Funny enough one of the three books that had the most impact on me was the .NET Framework Design Guidelines, published 13 years ago https://t.co/wBpqY4ZQOU .NET was built and designed exemplary in my view (worked in the MS ecosystem for some time)
Blitzscaling
Reid Hoffman
What entrepreneur or founder doesnt aspire to build the next Amazon, Facebook, or Airbnb? Yet those who actually manage to do so are exceedingly rare. So what separates the startups that get disrupted and disappear from the ones who grow to become global giants? The secret is blitzscaling: a set of techniques for scaling up at a dizzying pace that blows competitors out of the water. The objective of Blitzscaling is not to go from zero to one, but from one to one billion as quickly as possible.@tikhonjelvis @bartekci Have you read this book? It’s the type of scaling I’m referring to that several hypergrowth companies do deliberately, to win time-sensitive markets. Netflix would not have won if they did not scale everything they had so fast. https://t.co/1qWzMsHXIF
The Messy Middle
Scott Belsky
First book of the year: The Messy Middle by @scottbelsky. I recommend this book for anyone pushing through (longer) projects/ventures. Short insights that are applicable to sw projects, engineering careers, managers and entrepreneurs. Progress is never as easy as you hope. https://t.co/NIScn3RTB3
Cracking the Coding Interview, 6th Edition
Gayle Laakmann McDowell
"Which book did you find game-changing for your career?" Cracking the Coding Interview. Deciding that I *will* do what it takes to get into the "big leagues" and master these arbitrary algo coding hoops was easily the best professional and financial decision I made.
The Manager's Path
Camille Fournier
Managing people is difficult wherever you work. But in the tech industry, where management is also a technical discipline, the learning curve can be brutal--especially when there are few tools, texts, and frameworks to help you. In this practical guide, author Camille Fournier (tech lead turned CTO) takes you through each stage in the journey from engineer to technical manager. From mentoring interns to working with senior staff, you'll get actionable advice for approaching various obstacles in your path. This book is ideal whether you're a new manager, a mentor, or a more experienced leader looking for fresh advice. Pick up this book and learn how to become a better manager and leader in your organization. Begin by exploring what you expect from a manager Understand what it takes to be a good mentor, and a good tech lead Learn how to manage individual members while remaining focused on the entire team Understand how to manage yourself and avoid common pitfalls that challenge many leaders Manage multiple teams and learn how to manage managers Learn how to build and bootstrap a unifying culture in teams@Johnie The Manager's Path perhaps? It starts with the Tech Lead part. Instead of books I'd recommend this: https://t.co/irKQAesS1V
Building a Career in Software
Daniel Heller
Software engineering education has a problem: universities and bootcamps teach aspiring engineers to write code, but they leave graduates to teach themselves the countless supporting tools required to thrive in real software companies. Building a Career in Software is the solution, a comprehensive guide to the essential skills that instructors don't need and professionals never think to teach: landing jobs, choosing teams and projects, asking good questions, running meetings, going on-call, debugging production problems, technical writing, making the most of a mentor, and much more. In over a decade building software at companies such as Apple and Uber, Daniel Heller has mentored and managed tens of engineers from a variety of training backgrounds, and those engineers inspired this book with their hundreds of questions about career issues and day-to-day problems. Designed for either random access or cover-to-cover reading, it offers concise treatments of virtually every non-technical challenge you will face in the first five years of your career—as well as a selection of industry-focused technical topics rarely covered in training. Whatever your education or technical specialty, Building a Career in Software can save you years of trial and error and help you succeed as a real-world software professional. What You Will Learn Discover every important nontechnical facet of professional programming as well as several key technical practices essential to the transition from student to professional Build relationships with your employer Improve your communication, including technical writing, asking good questions, and public speaking Who This Book is For Software engineers either early in their careers or about to transition to the professional world; that is, all graduates of computer science or software engineering university programs and all software engineering boot camp participants.@mykolaskrup Yes!! An underrated book. Used to work with Dan!
A Philosophy of Software Design, 2nd Edition
John Ousterhout
@curtiseinsmann One of my favourite books as well! https://t.co/Xa2IvUaVo4
Androids
Chet Haase
The book is Androids by @chethaase (currently reading and I’ enjoying all the details that it touches on).
Working in Public
Nadia Eghbal
People feeling they are entitiled to something which another person does for free, in their free time is bonkers, but it's how it is. The book The Making and Maintenance of Open Source has been an eye-opening read for me. Highly recommended: https://t.co/OBPJKRo2t7
Building Mobile Apps at Scale
Gergely Orosz
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?The books are: The Tech Resume Inside Out (free for anyone without a job) https://t.co/ETJDgAwWpu Building Mobile Apps at Scale https://t.co/9iXKja2hCy Growing as a Mobile Engineer https://t.co/pTomJTgqDM What’s amazing is 98% of this amount came from $8-39 purchases.