For example, a simplified version of Academy rank might be fun:
Year 1: Cadet EnsignAn alternative to this might take into account a player's training performance in some way (although I suspect it's unlikely):
Year 2: Cadet Lieutenant
Year 3: Cadet Commander
Year 4: Cadet Captain
Year 1: Cadet EnsignAfter graduating from Starfleet Academy, a character might go directly into service or choose to spend an additional year at some form of advanced training. In these cases, I would suggest that characters on either path begin with a rank of Ensign, but a character who successfully completes a year or two of advanced training would enter active duty service with a promotion to the rank of Lieutenant junior grade.
Year 2: Cadet Lieutenant
Year 3: Cadet Lieutenant Commander
Year 4: Cadet Commander
Year 4 with distinction: Cadet Captain
The difference between these two paths might be that the character who takes advanced training has a safer and more certain route to promotion, while the character who enters service immediately starts at a lower rank but has more opportunities to advance in rank while the other character is still in school. By the time the more educated character enters service as a Lt. j.g., the other character who successfully took more risks may already have been promoted to full Lieutenant.