Can this vary depending on the company you work for? Does it have more to do with experience than actual time you've been on the job?
That is depends on the knowledge of an engineer is gathering from his employment cycle. If an engineer can handle the functionality of the 'senior' post then he is 'senior'.
Most of the companies will check the employment years to map the seniority. but the startups ceo's are always techie mind set, they always looking for the knowledgeable guys to do the tasks of that companies.
so User.update() is only the way to reach the ultimatum.