[Карьера в IT-индустрии] Бесконечность – не предел. История Advanced Software Engineer

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
19-Авг-2020 21:40

Если представить себе типичный карьерный путь разработчика, какой он? Наверное, специалист пройдёт все ступени от Junior до Lead или Chief. А что потом? Мы уже много рассказывали в нашем блоге, что в EPAM у инженера есть условно два пути — пойти в Solution Architect (SA) или стать менеджером (Delivery, Resource, Project). Но некоторых ни один из них не устраивал. В итоге получалось, что талантливые разработчики застревали на одной позиции, и как бы они дальше ни развивались и ни углублялись в технологию, их талант оставался незамеченным. В прошлом году компания открыла новую тропинку на карте карьерных путей — Advanced Software Engineer (ASE).

Конечно, роль ASE — это не новое слово в ИТ. В некоторых компаниях, в том числе продуктовых, где используется система грейдов, можно встретить такую роль (обычно она называется Principal Developer). Чтобы лучше понять, кто такой ASE, что они делают и зачем они нужны компании, я расспросила «продвинутых» инженеров первой волны, что значит быть ASE. Рассказываю обо всём по порядку.
Кто такой ASE?
В первую очередь — это инженер, который обладает какой-то глубокой уникальной экспертизой, при этом может довольно быстро войти в проект с любой технологией, можно сказать, что это Multi-skill или Cross-stack инженер. Сейчас это модно называть T-shape моделью, подход, когда у инженера есть какая-то глубинная область, но ничто не мешает ему разобраться и помочь команде пофиксить небольшой баг на фронтенде, например.
Константин Периков работает в EPAM 3 года, занимается разработкой information retrieval systems — построением различных поисковых систем, работает с Open Source движками: Lucene, Solr, ElasticSearch. Он был в числе первых, получивших статус Advanced инженера по направлению Enterprise Search.

«Когда я пришёл в компанию в качестве Chief инженера, я думал, что вот он — потолок. Я должен был выбирать — идти в SA, или в менеджеры. Когда в конце 2019 года мне рассказали об ASE, я понял, что это именно то, что мне нравится, и это то, что меня несколько лет останавливало записаться на ассессмент (своего рода аттестация) на SA. Я люблю программировать, это то, что я делаю каждый день, не только на работе, но и на каких-то домашних или Open Source проектах.
Основная идея ASE и отличие от SA и менеджеров — это то, что человек должен писать код. Ежедневно, по несколько часов. Это и воодушевило меня пойти и попробовать новую роль».


Дмитрий Таболич, Senior Solution Architect, более 8 лет работает в EPAM, стоял у истоков и был одним из авторов этого трека внутри компании.
«Тема Software Engineering мне довольна близка, а проблема карьерного роста для инженеров достаточно понятна, поскольку какое-то время в компании я отвечал за процесс аттестации (ассессмента) Software Engineer в Solution Architect, где часто люди выбирали этот вектор развития как единственный «не менеджерский». Так возникла инициатива по пересмотру всей линейки Software Engineer (от Junior to Distinguished) с учётом возможности развития без трудности выбора и перепрофилирования. Мы долго думали над концептом и способом идентификация таких специалистов, и однажды Павел Веллер, один из CTO компании EPAM и идеолог концепции ASE, предложил интересную неформальную метрику определения таких специалистов: ‘known to others’ (пер. – известный). Это сложно измерить, но легко понять, что имеется в виду. Скажем, есть Java-разработчик, к которому все обращаются за советом в рамках командной работы, или даже из других команд или проектов, а потом практик. Если кто-то известен в свой практике, это хорошо; если его знают во всей компании — это ещё лучше.
Advanced Engineer не обязан быть спикером на каждой конференции, он просто знает больше остальных и делает вещи, которые никто больше не умеет».

Зачем нужны ASE?
Главным образом для того, чтобы решать сложные инженерные задачи. Рынок меняется, меняются решения, они становятся сложнее. Помимо глубоких технических навыков, ASE имеет развитые способности решать проблемы. Более того, ASE способен не просто решить проблему, а предугадать и не допустить её возникновение. Этакий технический гуру-предсказатель.
Это касается не только решения точечных проблем, но и глобального планирования. Подразумевается, что обладание большой экспертизой должно позволить человеку сделать выводы, куда технология движется, какие тренды будут в следующем году, какое решение можно будет предложить заказчикам в будущем.
Дмитрий Таболич: «Иногда на проект нужен один инженер, но очень сильный, такой классический техлид. Мы знаем, что в EPAM такие инженеры есть, но как их идентифицировать среди десятков тысяч специалистов, если максимальный грейд — Chief? Конечно, мы можно взять архитектора с опытом разработки, но порой требуется кто-то, кто может сосредоточиться именно на написании кода и внедрении инженерных практик».
Какими качествами должен обладать ASE?
Внутри EPAM разработана матрица компетенций, в которой прописано, какие требования предъявляются к инженерам на каждом уровне.
В первую очередь, к ASE предъявляются высокие технические требования. ASE — это технический эксперт с глубокими практическими и теоретическими знаниями в нескольких областях и разнообразным опытом работы с различными языками программирования и средами и в разных сферах бизнеса. Это то, с чем он сталкивается каждый день — пишет код и делает это исключительно чисто, с использованием EngX (Engineering Excellence) или, другими словами, лучших инженерных практик и подходов к написанию кода, тестированию и т.д. При этом он способен проверить архитектуру или просто выступить в роли технического консультанта на проекте. Ключевым является фокус на построении конечного продукта или системы и понимании аспектов жизненного цикла их эксплуатации (производительность, безопасность, расширяемость и прочее).

Денис Чичмарёв, один из участников рабочей группы по разработке ASE: «В целом это навыки, знания и опыт решения проблем, которые ты не можешь «загуглить». Для решения проблем, которые раньше никто не решал, нужно много теоретических знаний и практического опыта».
Подразумевается, что Advanced инженер должен не столько руководить, сколько уметь вести за собой команду инженеров, быть сильным техническим лидером, не просто указывать на конечное правильное решение проблемы, а объяснять и подводить к этому решению участников команды. Другими словами, опытные инженеры — это самостоятельные единицы, при этом важно, чтобы они умели работать с командой и помогали команде становиться лучше.
Константин Периков: «Что часто дополнительно отличает ASE, так это общественное влияние (Public influence). ASE — это человек, который имеет вес в профессиональном сообществе (на первых порах на уровне компании), является амбассадором и может помочь в сложной ситуации на совсем незнакомом проекте. Нельзя просто делать свою работу в стол и ожидать, что тебя пригласят в комитет по стандарту, например. Не обязательно быть искусным спикером, можно делать публикации или быть ментором.
Человек должен быть способен делиться своим уникальным опытом — это то, что делает его по-настоящему ценным ресурсом.
Но нельзя стать просто докладчиком или ментором. Нужно в первую очередь обладать глубокими знаниями в предметной области».
Как стать ASE?
Чтобы получить статус продвинутого инженера, необходимо пройти ассессмент — это процесс сбора своих достижений (своего рода портфолио, которое коллеги оценивают) и собеседование с другими специалистами, техническая дискуссия. Комиссия оценивает как глубину технических скиллов, так и «паблик инфлюенс», то есть смотрит на заслуги инженера не только на проектах, но и во внешней профессиональной среде.
Важная часть ассессмента — тестовое задание. Цель этого этапа — проверить глубину технических навыков, умение за короткий срок найти решение проблемы, разработать прототип решения. На сессии с кандидатом подробно обсуждается архитектура, подходы, технические нюансы. В качестве тестового проекта может выступить и готовое Open Source решение. Практические навыки программирования проверяются через интервью кодинг-сессии.
Все эти требования относятся и к внешним кандидатам.
Куда дальше развиваться ASE?
Константин Периков: «Концепция развития до бесконечности подразумевает, что вместе с экспертизой инженера растет и сфера его влияния. На первом уровне, например, инженер оказывает влияние на юнит, далее — на целое сообщество и т.д. Не менее значимым вектором развития является участие в создании нового, высокотехнологичного и уникального инженерного продукта, заточенного для решения тех или иных задач.
Также нельзя забывать про системный подход к решению задач, построению систем (проблем) — ASE должен быть способен смотреть не только вглубь решения (продукта), но и понимать, как оно может быть интегрировано, понимать, какие reference архитектуры, подходы и технологии могут и должны быть переиспользованы.
Мы считаем, что все эти черты и делают инженера настоящим ASE».

Денис Чичмарёв: «Среди ASE абсолютно разные люди. У нас есть инженер, который настолько хорошо знает С ++, что участвует в определении мировых стандартов для него. Другие, наоборот, исследуют новые технологии и стеки. Следят за тем, что происходит в мире программного инжиниринга. Им не нужен менеджер, чтобы говорить, что делать, что читать, куда расти.
Единственное, что объединяет ASE, — это то, что они ищут знания самостоятельно и так рьяно, будто они без этого жить не могут».

Выводы
  • Advanced Software Engineer — это продвинутый инженер во всех смысл слова. Он знает то, чего не знает большинство, решает вопросы, которые «нельзя загуглить», использует для решения задач лучшие практики и создает свои — инновационные.
  • Advanced Software Engineer — это технический гуру, он кодит каждый день, как минимум по несколько часов, не отвлекаясь на задачи управления проектом, распределения ресурсов в команде. Hands-on experience превыше всего!
  • Advanced Software Engineer — это ментор, наставник. Его главная ценность не в хранении всей накопленной за годы практики информации, а в том, как он этой информацией распоряжается — делится в блоге, рассказывает на конференциях или просто своей команде.

===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_karera_v_itindustrii (Карьера в IT-индустрии), #_karera_v_it (карьера в it), #_advanced_engineer, #_blog_kompanii_epam (
Блог компании EPAM
)
, #_karera_v_itindustrii (
Карьера в IT-индустрии
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 23-Ноя 02:11
Часовой пояс: UTC + 5