Ранги программистов
Плох тот солдат, что не мечтает стать генералом. Плох тот джуниор, что не мечтает стать сеньором. Итак, в преддверии мужского праздника мы хотим рассказать вам о частичке военной дисциплины в мире информационных технологий - о рангах разработчиков.
Если взглянуть со стороны - все программисты сидят и нажимают на кнопки пишут код. Но на самом деле, среди них есть лейтенанты, капитаны и даже генералы.
Как же выглядит карьерный рост разработчика?
Junior (джуниор) - первая ступень на долгом пути саморазвития. Как правило, для успешного прохождения этого этапа требуется помощь более опытных товарищей. Серьезные проектные задачи джуниору еще не под силу, однако с каждым днём он получает все больше опыта и уверенности в собственных силах. Основная задача на старте - это связать обширные теоретические познания с реальной практикой промышленного программирования. Далее идёт рутинный процесс работы, который рано или поздно приводит к позиции мидла.
Middle (мидл) - золотая середина, человек, который уже знает свои возможности. Если джуниоры имею репутацию оптимистов, то мидлы реально оценивают время и сложность поставленных перед ними задач. Книги уже прочитаны, за плечами несколько проектов и можно спокойно работать и пить кофе в перерывах. Однако, спокойной и размеренной жизни у программистов быть не может, потому что новые технологии развиваются непрерывно и если не следовать за ними по пятам, можно остаться на невостребованной обочине карьеры. Мидл, который понял это простое правило, имеет все шансы перейти на следующую позицию.
Senior (сеньор) - на самом деле, это последний этап, требующий применения навыков написания кода в бою. Сеньор много времени проводит на митингах, обсуждая высокоуровневые концепции программного продукта. Зачастую, именно сеньоры занимаются подготовкой джуниоров, поскольку у мидлов на это не хватает времени. На самом деле, компании не против, если человек будет оставаться на данной позиции долго и счастливо. Срок, проведенный на этой ступени карьеры зависит только от желания программиста.
А что же дальше? На самом деле, тут начинается самое интересное. Как мы упомянули ранее, с ростом карьеры растёт и уровень абстракции решаемых задач. Непосредственное написание кода остается в прошлом и на смену ему приходит проектирование, то есть создание архитектуры приложений. Однако архитектор - лишь один из возможных вариантов развития. Если человек ориентирован на активное общение, то его ждет позиция руководителя проектов. Если он желает углубиться в обучение, то может стать отличным тренером. И конечно же есть вариант стать высококлассным экспертом-консультантом.
В заключение, хотелось бы отметить, что несмотря на то, что продолжительность работы коррелирует с рангом, карьерный рост программистов может происходить намного стремительнее, чем у военных. Ключевым фактором, влияющим на скорость развития является само желание развиваться, а также готовность к решению все новых и новых, зачастую нетривиальных и слабоформализуемых задач.