Fundamentals of Software Engineering

Book description

What do you need to know to be a successful software engineer? Undergraduate curricula and bootcamps may teach the fundamentals of algorithms and writing code, but they rarely cover topics vital to your career advancement. With this practical book, you'll learn the skills you need to succeed and thrive.

Authors Nathaniel Schutta and Dan Vega guide your journey with pointers to deep dives into specific topic areas that will help you understand the skills that really matter as a software engineer.

With this book, you'll:

  • Understand what software engineering is—and why communication and other soft skills matter
  • Learn the basics of software architecture and architectural drivers
  • Use common and proven techniques to read and refactor code bases
  • Understand the importance of testing and how to implement an effective test suite
  • Learn how to reliably and repeatedly deploy software
  • Know how to evaluate and choose the right solution or tool for a given problem

Publisher resources

View/Submit Errata

Product information

  • Title: Fundamentals of Software Engineering
  • Author(s): Nathaniel Schutta, Dan Vega
  • Release date: October 2025
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781098143237