If I was a low ranking foot soldier, how easy would it be for me to become a high ranking officer? Were promotions only ever a matter of who you knew? Or would a soldier who distinguished himself as a smart and skilled warrior be able to work his way up to general?
For the republican and Early Empire periods, Centurions were promoted based on their skill and bravery, actions such as being the first man over the wall, and saving a comrades life would be noteworthy enough for promotion. Centurions also had a fairly high casualty rate, as they always fought in the front lines, and so there would be constant new openings for the Centurion position. Centurions were payed as much as 15 times a regular Legionary's pay, and this was likely a large incentive for soldiers to exhibit bravery on the battlefield, as it was the main course for promotion.
In short: During the republican and early empire, the average enlisted soldier could only expect promotion based on his personal bravery, although wealthy Equestrians and sons of Senators could bypass this with explicit permission from the Emperor.
However, promotion above Centurion would have been unlikely as a plebeian, as tribunes, consuls, and the Legatus (general-like position) were reserved for senators and the very wealthy. The Centurion was the highest rank in the Roman military that a Plebeian soldier could expect promotion to.
Within the rank of centurion are many sub ranks, which dictated the ranking of a centurion within his legion. The highest rank a centurion could receive would most often be the position of Primus Pilus "First Javelin" of a legion, the Primus Pilus was the first Centurion of the first maniple of the first cohort in a legion, and held the most power out of all the centurions in a legion.
I have more info about centurions, if you're interested, but im out of time for now!