The whole point of a company is to maximize the value that it creates and to that end set up an incentive structure to develop and maintain people that are able to create that value which means rewarding them to keep everyones interests aligned.
Using the "company doesn't promote people unless they've worked in a role for a least 3 years" is the biggest pile of shit excuse I see all the time. If zuckerberg can prove that he can provide enough value to be a billionaire by 30, certainly there should be a path to director or CEO regardless of age, within any organization worth its salt, for someone that can provide that same value, without checkboxes for attendance.
Just because you attended the lecture doesn't mean you should be able to prevent someone from getting an A who ditched every lecture but can easily ace the exams.