During 3 years of Ph.D. then 2 years of Pr.Assistant at LaBRI / University of Bordeaux Fr, I've been teaching ~500h from L1 (License first year) to M2 (Master second year), from medicine to IT specialized students.
It was a great experience, with ideal context (tutorial work with no more than 30 students) and most of the time motivated students (expect maybe L1 discovering computer science among other sciences they' ll have to specialize in).
For the little anecdote, I remember my first time animating a working session. It was first year of Ph.D., one year before I was seating the other side, and without any preparation from any kind, I were supposed to transfer knowledge and find a way, my way, to motivate students to focus during hours.
Contrary to high school or any lower level, you are free but responsible to setup proper teaching content and find right approach to proceed. Ph.D. is to learn research and teaching by practice, it was clear. So as usual you follow try-error method, sometimes at the expense of the students :-o, most of the time at their benefit ;) Experienced colleagues revealed to be precious help, always available and even some of them enough open minded to let me push original experimentation.
From pedagogy point of view, I noticed it is not necessary a domain of experimentation in France. Colleagues from New Zealand universities came to present results on different techniques tested on L1 or M1. One idea we tried to implement as well was a FAQ written by students, for students. A vote on each pair question / answer let filter / order them. Such kind of serious gaming let knowledge diffuse over the students, you don't increase the max but the average get better. It improved the interaction between students as well the mindset of the good ones, and answers most of the time didn't need any correction.
Times to times, depending on session exercises e.g. typically for sorting algorithms, I grouped students on the same row, let them progress as fast as they want, but with one constraint: to start next exercise only when the group solved previous one. Here as well the idea is to impulse a collaborative work inside a group, with little competition between groups. Good results but quite exhausting for the teacher since you have to jump from one exercise to another one, checking demonstration from each group.
Finally, what did I get from teaching experience? Is there anything I can use in my daily job? Yes of course. Writing an handbook (or user manual) from a tool, a tutorial presentation for beginner or advanced users, animating a training when adapting its content to the audience.. for all such activities I get to more comfortable or efficient (I hope) thanks to these years of teaching.
Moreover that let me understand a bit more what responsibilities and challenges a teacher can face and take up. I wish to this system even more interaction with other kind of professionals, at least in France, because then it can help to bring more concrete cases and a positive dynamic what ever the perspective of the student is.