Description
Develop professional software engineering expertise by building real-world Python applications while mastering the principles, tools, and workflows used to design, test, deploy, and maintain modern software systems.
Key Features
- Learn the core principles that separate software engineering from everyday programming.
- Refactor, enhance, and scale existing Python applications using industry best practices.
- Build reliable software with automated testing, CI/CD pipelines, and cloud-ready deployment strategies.
Book Description
Writing code is only one part of software engineering. Creating maintainable, scalable, and reliable software requires thoughtful design, structured development processes, and continuous improvement. The second edition of Hands-On Software Engineering with Python provides a practical roadmap for developers who want to advance beyond coding and grow into senior engineering roles.
Updated to reflect today’s Python ecosystem, this edition introduces the latest language features, modern development tools, and contemporary architectural practices. You’ll explore enhancements introduced across recent Python releases, work with features such as dataclasses and type annotations, and learn how to integrate popular tools including Poetry, pytest, Docker, and GitHub Actions into professional development workflows. The book also includes new material covering high-performance computing and cloud-focused software design.
Using a realistic multi-tier application as a running example, you’ll experience the complete lifecycle of modern software evolution—from analyzing legacy code and redesigning system architecture to implementing new features, improving maintainability, automating testing, and deploying production-ready applications. Along the way, you’ll strengthen your understanding of software architecture, system modeling, development methodologies, data persistence, and continuous integration.
By the end of the book, you’ll have the practical knowledge and confidence to design, modernize, and maintain complex Python applications using proven software engineering practices.
What You Will Learn
- Understand the principles that distinguish software engineering from programming.
- Apply every stage of the Software Development Life Cycle (SDLC) to Python projects.
- Design scalable software architectures using effective system modeling techniques.
- Work with Agile, Scrum, and other modern software development methodologies.
- Build reliable data models using dataclasses, Pydantic, and schema validation.
- Implement automated CI/CD pipelines with GitHub Actions and cloud deployment tools.
- Create comprehensive unit, integration, and end-to-end testing strategies.
- Leverage professional development tools such as Poetry, pytest, Docker, and related technologies.
Who This Book Is For
This book is intended for Python developers who already understand the fundamentals of programming and want to elevate their software engineering skills. It is especially valuable for professionals aiming for senior or staff-level engineering positions, as well as developers interested in software architecture, testing, cloud-native development, and long-term system maintenance. A working knowledge of Python is recommended, as the focus is on applying engineering best practices to real-world software projects.







Reviews
There are no reviews yet.