Build strong software engineering skills by applying proven design, development, testing, and deployment best practices through hands-on Python projects that reflect real-world production workflows.
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 DescriptionSoftware 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 forThis 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.
Les mer
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
Les mer
Produktdetaljer
ISBN
9781835888001
Publisert
2025-12-23
Utgave
2. utgave
Utgiver
Packt Publishing Limited
Høyde
235 mm
Bredde
191 mm
Aldersnivå
01, P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
628
Forfatter