
Hands-On Software Engineering with Python: Move beyond basic programming to design, maintain, and deploy extensible Python systems
Author(s): Brian Allbee (Author)
- Publisher finelybook 出版社: Packt Publishing
- Publication Date 出版日期: December 23, 2025
- Edition 版本: 2nd ed.
- Language 语言: English
- Print length 页数: 628 pages
- ISBN-10: 1835888011
- ISBN-13: 9781835888018
Book Description
Grow your software engineering discipline, incorporating and mastering design, development, testing, and deployment best practices examples in a realistic Python project structure.
Key Features
- Understand what makes Software Engineering a discipline, distinct from basic programming
- Gain practical insight into updating, refactoring, and scaling an existing Python system
- Implement robust testing, CI/CD pipelines, and cloud-ready architecture decisions
Book Description
Software engineering is more than coding; it’s the strategic design and continuous improvement of systems that serve real-world needs. This newly updated second edition of Hands-On Software Engineering with Python expands on its foundational approach to help you grow into a senior or staff-level engineering role.
Fully revised for today’s Python ecosystem, this edition includes updated tooling, practices, and architectural patterns. You’ll explore key changes across five minor Python versions, examine new features like dataclasses and type hinting, and evaluate modern tools such as Poetry, pytest, and GitHub Actions. A new chapter introduces high-performance computing in Python, and the entire development process is enhanced with cloud-readiness in mind.
You’ll follow a complete redesign and refactor of a multi-tier system from the first edition, gaining insight into how software evolves—and what it takes to do that responsibly. From system modeling and SDLC phases to data persistence, testing, and CI/CD automation, each chapter builds your engineering mindset while updating your hands-on skills.
By the end of this book, you’ll have mastered modern Python software engineering practices and be equipped to revise and future-proof complex systems with confidence.
What you will learn
- Distinguish software engineering from general programming
- Break down and apply each phase of the SDLC to Python systems
- Create system models to plan architecture before writing code
- Apply Agile, Scrum, and other modern development methodologies
- Use dataclasses, pydantic, and schemas for robust data modeling
- Set up CI/CD pipelines with GitHub Actions and cloud build tools
- Write and structure unit, integration, and end-to-end tests
- Evaluate and integrate tools like Poetry, pytest, and Docker
Who this book is for
This book is for Python developers with a basic grasp of software development who want to grow into senior or staff-level engineering roles. It’s ideal for professionals looking to deepen their understanding of software architecture, system modeling, testing strategies, and cloud-aware development. Familiarity with core Python programming is required, as the book focuses on applying engineering principles to maintain, extend, and modernize real-world systems.
Table of Contents
- Introduction
- Programming Versus Software Engineering Revisited
- The Software Development Life Cycle
- System Modeling
- Methodologies, Paradigms, and Practices
- Code Style and Related Standards
- Functional Code Standards
- Revisiting Development Tools
- Revising the hms_sys System Project
- Updating Projects and Processes
- Re-Examining Options for Business Objects
- Reviewing Business Object Data Persistence
- Data Persistence and BaseDataObject
- Testing the Business Objects
- CI/CD Options
- API Options
- Assembling the API
- The Final API, Deployed to AWS
About the Author
Brian Allbee has been a developer professionally for two decades. His experience includes web and system applications in several languages, for industries as varied as organization membership services, consumer health-care reporting, advertising, and cloud automation. He fell in love with Python just before 2.6 was available, and has focused his development efforts as much on Python as time and professional obligations allowed since then. He lives and codes in the Denver area.
finelybook
