Imagine a situation: you and your students participated in a big contest, and at the end you solved much less problems than your trainees.
First of all, I really think that this kind of situation is, in fact, highly desired: the young ones must achieve more than the old ones did, that is the natural course of things, and it's called a progress.
But, on the other hand, you all know that our environment is highly competitive and very vicious (maybe like every other kind of sports). No one here is interested in other user's opinion unless that user is orange or red. The average green participant is often a target of mocking. So, for a large part of community, it's only rating and medals that matter.
In these circumstanses, the chair of the coach turns out to be very tough. You know, the coach just must be stronger than his students, or else face the consequences. So the situation mentioned in the heading would in fact be a hard hit to the teacher's authority. Students may start to doubt the coach's expertise, and even may come to the question "why do you take a place of coach? maybe there needs to be someone else?". Quite often we read in the news how a top athlete leaves his trainer when he thinks that the trainer is not good enough. Most experienced students may start to get bored in class, telling you "why are we still learning this stupid dynamic programming? when will you show us some really cool things like the dominator tree?" (yup, they really say that to one of my friends)
It's probably not that horrific when student outperforms coach a single time (in that case that student will supposely consider that a huge achievement), but, just to make situation worse, let's imagine that coach loses to his tranees (say, maybe to the top team out of 10 teams) on a regular basis.
So imagine that after you failed, the attitude of students towards you has changed and become more dismissive. I must say, that kind of thing had almost never happened to me (that's not because I am clever or skilled or any of the kind, I just worked as a coach for a relatively short time), but it definitely did happen to my former students who are now coaches themselves. I suppose that thing may happen to anyone, maybe with exception of Gennady.
I believe that almost everywhere openly expressing complaints to the teacher is considered as bad manners. But, on the other hand, remember that poor guy who taught programming (maybe C++?) on the first year of your college. "Oh, he's not even capable of designing an LRU cache...", "Eh, he just knows nothing about <execution> header" and that kind of stuff. I am sure that no one of you mocked him, but you hardly enjoyed going to his classes.
So how do you manage with this situation? I know several approaches:
"So, young one, you outperformed me, that's great, but I still solved thousands more problems / created hundred more problems / invested tens of thousands of hours". One possible counterargument is
"if you're so smart why aren't you rich?""Yes you did all of that, and at the end I'm still better than you (in case of "thousands of hours" you've also just wasted your life)""So, young one, you outperformed me, that's great, but I still write clearer code / am more experienced in explaining things / have a job in a huge corporation and much greater salary than you". The counterargument for this case, I suppose, is "That would be relevant if you taught the applied programming, but this is the competirive programming classes, and you suck in it".
- "So, young one, if you are not satisfied with the results of my work, you can just go and find another coach". That one is used by one of my colleagues, and in fact is the most effective in the backwoods we came from, where all of the more or less experienced coaches can be counted on the fingers of one hand. But some students can take this as a guide to action and just relocate to better cities, as a result, you will be left without promising trainees.
What kind of excuses do you have? What helps you to mantain your self-esteem? What is your interaction with students when they outperform you? Maybe you have something to advise your colleagues in situations like this?
Thank you for your replies!









Bruh, you dumb or what? Coaches SHOULD have a greater rating because how can you expect a lower colored loser to carry you to red? And that is a minimum, on top of that, they should be able to actually teach, like not just show up with a high rating thinking they can teach anyone. Don't sell those dreams which aren't even your reality.
lol :|
I think it's completely okay for coaches to have a lower rating than those they coach. My coach is blue and I've learned a lot from him. The inventor of Link Cut Trees, a very valuable and powerful data structure, is also blue. You can provide useful input and strategy, or even useful knowledge about topics directly even if you're not as smart or good as the people you're helping. After all, even professional sport coaches aren't as good as the members of their team are, right?
How do you deal with it? I'd say don't let it bother you. It seems like you have this attitude that you need to justify that you are somehow better than the students you coach, either in experience, or talent, or skill, or something else. Why do you need to be? Just drop the ego, man. You don't need to be the best to be helpful. Instead, help them by doing things like finding good sets for them to run, identifying categories that they are weak in and helping them there, and helping find good instructional materials for things they haven't yet learned. Good competitive programmers will speedrun your class/homework, and then focus on other much harder ideas in their free time to get good at CP, and that's totally okay.
On the other hand, the paragraph on things you don't tolerate in other's code strikes me as dumb, naive, and mostly false, and that's why you're getting spammed with downvotes from me and others. As an employee of one of the largest tech companies in the world, I can tell you much of this simply isn't true, and it's sad to see that a professor would be so close-minded when teaching others. To me, it feels like you're not doing this to try to help your students succeed in the world, but to arbitrarily exercise power over them. Namely:
horizontalPadding = (screenWidth - (rightX - leftX))/2;is just way more readable than other things.Thank you for your detailed answer, it really made me think about certain things and I liked it.
I suppose I have to clarify some of the statements regarding the last paragraph, just not to be misunderstood.
for (auto &row : matrix) { for (auto &element : row) { element *= element, sum += element, res *= sum; } }However, I was amazed by your phrase "it feels like you're not doing this to try to help your students succeed in the world, but to arbitrarily exercise power over them". It's unpleasant to admit, but perhaps there is some truth in this. Perhaps this is due to the fact that I myself studied in such conditions.
And if we combine that with "It seems like ... you need to justify that you are somehow better than the students you coach"... it looks like I really need to reconsider my own views.
Ah, okay I think we agree much more than I had thought earlier after that clarification. Sorry if the response came off as a bit harsh in that case, what would be dumb and silly and arbitrarily exercising power is to take off points for students who use both a "+" and a "/" operators in the same line or to disallow single letter for loop variable names.
Did you make an alt just to post this.
Isn't that the case with every other blog here?