A software developer's

Software development is not just programming. This book explores the principles, practices and tools behind 8 important software development topics like code management, testing, development processes, software estimation and others.

Adopt senior-level thinking and get a solid foundation to become a development lead.

Buy on Gumroad

After 20 years in the IT industry, I thought I already knew everything. When I got my hands on this book, I was pleasantly surprised. I have been working as a DevOps for many years and as a python developer for the last few years, but in the book, I found a lot of good advice on how to improve my knowledge in all directions.

Petr wrote a practical and actionable book packed with great examples. The topics are well organized and I've really learned something new in each one. I highly recommend the book to both beginners and people with many years of experience.

- Tomas Pytel, Python Engineer & DevOps @ IBM, PyConSK organizer and Speaker, The PSF Member.

8 Chapters


  • Capturing requirements.
  • Using a backlog to organize requirements.
  • Creating product and technical specifications.
  • Bug management.

Development Environment

  • Running software systems for development.
  • Development tools.
  • The best features of code editors and IDEs.
  • Interactive computing for fast prototyping.

Code Management

  • Version control systems.
  • Working with Git.
  • Branching models and code integration strategies.
  • Continuous integration and deployment.
  • Quality checks and analyzing codebases.

Debugging, Logging, Profiling

  • Debugging principles and tools.
  • Logging.
  • Profiling applications.
  • Monitoring.

Development Processes

  • Agile software development.
  • Scrum and Extreme Programming (XP).
  • Kanban.
  • Shape Up.
  • Considerations for custom processes.


  • Personal and team documentation.
  • Development documentation.
  • Documenting architecture.
  • Creating external documentation and documentation sites.


  • Testing mindset.
  • Test categorization.
  • Test cases and test plans.
  • Automated testing and test automation tools.
  • Performance testing.

Software Estimation

  • Estimation principles.
  • Estimating individual tasks.
  • Estimating size, effort, and schedule for a bulk of work.
  • Group estimation.
  • Working with worst and best case estimates.
  • Monte Carlo Simulation.

Two books, one price

Improve your development environment with Command Line: A Modern Introduction, a complimentary $14 book that comes in the bundle.

Buy Early Access for $25