I have worked a lot of developer who claimed that they are senior developers because of working years of experience but they really suck. They don't know how to program,how to design,how to lead...... Is it enough to have many years of experience for becoming senior developer? Can a developer that has a few years experience be a senior developer?
I think the term senior developer is mainly an HR definition, which takes into consideration formal education, years of expertise, both at current job as well as previous ones, and probably some sort of manager evaluation, and packs all of the aforementioned into a nice little title, which can be later on translated into a number in the form of yearly salary or bonus or what not.
Using it as a formal title in correspondences and such I guess is a matter of what slot exactly you occupy in the company and how they define that specific job.
Personally, I would define a senior developer as an important figure in a development team, one which has vast and expansive knowledge in his field, produces code with very high quality. A simple indicator of such a figure is a developer who everybody appreciates his opinion, and which is sought after. An anti-example in my book, is an average developer who simply managed to keep his position for a long enough period that the company gave him the title simply because he fit into the "x-y years of experience" slot.
To sum, I think we all can agree that titles are usually meaningless, and by themselves mean absolutely nothing.
Well I think it's important to establish the difference in one's concept between a person with the job title of Senior Developer vs. a person who actually has qualities that make then a real Senior Developer in the minds of their peers.
Basically a lot of corporates will "promote" someone to a Senior after X number of time and not making too many noticable stuff-ups and only a better developer will be able to see that they are really fake.
If a junior developer doesn't know how to program, how to design, or how to lead I can't see how they're an improvement.
Talent doesn't necessarily depend on age. And software is one field where lots of years of experience don't seem as relevant to me, because the field is so young compared to others and changing so rapidly. Experience writing COBOL in the 70s doesn't seem relevant if you're doing object-oriented web development today.
I've worked with guys who were younger than me that I considered to be terrific talents and leaders. I never felt the need to overrule them because I was older. I was grateful to work with such young, talented, intellectually generous young men.
An ex-colleague of mine left our small software shop from a junior software engineering position to join a larger contracting company. He was granted the grand title of Senior Software Consultant on the back of two years on-the-job, post-university experience. No doubt he'll gain more job description inflation over time in that setting.
I think its much of an HR thing to over-egg roles, and (in the case of contracting firms) a marketing gimmick to attract clients. I don't give it much credence, not even sure what my own job title is right now!