工兵 is engineer, 步兵 is infantry. according to the chess I used to play, infantry triumphs over engineer but engineer is the only one that triumphs over minefield (地雷). Can't really say NS is useless, at least it gave me a practical dimension to all those terms. However, after NS, I can't figure out how an old commander-in-chief (总司令) can triump over the enemy infantry in face-to-face combat (triumph over his own infantry makes sense but the enemy one?), probably the peng-kia got dazzled by the stars on the epaulettes reflecting off sunlight.
Btw, I think 排长 is platoon commander, 连长 is company commander, 营长 is battalion commander, 团长 is brigade commander, 旅长 is division commander, 师长 is Chief of Staff or something (bigger than 旅长), 军长 is Chief of Army (or Air Force/Navy Chief) and 总司令 would be the Chief of Armed Forces. There are no pieces for platoon sergeant (班长?) or section commander (队长?). Goes to show that if your rank is not on your shoulders, you are considered peasants. In Singapore's context, if you can't make full colonel, you probably can't advance past battalion commander.