
Конечно ранг разработчика — это достаточно абстрактное понятие, но я выскажу свое мнение по данному вопросу, оно не привязано ни к какой теории, а базируется лишь на моём опыте.

Junior Developer
- оптимист, всегда недооценивает поставленную задачу
- постоянно ощущает нехватку времени
- стесняется показать свое незнание
- постоянно наступает на грабли
- с трудом доводит проект до финальной точки
- тестер — враг — ибо находит баги
- менеджер — не воспринимается еще всерьез
- пока не ориентируется по ЗП, но если ему предложат на $50 больше в другом месте — может уйти
- рутинную работу считает сложной, но должен справляться

Developer
- пессимист, зачастую недооценивает свои силы и боится промахнуться в оценке
- всегда есть время на перекур и чашечку кофе
- не стесняется спрашивать у коллег по цеху, может даже нагло их эксплуатировать
- наступает только на грабли спрятанные в высокой траве
- скрипя зубами доводит проект до ума
- тестер — просто задолбал, хотя есть понимание, что сам налажал
- менеджер — зачем ему мои отчеты?
- уже знает свою рыночную стоимость, повышение ЗП не требует, но узнает о вакансиях на других фирмах, и иногда намекает о своей осведомленности
- если выполняемые таски и проект покажется не интересным, это негативно скажется на проекте — обычно сопровождается криками проект Г.., заказчик М..., и что Вы вообще понимаете в программировании

Senior Developer
- реалист, опираясь на свой опыт, видит «узкие» места проекта и закладывается на риски, а так же сообщает об этом менеджерам
- успевает и делать проект, и посидеть на «митингах», и еще и подсказывать коллегам
- может помочь ближнему, не стесняется сказать, что он чего-то не знает
- если и наступает на грабли — то тут два варианта:
- удачно завершенный проект — доставляет истинное удовольствие (и психологическое и материальное)
- тестер — советник в плане юзабилити
- менеджер — щит, который тоже не любит неадекватного заказчика
- хорошо знает себе цену, не стесняется требовать повышения ЗП
- прекрасно понимают, что работа может быть рутинной, но это не должно влиять на качество кода, может ворчать, но работу будет делать
Если Вы располагаете достаточным количеством ресурсов, и при этом в наличии как Junior'ы так и Senior'ы — то судьба проекта может сильно зависеть от состава команды, так что будьте внимательны:
- не стоит ставить Junior'а к зубрам программирования, если среди них нет человека способного заняться его обучением: и новичок ничему не научиться, и «зубры» будут в бешенстве
- если проект разрабатывается лишь Junior'ами — держите руку на пульсе такого проекта и купите валерьянку — себе и заказчику ;)
- не стоит садить Senior'а за проект уровня «для чайников» — проект будет сделан и сдан, вот только разработчик от скуки начнет думать о работе в другом месте
Ну и еще немного информации к размышлению:
Ошибки которые совершают разработчики, когда начинают задумываться о повышении ЗП:
- Переоценивают себя — требовать ЗП не соответствующую Вашему уровню — это верный путь остаться без работы
- Устраивать сыр-бор за 10% прибавку к ЗП — зачастую такое повышение можно решить без лишнего шума и криков
- Узнать, что через дорогу платят на 100$ больше, впасть в депрессию на пару недель, и оказаться на улице, ибо повышать ЗП человеку который последнее время ничего не делает никто не будет — это очень распространенная ошибка, никогда не забивайте на работу, будьте профессионалами.
- Считать, что в соседней конторе работа в 100 раз интересней.
Таки кросс-пост: Ранги разработчиков