After finishing my internship period i was given the opportunity to work part-time contract at their other office - being closer to my place of study. As, like with most internship experiences, you're mostly learning the codebase and are not able to contribute as much as you may otherwise be able to - this period allowed me to ramp up my ability to fulfill tickets and feel much certain in my future aspirations at the company.
There are opportunities to move around teams and try different roles. In terms of promotion i do not have too much knowledge on that. Overall the team is pretty supportive and willing to let you do things you are interested - you just have to let your team leader know.
Intern -> part-time intern until you graduate -> graduate position (rotation over 18 months) -> junior 1 -> junior 2 -> intermediate 1, etc. the rate of progression had slowed down over the past year and a half but i heard they are trying to increase rate of progression with performance reviews every 6 months instead of the once a year.
I was offered a graduate position right after my internship and am very pleased to have recieved the offer.