17 Years of Test Driven Development

Hi, I’m Jon Reid. I’ve been practicing Test Driven Development (TDD) since 2001 on Apple platforms.

I believe that agility will be elusive until developers adopt the agile technical practices: TDD, refactoring, simple design, pair programming, and continuous integration. In the end, you can only be as agile as your code will let you be!

Jon Reid speaking at NSSpain

Photo courtesy of NSSpain

My mission is to help iOS developers create Clean Code. Any coder can hack out programs that “work” at first. But will you be able to easily modify it over many years, or across multiple projects?

That’s why I write on TDD, unit testing, architecture & design, project structure & language, and tools.

My goal is to equip you with practical approaches that you can put to work. If you’ve ever been frustrated by fragile code, or interested in unit testing but afraid it would slow you down — then this blog is especially for you.

I try to post once every 2 weeks. To make sure you don’t miss my newest posts, you can subscribe via email. It’s quick, easy, and you can unsubscribe at any time.

Jon always seeks out the best ways to ensure high-quality work, and to enthuse others with that desire. I've had the pleasure of watching him speak about TDD and quality coding on numerous occasions, and always learn not only how to advance my craft but how a passionate engineer shares their advances with their community.

Graham Lee Author

My Speaking Appearances

I’ve spoken at the following conferences and meetups:

  • Swift by Northwest 2017
  • Silicon Valley Code Camp 2017
  • CocoaConf Chicago 2017
  • try! Swift Tokyo 2017
  • CocoaConf San Jose 2016
  • #Pragma Conference 2016
  • MCE^3 (2016)
  • CocoaPods Test Jam (2014)
  • CocoaConf San Jose 2014
  • NSSpain 2014
  • iOSDevUK 2014
  • eBay Tech Talk Berlin (2014)
  • Mobile Central Europe (2014)

One of the best

Jon was voted as the best speaker of the first MCE conference. I think many of the developers who saw his presentations at our conferences were convinced they should at least try TDD in their own practice.

He is easily one of the best presenters I have seen at technology conferences. I highly recommend Jon as speaker and teacher! In addition to all the content, experience, teaching skills - Jon also has a great personality that allows him to build relationship with people quickly, making his trainings and presentations more personable and approachable.

Jarek Potiuk MCE conference organizer

My Biography

I became interested in programming during junior high school, at the American School In Japan. But I really caught the bug during my 9th grade year, when I lived next to Earlham College. I entered programs from BASIC Computer Games on their PDP-11/70.

Back at the American School In Japan, the computers upgraded from FORTRAN punch cards sent to some mainframe in downtown Tokyo, to Radio Shack TRS-80’s. My friends and I started writing programs in earnest, such as different implementations of Conway’s Game of Life.

I studied computer science at Purdue University. While back in Japan, I met my wife-to-be who, like me, was a missionary kid. We married and went to Japan for three years as Christian missionaries ourselves. I worked in the computer science department of Tohoku Gakuin University in Sendai, where I extended Knuth’s “literate programming” system to handle Japanese text.

I became interested in various ideas that promised to make programming better, such as code generation and verification. But what really caught my attention was something new called object-oriented programming. Back to school I went, this time for a master’s at UIUC. I learned Smalltalk.

My wife & I started raising children and moved to Silicon Valley, where I’ve worked for various companies. A wonderful book about object-oriented design came out called Design Patterns. Hungry for more, I searched the web and found the very first wiki, c2.com. It was filled with discussions about design patterns, discussion of different styles of wiki use, and another new thing called Extreme Programming. I learned about the Extreme practices, including “test-first programming” — later renamed Test Driven Development.

I began teaching on best practices at my work, wherever that happened to be. I wanted to share with more people, so I started this blog. Speaking engagements followed. I am now available for on-site TDD Workshops for iOS developers.

My Contact Information

You can contact me via email through my contact form, or follow me on Twitter or Facebook.

Banner photo by Rob Sirota Photography