Some of the typical expectations of what I regard as 'senior' are usually as follows.
Technical Skills:
* A polyglot at many programming languages and has no trouble at learning new ones to a proficient level if required.
* Has useful open-source projects and significant open-source contributions in widely used projects. (Bonus for commit-access) No silly hello-world/test-123/git-push-demo repositories.
* Competent at data-structures and algorithms and must be able to write a proof to help explain some of the time/space complexities of these concepts.
* An understanding of the appropriate tool/library for the scenario, dismisses programmer zealotry and can compare and reason about choosing one tool over another.
* Writes clean documentation, tests (or delegates them to SDETs) and uses continuous integration for changes in the code.
* Expert-level on at least one version-control software, Git/SVN or TFS and conducts code-reviews on patches either in open-source or company-level contributions.
* Knowledge of a development methodology to use for software development and delivery to meet the user/client requirements.
Soft skills:
* Participates or leads in the interviewing process and justifies the questions they ask with the projects that they work on.
(It is really no good, throwing a leet-code problem and then the candidate asks if you use it and you will look rather silly as an interviewer if you don't.)
* Gives both technical and non-technical presentations at conferences or meetings about difficult engineering problems or the like.
* Can communicate towards many teams and or different audiences eloquently and understands different perspectives of the user. Not just engineering teams.
* Mentors junior programmers to adopt the best practices enforced in the company to become better programmers.
In this industry we have self-proclaimed 'senior' engineers that don't know what a AVL-Tree is, can't implement a LRU cache or cannot talk to a non-technical audience about what they do. If these 'engineers' contributed to a large compiler project, then all of these requirements would have been met. Unfortunately in 2019, the title of being 'senior' can be given to literally anyone (even with less than 2 years of experience) in their own organization but elsewhere, they are equivalent to a entry-level coder with a heavily decorated CV.
They may look 'good' on paper, but I think that is not enough to truly find out if they are senior-level. So my approach is more or less of a senior-software-engineering CAPTCHA test.