Как растить сеньора?
Современные заголовки пестрят тем, что вы можете легко вступить на путь к вершинам IT, обучившись всего за месяц. Но где же подвох?
Главная проблема заключается в том, что джуном действительно можно стать очень быстро, до мидла - вполне вменяемый срок, а вот уже между мидлом и сеньором есть целая пропасть, которая не даст даже за год уверенно повысить свой грейд.
Многие люди, которые до этого не были связаны с IT - сейчас грезят зарплатами сеньоров, подкупаемые разными рекламами, которые говорят нам о том, что программировать просто и легко. Но давайте определим, кто же такой сеньор и почему так сложно им стать.
Изучить детально PHP (или любой другой язык), знать различия версий от эпохи появления до современности, использовать только трендовые технологии, иметь сертификаты о пройденных обучениях: тем не менее не говорит о том что вы сеньор. Вы хороший мидл. Сеньор - это тот, кто не просто знает язык, это тот кто уже в большей степени смог прокачать или приобрести следующие софт скиллы :
- Он может думать за пределами контекста. Т.е не просто выполнять задачу, а понимать как она будет связана с другими задачами, как будет влиять на работу всего проекта.
- Он умеет анализировать любую положительную или негативную информацию
- Он способен разложить задачу на составляющие
- Он может делать базовый реверс-инженеринг в рамках своего стека
- Он может брать ответственность за проект
- Он может фильтровать передаваемые знания, не захламляя мозг тех кто младше
- Он понимает разницу в том, когда стоит переписать, а когда не надо трогать код
Проблема в том, что такие скиллы появляются только с опытом. Причем разнообразным. Когда приходится решать проблемы, постоянно преодолевая трудности. Сознание сеньора устойчиво к переменчивым ветрам проджект менеджеров, оно может выдерживать большие нагрузки и быстро подбирать варианты решения к поставленным задачам.
Как же выращиваются сеньоры?
На самом деле тут есть некоторая несправедливость - кому то стать им проще чем другим и это завязано на способности к абстрактному мышлению, пытливости ума и бесконечной самомотивации, которая способная побеждать рутину и лень. Но тем не менее путь этот могут пройти все.
Для начала стоит научить видеть проект целиком и не просто в его настоящее время, а как он менялся со временем и главное - куда он стремится прийти через какое то время. Это важно, потому что мы часто можем видеть в легаси что "исторически так сложилось" - но хорошо еще понимать почему.
Разработчику хорошо научится воспринимать проект целостно и видеть себя и свой труд частью этого большого организма, который способен своими действиями менять его поведение.
Хорошо когда есть возможность рефакторить себя или других, для того чтобы нарабатывать опыт.
Здорово взращивать амбиции и готовность бросаться в бой к сложным задачам, бросая вызовы.
И очень важно уметь дозировать нагрузку, чтобы не перегорать и не падать в пучину стагнации.
Путь выращивания сеньора не лежит в плоскости как с предыдущими грейдами в миксе сложных/простых задач с объяснением как что работает. Он должен быть нацелен на рост уровня самостоятельности и способности самому приходить к каким то результатам, самому анализировать и самому оптимизировать свою работу. Ему нельзя просто все раскладывать по полочкам, нужно просто мягко направлять, немножко модерировать и очень много мотивировать, потому что частно он будет стопорится в каких то решениях.
Обучить сеньора как стать сеньором - нельзя. Можно указать лишь направление и дать те препятствия которые он должен начать преодолевать, когда он будет готов - он его пройдет сам.