Os melhores 20 livros sobre Software Engineering

  1. 1Refactoring to Patterns

    Refactoring to Patterns

    Joshua Kerievsky

    Sobre o que é Refactoring to Patterns?

    Refactoring to Patterns by Joshua Kerievsky is a practical guide that demonstrates how to apply design patterns to refactor existing code. It provides real-world examples and step-by-step instructions to help software developers improve the design, maintainability, and extensibility of their codebase. By combining the concepts of refactoring and design patterns, this book offers valuable insights for creating high-quality software.

    Quem deveria ler Refactoring to Patterns?

    • Software developers and engineers who want to improve their code design and architecture

    • Professionals looking to understand how to apply design patterns in a practical and incremental manner

    • Individuals interested in learning about refactoring techniques and their application to real-world software projects

  2. Sobre o que é Clean Architecture?

    Clean Architecture by Robert C. Martin is a must-read for software developers and architects. It delves into the principles and practices of creating clean, maintainable, and scalable software architecture. With real-world examples and practical advice, the book guides readers in designing systems that are flexible and easy to understand, making it an invaluable resource for anyone involved in software development.

    Quem deveria ler Clean Architecture?

    • Software developers and architects looking to improve their understanding of clean and maintainable architecture

    • Tech leads and engineering managers seeking to create scalable and sustainable software systems

    • Professionals interested in learning best practices for designing and organizing software projects

  3. 3Joel on Software

    Joel on Software

    Joel Spolsky

    Sobre o que é Joel on Software?

    Joel on Software is a collection of insightful essays by Joel Spolsky, a renowned software developer and co-founder of Trello and Stack Overflow. Through real-world examples and practical advice, Spolsky offers valuable insights into the art of software development, project management, and the tech industry. Whether you're a seasoned developer or a newcomer to the field, this book provides thought-provoking perspectives and actionable tips to help you navigate the world of software.

    Quem deveria ler Joel on Software?

    • Developers and software engineers looking to improve their skills and knowledge

    • Tech startup founders and entrepreneurs seeking insights into building successful software companies

    • Managers and executives in the technology industry who want to understand the challenges and best practices of software development

  4. Sobre o que é Building Microservices?

    Building Microservices by Sam Newman is a comprehensive guide that explores the principles and best practices for designing, building, and deploying microservice-based applications. It covers topics such as communication between services, data management, testing, and monitoring, providing valuable insights for developers and architects looking to embrace this architectural style.

    Quem deveria ler Building Microservices?

    • Software developers and architects seeking to understand microservices
    • Technology leaders looking to implement microservice architectures in their organizations
    • Teams working on transitioning from monolithic to microservice-based systems
  5. Sobre o que é The Art of UNIX Programming?

    The Art of UNIX Programming by Eric S. Raymond delves into the principles and practices of the UNIX philosophy and how they influence software design. It offers valuable insights for programmers and developers on creating elegant, efficient, and maintainable code. Through real-world examples and historical context, the book showcases the artistry and craftsmanship behind UNIX programming.

    Quem deveria ler The Art of UNIX Programming?

    • Software developers and programmers who want to deepen their understanding of UNIX

    • Professionals looking to improve their coding skills and learn from UNIX design principles

    • Individuals interested in the history and philosophy behind UNIX and its impact on modern computing

  6. Sobre o que é The Art of Unit Testing?

    The Art of Unit Testing by Roy Osherove provides a comprehensive guide to writing effective unit tests. It covers topics such as test-driven development, test doubles, and best practices for writing maintainable and reliable unit tests. This book is a valuable resource for developers looking to improve their testing skills and create high-quality software.

    Quem deveria ler The Art of Unit Testing?

    • Software developers who want to improve their unit testing skills

    • Quality assurance professionals who want to understand the principles of unit testing

    • Managers and team leads who want to promote a culture of testing within their teams

  7. Sobre o que é Pro Git?

    Pro Git by Scott Chacon is a comprehensive guide to the Git version control system. It covers everything from the basics of Git to advanced topics such as branching and merging, rebasing, and more. Whether you're a beginner or an experienced developer, this book will help you understand and master Git.

    Quem deveria ler Pro Git?

    • Developers and programmers who want to improve their understanding and usage of Git

    • Individuals and teams working on software projects that require version control

    • Professionals looking to streamline their workflow and collaboration with others using Git

  8. Sobre o que é Growing Object-Oriented Software, Guided by Tests?

    Growing Object-Oriented Software, Guided by Tests (2009) by Steve Freeman and Nat Pryce is a comprehensive guide to test-driven development (TDD) and its application in building robust, maintainable software. Through practical examples and insightful explanations, the book demonstrates how TDD can drive the design and development of object-oriented systems, leading to higher quality code and faster delivery.

    Quem deveria ler Growing Object-Oriented Software, Guided by Tests?

    • Software developers looking to improve their object-oriented programming skills
    • Teams interested in incorporating test-driven development (TDD) into their workflow
    • Professionals who want to understand how to grow and evolve software systems through effective testing
  9. Sobre o que é 97 Things Every Programmer Should Know?

    97 Things Every Programmer Should Know is a collection of essays from experienced programmers and thought leaders in the software industry. It covers a wide range of topics including code design, testing, teamwork, and career development. Each essay offers practical advice and insights, making it a valuable resource for programmers at all levels.

    Quem deveria ler 97 Things Every Programmer Should Know?

    • Programmers who want to improve their skills and expand their knowledge

    • Software developers looking for practical tips and best practices

    • Those who want to stay updated with the latest trends and techniques in programming

  10. 10UML Distilled

    UML Distilled

    Martin Fowler

    Sobre o que é UML Distilled?

    UML Distilled by Martin Fowler is a concise guide to the Unified Modeling Language (UML). It provides a clear explanation of UML concepts and diagrams, making it an essential resource for software developers and designers. The book focuses on the practical application of UML in real-world projects, making it a valuable reference for anyone involved in software development.

    Quem deveria ler UML Distilled?

    • Software developers and architects looking to learn or refresh their understanding of UML

    • Professionals who need to communicate and document software designs using UML diagrams

    • Students studying software engineering or computer science

  11. Sobre o que é Applying UML and Patterns?

    Applying UML and Patterns by Craig Larman is a comprehensive guide to object-oriented analysis and design using UML (Unified Modeling Language) and design patterns. It provides practical examples and real-world case studies to help software developers and architects understand how to apply these techniques in their own projects. This book is a valuable resource for anyone looking to improve their software design skills.

    Quem deveria ler Applying UML and Patterns?

    • Software developers and engineers looking to improve their understanding and application of UML and design patterns

    • Students studying computer science, software engineering, or related fields

    • Professionals seeking to enhance their object-oriented analysis and design skills

  12. Sobre o que é Designing Data-Intensive Applications?

    Designing Data-Intensive Applications by Martin Kleppmann delves into the world of data systems and explores the principles, techniques, and best practices for building scalable and reliable applications. From databases and data storage to data processing and messaging systems, this book provides a comprehensive overview of the challenges and trade-offs involved in designing data-intensive applications. Whether you're a software engineer, data architect, or anyone working with data, this book offers valuable insights to help you make informed decisions and tackle real-world problems.

    Quem deveria ler Designing Data-Intensive Applications?

    • Software engineers and architects who want to deepen their understanding of data-intensive applications

    • Developers who are building or maintaining systems that handle large volumes of data

    • Technical leaders who need to make informed decisions about technology choices for their projects

  13. 13Coders at Work

    Coders at Work

    Peter Seibel

    Sobre o que é Coders at Work?

    Coders at Work (2009) by Peter Seibel features in-depth interviews with fifteen notable computer programmers, offering insights into their career paths, code writing philosophies, and thoughts on the future of software development. The book provides a valuable glimpse into the minds of individuals who have made significant contributions to the world of coding.

    Quem deveria ler Coders at Work?

    • Anyone aspiring to become a better software developer or engineer
    • Experienced coders looking for insights and wisdom from industry veterans
    • Individuals curious about the different approaches and mindsets of successful programmers
  14. Sobre o que é Hackers & Painters?

    Hackers & Painters explores the world of computer programming and its impact on our society. Paul Graham discusses the similarities between hackers and painters, highlighting the creative and problem-solving aspects of both fields. He also delves into the history of programming, the importance of simplicity in design, and the potential for technology to shape our future.

    Quem deveria ler Hackers & Painters?

    • Individuals with an interest in technology and programming

    • Entrepreneurs looking to understand the intersection of art and technology

    • Creative thinkers who want to explore unconventional approaches to problem-solving

  15. Sobre o que é Advanced Programming in the UNIX Environment?

    Advanced Programming in the UNIX Environment by W. Richard Stevens is a comprehensive guide for experienced programmers looking to deepen their understanding of UNIX programming. It covers topics such as file I/O, system calls, processes, signals, and interprocess communication, providing detailed explanations and code examples. This book is a valuable resource for anyone seeking to master UNIX system programming.

    Quem deveria ler Advanced Programming in the UNIX Environment?

    • Experienced programmers who want to deepen their understanding of UNIX systems

    • Software engineers working on UNIX-based applications

    • System administrators looking to improve their scripting and automation skills

  16. 16Release It!

    Release It!

    Michael T. Nygard

    Sobre o que é Release It!?

    Release It! by Michael T. Nygard is a must-read for anyone working in software development or operations. It offers valuable insights and practical advice on designing and deploying resilient, scalable, and maintainable software systems. Through real-world examples and case studies, Nygard highlights common pitfalls and best practices, ultimately guiding readers towards building more robust and reliable applications.

    Quem deveria ler Release It!?

    • Software developers who want to create resilient and reliable systems
    • DevOps engineers striving to improve the stability of their deployments
    • Technical leaders looking to minimize the impact of software failures on their business
  17. Sobre o que é The Cathedral & the Bazaar?

    The Cathedral & the Bazaar (1999) by Eric S. Raymond explores the world of open-source software development. Through insightful essays and case studies, Raymond discusses the advantages of the decentralized, collaborative approach of the bazaar compared to the traditional, closed model of the cathedral. This book offers valuable lessons for anyone interested in the power of community-driven innovation.

    Quem deveria ler The Cathedral & the Bazaar?

    • Individuals with an interest in open source software
    • Tech enthusiasts who want to understand the collaborative nature of software development
    • Business professionals looking to leverage the principles of open source for their organizations
  18. 18Effective Modern C++

    Sobre o que é Effective Modern C++?

    Effective Modern C++ by Scott Meyers is a comprehensive guide to using C++11 and C++14 effectively. It covers a wide range of topics including type deduction, smart pointers, move semantics, and concurrency support. The book provides practical advice and real-world examples to help C++ developers write cleaner, safer, and more efficient code in the modern C++ era.

    Quem deveria ler Effective Modern C++?

    • Software developers and engineers looking to upgrade their C++ skills to the modern standards

    • Professionals who want to write efficient, maintainable, and portable code using C++11 and C++14

    • Readers who appreciate practical examples and real-world insights to improve their programming practices

  19. 19Software Requirements

    Sobre o que é Software Requirements?

    Software Requirements by Karl Wiegers is a comprehensive guide to the essential practices of software requirements engineering. It provides practical advice on how to elicit, analyze, specify, validate, and manage software requirements. This book is a valuable resource for software engineers, business analysts, and project managers who want to improve their requirements engineering skills and deliver successful software projects.

    Quem deveria ler Software Requirements?

    • Software developers and engineers looking to improve their understanding of requirements engineering

    • Business analysts seeking to enhance their skills in eliciting and documenting software requirements

    • Project managers aiming to streamline the requirements gathering and management process

  20. Sobre o que é Game Programming Patterns?

    Game Programming Patterns by Robert Nystrom is a must-read for game developers. It offers insightful explanations and practical examples of common design patterns used in game development. Whether you're a beginner or an experienced programmer, this book will help you improve your code organization and create more efficient and flexible game systems.

    Quem deveria ler Game Programming Patterns?

    • Game developers who want to improve their code architecture and design

    • Programmers looking to learn best practices for game development

    • Students or professionals interested in understanding common patterns used in game programming

Tópicos relacionados

Perguntas frequentes sobre Software Engineering

Escolher um único livro sobre um tema sempre é difícil, mas muitas pessoas consideram Refactoring to Patterns a leitura definitiva sobre Software Engineering.
A curadoria da Blinkist selecionou os seguintes:
  • Refactoring to Patterns de Joshua Kerievsky
  • Joel on Software de Joel Spolsky
  • Building Microservices de Sam Newman
  • The Art of UNIX Programming de Eric S. Raymond
  • The Art of Unit Testing de Roy Osherove
  • Growing Object-Oriented Software, Guided by Tests de Steve Freeman, Nat Pryce
  • 97 Things Every Programmer Should Know de Kevlin Henney
  • UML Distilled de Martin Fowler
Quando o assunto é Software Engineering, estes autores se destacam como alguns dos mais influentes:
  • Joshua Kerievsky
  • Joel Spolsky
  • Sam Newman
  • Eric S. Raymond