Enter the Coding Dojo: TDD for fun and profit!
Tell me if this sounds famillar. You're working on a new feature -- either a theme or module function -- and your workflow goes something like this:
- Navigate to the admin and delete some nodes: click, click, click, click, submit, click, click, click
- Create a new content node: click, click, click, fill out form, submit, two full spins in the chair, scroll to the error message, read, correct form, re-submit, finger drumming, curse
- Edit code: click, click, type, type, type, swear at faulty post-save hook logic, click, save file
- Repeat.
As a developer, your primary job is to automate manual processes. Yet why do you use a manual process for testing that the code works... or even runs at all? All that context switching -- keyboard and source code to mouse and GUI -- robs of productivity, time, and focus. What if there was a way to make a robot test your work automatically?
Beyond the benefit of saving you time, Test-Driven Development (TDD) is also a great method for improving your overall programming ability, one that I've used for years to teach programming to students in user groups, community college, and even at a developer bootcamp like The Iron Yard.
In this workshop, I'll teach you a tried-and-true method for improving your programming skill through intentional practice and disciplined constraints, an exercise method that you can take back to your own city and teach to and participate with other programmers, and a programming technique that you can use to break out of the click-submit-wait-repeat cycle of manual testing.
Attendees should come away from this talk understanding the benefit of programming practice, a practical method for performing practice themselves, and the structure for a group activity they can take back to their local communities.