Ser is used with occupations, and being a student, even though it may not pay you money, follows that rule. The use of ser doesn't depend on whether you do something your whole life or just for thirty years or just for the summer, it is used for naming what you do, how you spend your time. Soy pianista. Es mesero. Es artista. Somos médicos.
In general you are right. However, you can use estar if you really want to convey that you are doing a job temporarily and it is not your career / what defines you. For example, an actor who is working in a restaurant to make money between acting jobs / while auditioning can say:
Estoy de camarero.
I'm (temporarily) working as a waiter.