Junior, Senior, Medior, Professional and similar grades and classification labels that developers might have as stickers alongside their careers.
To follow the path, look to the master, follow the master, walk with the master, see through the master, become the master. ~Zen Proverb.
I believe these are relative and probably subjective estimations, that might specially change from an environment to another and from an ecosystem to another.
But If we want to gather the common aspects that might depict a senior developer regardless their stack or professional surroundings, we might come up with the following hints:
Never argues this language is STRONGER than this or this framework is BETTER than this. He knows they are tools to achieve goals depending on the context.
Spends MORE time on analysing the problem and discussing it with the client than time on implementing the feature.
Has the reflex to check as much as possible if the problem can be solved without writing a line of code.
Is able to estimate in which direction the code will evolve in the future and writes code accordingly.
Strongly believes development is about solving problems and not writing code that runs.
Can switch between languages and frameworks without needing months to learn everything, just the needed knowledge to implement the feature.
Knows his stack PERFECTLY, keeps up-to-date with releases, best practices, bug fixes, tools, and so on. For the rest of stacks, he doesn't sink into details.
Knows about different point of views in code design, but doesn't spend much time in worthless battles.
Courageous enough to write his own package, and humble enough to use other developer's packages. Also has the ability to estimate which alternative is more relevant.
Optionally, in his free time, writes & ships code that people really use.