It's standard practice in a lot of IT companies
I recently put one of our engineers through a security software course to support a product our customer wanted to use. It cost about £8000
A training contract was drawn up by hr that he had to stay in the company for 2 years or pay back a percentage based on the time elapsed to that 24 month point.
Seems entirely reasonable and sensible, as with this accreditation he will be in high demand going forwards and I want to keep him where he is to support my customer. And if he does leave I'll have to fork out another 8 grand to train up someone else.