Two of our own were recently on the .NET Rocks! podcast with Carl Franklin and Richard Campbell. Did you catch the episode?
.NET Rocks! is a weekly talk show for anyone interested in programming on the Microsoft .NET platform. It was the first and most widely listened to podcast for .NET developers. The shows range from introductory information to hardcore geekiness.
John and Clayton were guests on the show to discuss Test Driven Development (TDD). So, why is TDD so important? As more businesses and industries rely on software solutions, it’s increasingly important that those solutions be robust and error-free. The cheaper and more consistent they are, the better. Applications developed with TDD in mind are inherently more testable, easier to maintain, and demonstrate a certain level of correctness not easily achieved otherwise.
It’s possible that you’ve had some exposure to unit tests in your career. It’s highly likely that you’ve written a test or two. Many developers, unfortunately, haven’t had the opportunity to experience the joys of Test-Driven Development.
John’s story on TDD
I was first introduced to TDD about five years ago. I was interviewing for a lead developer position for a small startup. During the interview process, the CTO mentioned that the development team was practicing TDD. I informed him that I didn’t have any practical TDD experience, but that I was sure I could adapt.
In all honesty, I was bit nervous. Up to that point, I had never even written a single unit test! What had I gotten myself into? An offer was extended and I accepted. Once I joined the small company I was told that, while TDD was the goal, they weren’t quite there yet. Phew; crisis averted. However, I was still intrigued. It wasn’t until a few months later that the team delved into the world of TDD, and the rest, as they say, is history.
Clayton’s story on TDD
My introduction to TDD is a little different from John’s. I have been writing code since I was in middle school in the early 1990s. From then until 2010, I always struggled with writing applications that didn’t require serious architectural changes when new requirements were introduced. In 2010, I finally got fed up with the constant rewrites and began researching tools and techniques to help me with my problem. I quickly found TekPub, an e-learning site that was, at the time, owned and operated by Rob Conery. Through TekPub I began learning the SOLID principles and TDD. After banging my head against the wall for close to six months, I started to grasp what TDD was and how I could use those principles. Coupled with the SOLID principles, TDD helped me to write easy to understand code that was flexible enough to stand up to any requirements the business could throw at me. I eventually ended up at the same company where John was employed and worked with him and, as he said, the rest is history.
Listen to the .NET Rocks! episode: https://www.dotnetrocks.com/?show=1536
And be sure to checkout Practical Test Driven Development with C# 7 on Amazon: https://amzn.to/2IYLh3o
An author and Microsoft MVP, John has been a professional developer since 1999. He has focused primarily on web technologies and has experience with everything from PHP to C# to ReactJS to SignalR. Clean code and professionalism are particularly important to him, as well as mentoring and teaching others what he has learned along the way.