10 Books Every Senior Engineer Should Read – Semaphore

Engineers are natural readers. They really enjoy learning about new things, and books are the perfect medium to cover complex ideas in depth.

at stoplight, we’ve chosen our favorite books, books that have profoundly influenced our company’s engineering culture. this list contains a mix of classic and timeless texts and a good number of game-changing modern publications, aimed at senior engineers and developers. But you don’t have to be a senior engineer to benefit from the books on this list, anyone with an interest in software development will enrich their skill set by reading them.

You are reading: Books every software engineer should read

We hope you enjoy reading this list as much as we enjoyed making it.

extreme programming explained: embracing change (2nd edition) by kent beck

The 1990s were a decisive time for software development. The dot-com boom created enormous pressure to launch early and often. Productivity has never been more critical to success in the IT industry.

a paradigm shift was needed, and kent beck delivered on it in 1999. extreme programming explained, introduced, and perfected all the agile practices we take for granted today: pair programming, automated testing, build-based development… 10-minute continuous integration tests and build. :

“…I bought an ordinary kitchen timer and decreed that no design meeting could last more than 10 minutes. I don’t think the timer was ever used, but its visible presence reminded everyone to be aware of when a discussion had outlived its usefulness and had become a process to avoid having to write code to get the answer safely.”

the second edition refines the original idea: keep up, adapt and change. there is no shame in changing. on the contrary, being prepared for change is a good engineering habit.

kent doesn’t stop at the technical details. discusses the social aspects of development: interaction with teammates and management, the work ethic developers should follow, and how a flat hierarchy helps everyone work toward a common goal. this book has everything you need to make a sustainable xp team.

Why should you read this?: This is a book that will challenge your vision of software development in less than 200 pages.

Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation by jez humble and david farley

In this book, David Farley and Jez Humble take the Continuous Integration principles introduced in Extreme Programming Explained to the next level. continuous delivery teaches you how to make launch and deployment as trivial as pressing a button.

jez and david’s message may seem contradictory at first glance: “if it hurts, do it more often and speed up the pain”. it’s tempting to put off the hard parts of the development cycle, but doing so won’t make them any easier. if integration is painful, do it every time someone signs up. if the test is painful, do it continuously, rather than last. Carry the pain forward: Do the hard things first, and you’ll be forced to face challenges and find solutions.

The book goes into great detail about creating, structuring, and maintaining a delivery pipeline, including the types of tests to use, how to handle the data, and how to evolve it as the project grows. While some of the tools used in the book are a bit dated, its ideas and principles are timeless. this is the ultimate developer guide that will make you stop worrying about implementations.

See also  Best LSAT Prep Books 2022: Quick Review & Comparison

why you should read it: Any team that hasn’t read this book hasn’t reached its full potential yet.

remote: office not required by jason fried and david heinemeier hansson

If the pandemic has shown anything, it is that remote work is not the future, it is the present. we have been forced to work from our homes with little time to adjust. in remote, jason fried and david heinemeier hansson show how basecamp became a 100% remote company.

The book sets out to debunk common excuses against remote work: face-to-face communication is not irreplaceable, and people can (and should) trust it. be. productive at home. the authors argue that offices, so-called “interruption factories,” are never where the real work gets done.

See Also: 72 Christian Books Like the Magic Tree House Series – Big Books, Little Ears

Why should you read this?: As a manager, this book shows you what a successful remote team looks like. As a worker, you enter into practices that help us collaborate remotely while staying away from the pitfalls that home offices can present.

the mythical man-month of frederick p. Brooks Jr.

“how do you get a year late on a big project? one day at a time.”

You’ve probably read dozens of books on how to be a successful engineer, but how many bug shops have you read? the month of the mythical man shows the dangers that all complex projects must face.

The title “man-month” represents the misconception that you can speed up a project by adding people to the team. As manager of IBM’s OS/360 project, the author (Turing Award winner Frederick P. Brooks) observed that other people caused the project to be further delayed. brooke’s law states that “adding manpower to a late software project makes it late.”

While you can dig a ditch faster by adding more arms to the task, some tasks (such as software projects) don’t benefit from adding more people to the mix: “pregnancy with a child takes nine months, never mind how many women are assigned. many software tasks have this feature due to the sequential nature of debugging. “essentially, the more complex the task, the more difficult it is to break it down into discrete, parallelizable tasks.

In this book, the author sets out to explain why software development is more like pregnancy than digging a ditch. His observations and insights into human nature offer invaluable lessons on managing the life cycle of a complex project, managing communication in a team, planning and estimating work schedules.

Why should you read this?: It’s been nearly 50 years since this book was published, and we’re still making the same mistakes managing software projects. all engineers should read this warning at least once.

getting real

The mythical man-month showed us how complex project management is. For basecamp folks, prevention is better than cure. getting real is a free ebook on how to simplify projects.

See also  Catherine Ryan Hyde - Book Series In Order

Behind rallying cries like “build less, build simple”, “be minimalist” and “build the tool that suits your needs”, this book pushes us to skip many of the design stages and start building as soon as possible. possible.

“how do you handle [feature requests]? you don’t just read them and throw them away… the ones that are important will keep showing up anyway.”

This is an e-book that reflects the basecamp philosophy of building and working. it emphasizes building unified teams, breaking down silos, trusting people to work independently, and avoiding meetings. it’s a set of rules that has worked for basecamp and may work for you. but even if not, it’s worth learning the core values ​​behind these principles.

Why should I read this?: This is a succinct, no-nonsense book about building lean products with a remote team in the most straightforward way. best of all, it’s free!

data-intensive app design by martin kleppmann

Data is the lifeblood of all applications. knowing how to design and manage large data sets is a vital skill for any senior engineer, who sooner or later will be tasked with scaling a system. Martin Klepmann’s Designing Data-Intensive Applications is a definitive guide covering everything from data models, sql and nosql databases, message queuing, distributed systems, and big data.

The book is mainly based on theory; you won’t find any code or demos. at the same time, it is a practical text that examines the advantages and disadvantages of various types of data processing technologies.

Why you should read this: If you develop applications that consume or process data of any kind, this book will help you weigh the pros and cons of available technology.

site reliability engineering

Software development has a hidden side that most technical books ignore: how to keep a system online once built. site reliability engineering, a collection of essays from google employees, addresses this omission.

See Also: Michael J. Sullivan – Book Series In Order

service reliability engineers (sres) are the unsung heroes behind every successful product. sres are highly specialized engineers tasked with keeping systems alive, finding problems before they happen, doing post-mortems when something terrible inevitably happens, and handling all the legwork necessary to make sure it never happens again. they have the almost impossible task of scaling platforms while keeping them reliable.

sre is one of the paths available to a senior engineer, but even if that’s not your job description, the skills you can learn in this book will help you build stronger products. if he’s ever been on call or organized a watch rotation, he knows how difficult and demanding it is. this book provides advice that leads to reliable services and sustainable workloads over time.

Why should you read this?: This is an invaluable primer on how the world’s largest software company manages risk and keeps systems running.

the phoenix project by gene kim, kevin behr and george spafford

the phoenix project is different from all the other books on the list. is the story of a fictional company called “Unlimited Parts” and its journey towards agile practices.

See also  Testimonials - Kelsay Books

The book begins with a crisis. CEO resigns after stock price crashes; the company is losing money and falling behind its competitors. In the midst of this crisis, Bill Palmer (the main character) is tasked with taking on a project that will make everything right again: the up-and-coming “Phoenix Program.”

For a change of pace from more technical reading, this book is excellent. Gene Kim, Kevin Behr and George Spafford have crafted an exciting story with engaging dialogue and a satisfying conclusion. this is a business novel with a warning against heroic figures in business.

Why should I read this?: This is a modern IT fable that should resonate with any seasoned engineer. if you are tired of reading dry technical books, this is a perfect choice.

building microservices: detailed systems design by sam newman

cloud-native applications have made learning about microservices mandatory. new projects are beginning to use microservices extensively and it is common to see monoliths break up into distributed systems. building microservices by sam newman of thoughtworks will show you how to do both.

Packed with concrete examples of organizations using microservices to scale their operations, this book discusses how to design, build, deploy, secure, and monitor a distributed system.

Why should you read this?: This is a comprehensive guide to microservices and distributed systems that moves away from the buzzwords and gets to the heart of the matter.

modern software engineering: doing what works to build better software faster by dave farley

In the software industry, software engineering and coding are used interchangeably. the reality is that engineering is much more than code. modern software engineering tries to recover the original meaning of the term: “the application of an empirical and scientific approach to find economical and efficient solutions to practical software problems.”

after challenging academic theories, this book sets out to find a rational, practical and sustainable framework for software development. The author adopts an iterative approach based on experimentation, reminiscent of Fred Brooks’ proposal to “throw away a prototype.” it’s an attitude that isn’t as common in software development as it is in other engineering fields, which makes this book all the more valuable.

david shows how to make design decisions using concrete examples. The book covers essential aspects of the craft, such as abstraction, separation of concerns, and modularity to manage complexity. complements continuous delivery, rather than trying to replace it.

Why should you read this?: This is a book you wish existed when you started working in software development.

conclusion

All major book lists reflect the values ​​and experiences of their authors. Invariably, throughout our careers we come across books that profoundly affect the way we think and work. these are the ones who did it for us at semaphore.

🚀did you know we are hiring? We’re looking for engineers of all ranks to join the global semaphore team. More details on how to apply here.

See Also: Why Were Some Books Left Out of the Bible? – The Good Book Blog – Biola University

Leave a Reply

Your email address will not be published. Required fields are marked *