For us a junior is someone who is starting, possibly a graduate or even just out of school. This is someone who is still learning the craft of programming (gathering real world experience) rather than the text book skills.
After a year they should no longer be junior. They are just a plain old developer, if not then perhaps programming is not for them.
Senior developers are simple those people who have a say in planning the direction that the company will take with their software. Strategic thinking in relation to the business needs of the company.
Developers tend to have a very flat hierarchy so senior is just as likely a management position rather than a recognition of outstanding skills.
In our company at present we have no juniors as everyone has been there more than a year, but we also have no seniors. To be honest I think that senior developers only appear when the head count gets into double figures and management cannot hold meetings with everyone over every little thing. Hence senior as a management position / title.
After a year they should no longer be junior. They are just a plain old developer, if not then perhaps programming is not for them.
Senior developers are simple those people who have a say in planning the direction that the company will take with their software. Strategic thinking in relation to the business needs of the company.
Developers tend to have a very flat hierarchy so senior is just as likely a management position rather than a recognition of outstanding skills.
In our company at present we have no juniors as everyone has been there more than a year, but we also have no seniors. To be honest I think that senior developers only appear when the head count gets into double figures and management cannot hold meetings with everyone over every little thing. Hence senior as a management position / title.