O'Reilly logo
live online training icon Live Online training

Refactor Your Code and Your Career

Use refactoring, TDD, and mob programming to take your code and career to the next level

Topic: Software Development
Bryan Beecham

Writing software is a complex and ongoing activity. Discover how to take your code, your skills, and your career to the next level. This training talks about the habits, behaviors, and techniques of successful software developers. With so many people entering this field, knowing a programming language alone is not enough. Learn the ways that top software developers excel. Delve into topics like Legacy Code, Unit Testing, DevOps, and Mob Programming. Learn tips to help you advance in your career in software development. Learn how to become a top developer on your team, get noticed, and make a difference at work.

What you'll learn-and how you can apply it

  • How to use simple and evolutionary design to create better software
  • How to recover from mistakes and problems in coding, design, and refactoring
  • How to apply current trends in software development, like DevOps and Mob Programming, to become a more productive team member
  • How to increase the depth of your technique to contribute more value to your team, business, and customers

This training course is for you because...

  • You are an intermediate level software developer looking to improve your skills
  • You want to see real examples of poor code improved by refactoring and writing tests
  • You are a developer looking to write higher quality software to provide more value to your business owners
  • You want to learn more about Agile and XP software development techniques like TDD and Refactoring


  • At least six months of experience working with a programming language (preferably Python)
  • Familiarity with concepts of Object Oriented programming
  • Experience contributing to a software project
  • Understanding of Git (distributed version control system)

Course Set-up

Recommended Preparation

Recommended Follow-up

About your instructor

  • Bryan Beecham is an Agile coach, trainer, developer and international speaker with over 20 years of comprehensive IT experience. His specialties include coaching teams, providing effective training, and facilitating Agile adoption. He is passionate about improving everyone’s ability to design and produce excellent software. He is equally proficient discussing corporate vision with executives, advising companies on Agile transformation, and teaching new techniques and practices to developers. Bryan is passionate about collaboration, extreme programming, discovering creative solutions, and helping teams deliver value to their customers. His training style attracts active audience participation and unlocks creativity and learning with everyone, regardless of their technical background.

    Bryan has created training videos available on TDD, Refactoring and Pair Programming and has spoken about Agile software development at conferences worldwide. He is the creator of Human Refactoring and also creates games to teach technical concepts.


The timeframes are only estimates and may vary according to how the class is progressing

Introduction (5-10 minutes)

Refactoring Strategies (45 minutes)

  • EPIC Change Cycle
  • Code Smells
  • Legacy Code
  • Simple and Evolutionary Design
  • Refactoring Techniques

Q&A (5 minutes)

Break (10 minutes)

Effective Test Driven Development (TDD) (45 minutes)

  • Developer vs Customer Tests
  • Writing Unit/Micro Tests
  • Recovering from Mistakes
  • Simplicity as a Discipline
  • Coding Katas

Q&A (5 minutes)

Break (10 minutes)

Expanding Your Skills and Techniques (30 minutes)

  • GitHub
  • Mob Programming
  • Continuous Integration/ Continuous Delivery
  • DevOps
  • Integration with Business

Q&A (5 minutes)

Summary (15 minutes)

  • Next Steps for Continued Learning
  • Open Source Projects
  • Recommended Follow Up