There’s been a joke for years that responds to this question: what happens if I train my developers and they leave? The answer (and the joke) is this: what happens if you don’t train your developers and they stay?
It’s rather stunning to me that companies don’t want to invest in the people that build their software. Software is one of the most valuable assets a company can create. However it’s not free, just as an investment in better machinery requires capital.
I blame the MBAs in America (and possibly elsewhere) who started to look at the world very closely with a factory and accounting mentality, seeking to minimize, rather than just lower, costs, and treating far, far too many resources as homogeneous. That includes people, and the ill-conceived notion of human workers as “resources”.
However I think that our industry has grown up with this idea that we are all tinkerers and like to learn on our own. We can learn on our own, and perhaps we can do so more efficiently than in a class. Classes far too often built and taught by a vendor that builds a product, but doesn’t use the software in the real world. There’s this idea that building software is easy and that we should be able to “pick it up” in our spare time.
However many other industries invest in their employees, and spend time training them to work better. Doctors and nurses learn from other doctors and nurses. Accountants and lawyers attend continuing education, though often because they must do so for licensing reasons. Engineers study new techniques in their fields, but in these and many other industries, companies often give their employees time, funding, or experimental time in which they can improve their skills. Managers in other fields often recognize that people must continue to learn, or they will see their skills wane.
Perhaps that’s where we should start. Let’s train managers to understand that training is important to produce higher quality software, faster.
The Voice of the DBA Podcast