I think good software development practices can make a big difference when creating software. I'm thinking of things like test driven development, pair and mob programming, and automated continuous integration and continous delivery pipelines to name a few.
But one challenge I've noticed with having people use these types of practices is that it can be hard to really "get" them until you see them in action.
For example, one time while attending the Utah Software Craftsmanship group, another developer and I paired on a coding exercise. This particular developer had a few years of experience, and had attended the group a few times. But he didn't have a lot of exposure to test driven development. During the coding exercise I tried to guide us through a test driven path to solving the problem. I didn't do anything wild or crazy, just tried to follow the rules of TDD (since practicing was one of the purposes of the coding exercise).
At the end of the coding exercise the other developer thanked me. He said that through the things I did during the coding exercise he had finally started to understand what test driven development was all about. Because he saw it, it was easier for him to "get" it.
That experience stayed with me. I thought several times about creating a series of videos or something to help people see things like test driven development in practice to help make it easier to "get" them. Unfortunately, I never got around to making those videos.
Fortunately, my friend Mike and I did get around to making some of those videos!
Mike and I had an experience similar to the one I mentioned above with a coding exercise. We decided to pair on a coding exercise together (again, at the Utah Software Craftsmanship group). We didn't introduce each other to test driven development, but had a good time working on the exercise. At the end of the meeting, everyone got back together and discussed how the exercise had gone. Mike and I talked about how our experience went. As we did, one of the other attendees said something like, "I wish I could have been a fly on the wall during that pairing session!"
That got us thinking that we should find a way to let people be that fly on the wall because they might get some value from it. So we created a YouTube channel, Coding with Jon and Mike.
So far we have about half a dozen videos. About half are us doing test driven development. The other half are us working through a refactoring project (another great software development practice). And since it's both of us, they are obviously examples of pair programming in action.
If this kind of thing sounds interesting to you, give a few of the videos a watch. Let us know what you think. Let us know what you'd like to see more of and what you'd like to see less of.
Hopefully being able to see these videos will help some people be able to "get" some of these extremely helpful software development practices.