In my experience the simpler the layering between dev roles the better. I currently work in a multi tiered environment where we have developers ranging from 1-3, Senior and Leads. The difference between the first 3 roles is tiny if any at all, it's really just a way to mark there experience levels. I find the lead roles have the biggest contrast in responsibilities because i have worked with very active leads, who commit a lot of code and leads who basically act as middle managers and spend most of there time planning and managing expectations.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.