Today, I had lunch with a friend who owns a small construction company (like 5 employees).
He told me he's spent much of the last five years writing code, building this complex line-of-business app in Visual Basic and MS Access. And that it's essentially saved his business.
It's interesting, because here's this construction worker, used to working on physical things, talking about how Stackoverflow made such a difference in his life.
He has discovered on his own some of the same things we talk about here. He started rewriting his VB into C#, got one form done, and realized what a huge job it would be. And then decided it wasn't worth it to refactor everything just to have the latest language.
He talked about worrying he would build something that would become too much of a house of cards and that it would become unmaintainable.
We talked about automated testing, which he'd "heard of before". He was very curious why you'd want to do that, and what benefit it would bring.