So what does it mean? Why do I say that I am the Okayest Programmer? Simply because being the smartest person in the room is the worst possible situation you can ever find yourself in. To call yourself a “ninja”, or “guru”, or something of that sort really means that there is nothing anyone can teach you. If that was ever the case for me I seriously would change professions. When you say, “I have nothing more to learn”, you are either seriously overestimating your skills or you have narrowed your skill set to a manageable piece.
It is always good to have a Senior Developer around but only if they have the right mindset. They have to be open to the possibility that they don’t know everything.
The other side of the coin is that you don’t want to be the dumbest person in the room. You should always be reading, learning, and teaching others. I have found that most developers who people see as “dumb” or “not very good” are developers that lack the self-confidence to put forth an idea and stick to it passionately.
I prefer to be right in the middle. Just Okay. If I ever find myself in one of the two groups above I take the initiative to move on. Conquer a new skill or get a job in a new sector.