Soldiers normally rise in rank due to their popularity from superiors, their age and experience, attitude and aptitude.
Officers used to be people who were educated, or had a higher social standing, and then rose through the ranks due to their actions, opinions and aptitude.