Refactoring Dojo running March 30, 2021
Next course runs March 30, 2021

Refactoring Workout

You want to master evolutionary design, but you never seem to find the time to work at it. You feel pressure at your day job to shove features out the door, you’re constantly fighting fires, and whenever you think about extracting this thing here and cleaning up that thing there, you feel nervous. Will somebody think you’re too slow? Will your manager yell at you?

This is not a great way to work. You need space to breathe and practise and learn.

This course helps you break through your refactoring rut. It combines some inspirational words with some clear theory about design and the chance to roll up your sleeves and just refactor. Sure, you could do this on your own, but this course acts like hiring a personal trainer: once you’ve paid for the session, it’s harder to justify skipping it and just doing whatever feels easy.

Click here to read more about this course

Audience

You want to refactor, but you don’t. You don’t take the time, you don’t know enough to get started, you waste too much energy wondering Am I doing it right?

Structure and Style

The agenda of this course:

  • Welcome, Opening talk, and group discussion (40 minutes)
  • Practice exercise (20 minutes)
  • Break (15 minuts)
  • Theory and group discussion (20 minutes)
  • Practice exercises (40 minutes)
  • Break (15 minutes)
  • Group discussion and/or practice exercises, according to your preference (45 minutes)
  • Closing and recommendations for future personal work (15 minutes)

If you get stuck, I’ll help you get unstuck. You can work on these exercises alone or with others.

You will join a Slack workspace where we can all chat together, ask quick questions, share what we learn, and generally hang out.

Objectives

In this course, you will learn…

  • how to break through the refactoring rut that you and many other programmers have experienced
  • how to perform microsteps and moves accurately and safely
  • a proven system for building confidence, which helps you build both skill and speed, so that you can refactor the code base at your day job without appearing slower than the people around you

Topics

  • The central role of chunking in building refactoring skill
  • Using the Casino Technique to manufacture slack in order to let chunking happen
  • A handful of refactoring practice drills (No, really!)
  • How not to let the lack of tests stand in the way of refactoring where it’s needed
  • And, of course: practice, practice, practice!

Preparation

Participants will need the following to attend this course.

  • A working software development environment in your preferred programming language, including a personal version control system, such as git.
  • Something to write with, and something to write on. I suggest index cards or sticky notes and a notebook.

Remote Training Preparation

Please do the following at least one day before the course is scheduled to start.

  • Upgrade Zoom to the most recent version.
  • Check audio, video, and screen sharing on Zoom.

Delivery Options

Join a Public Course

March 30, 2021 at 09:30-13:00 Atlantic Daylight Time.

Live/Remote Private Course

If your groups needs regular workouts, then I’m available as your private trainer. The workouts are scheduled as a bundle of 1/2-day sessions scheduled as our mutual schedules allow. The workouts are suitable for any size of group. Participants can join and leave as they need, so nobody needs to commit to attending every session. Our training agenda expands to include additional topics of interest and more practice time to the participants, including options such as ensemble programming sessions where I act as facilitator and coach.

You can purchase the Refactoring Workout as three programs:

  • Light. 2 sessions within 1 week. CAD 4000.
  • Standard. 6 sessions over 4-6 weeks. CAD 11000.
  • Deluxe. 12 sessions over 3 months. CAD 20000.

Relevant sales taxes will be added at the point of purchase.

Tell me what you need and we’ll work together to schedule your training program.