Конечно ранг разработчика - это достаточно абстрактное понятие, но я выскажу свое мнение по данному вопросу, оно не привязано ни к какой теории, а базируется лишь на моём опыте.
Junior Developer
- оптимист, всегда недооценивает поставленную задачу
- постоянно ощущает нехватку времени
- стесняется показать свое незнание
- постоянно наступает на грабли
- с трудом доводит проект до финальной точки
- тестер - враг - ибо находит баги
- менеджер - не воспринимается еще всерьез
- пока не ориентируется по ЗП, но если ему предложат на $50 больше в другом месте - может уйти
- рутинную работу считает сложной, но должен справляться
Developer
- пессимист, зачастую недооценивает свои силы и боится промахнуться в оценке
- всегда есть время на перекур и чашечку кофе
- не стесняется спрашивать у коллег по цеху, может даже нагло их эксплуатировать
- наступает только на грабли спрятанные в высокой траве
- скрипя зубами доводит проект до ума
- тестер - просто задолбал, хотя есть понимание, что сам налажал
- менеджер - зачем ему мои отчеты?
- уже знает свою рыночную стоимость, повышение ЗП не требует, но узнает о вакансиях на других фирмах, и иногда намекает о своей осведомленности
- если выполняемые таски и проект покажется не интересным, это негативно скажется на проекте - обычно сопровождается криками проект Г.., заказчик М…, и что Вы вообще понимаете в программировании
Senior Developer
- реалист, опираясь на свой опыт, видит "узкие" места проекта и закладывается на риски, а так же сообщает об этом менеджерам
- успевает и делать проект, и посидеть на "митингах", и еще и подсказывать коллегам
- может помочь ближнему, не стесняется сказать, что он чего-то не знает
- если и наступает на грабли - то тут два варианта:
- "грабли" - легли в риски, и все проходит безболезненно
- "грабли" - наносят критический урон по проекту, ибо Senior допустил ошибки при разработки архитектуры (иль еще где, но не менее фатально)
- удачно завершенный проект - доставляет истинное удовольствие (и психологическое и материальное)
- тестер - советник в плане юзабилити
- менеджер - щит, который тоже не любит неадекватного заказчика
- хорошо знает себе цену, не стесняется требовать повышения ЗП
- прекрасно понимают, что работа может быть рутинной, но это не должно влиять на качество кода, может ворчать, но работу будет делать
Если Вы располагаете достаточным количеством ресурсов, и при этом в наличии как Junior’ы так и Senior’ы - то судьба проекта может сильно зависеть от состава команды, так что будьте внимательны:
- не стоит ставить Junior’а к зубрам программирования, если среди них нет человека способного заняться его обучением: и новичок ничему не научиться, и “зубры” будут в бешенстве
- если проект разрабатывается лишь Junior’ами - держите руку на пульсе такого проекта и купите валерьянку - себе и заказчику
- не стоит садить Senior’а за проект уровня “для чайников” - проект будет сделан и сдан, вот только разработчик от скуки начнет думать о работе в другом месте
Ну и еще немного информации к размышлению:
Ошибки которые совершают разработчики, когда начинают задумываться о повышении ЗП:
- Переоценивают себя - требовать ЗП не соответствующую Вашему уровню - это верный путь остаться без работы
- Устраивать сыр-бор за 10% прибавку к ЗП - зачастую такое повышение можно решить без лишнего шума и криков
- Узнать, что через дорогу платят на 100$ больше, впасть в депрессию на пару недель, и оказаться на улице, ибо повышать ЗП человеку который последнее время ничего не делает никто не будет - это очень распространенная ошибка, никогда не забивайте на работу, будьте профессионалами.
- Считать, что в соседней конторе работа в 100 раз интересней.