Thirdly, you claim that it is discriminatory. You further state that it keeps otherwise qualified operators from upgrading. If one of the requirements is to have a given level of proficiency in the code, then your understanding of the word qualified is suspect. The active word here is partiality. The mere fact that a person does not want to work at achieving a goal does not constitute discrimination.
Discrimination requires more than a single individual.
The single person consciously choosing to not acquire a required element is in no way a discriminatory act, except unto himself. Your assertion can be viewed from another point. Lets consider another set of circumstances. You refuse to learn how to fly an airplane, which is obviously a complicated machine requiring a variety of skills. You attempted to climb into the airplane and fly it, but are prevented from doing so.