Pull to refresh
0
Content AI
Решения для интеллектуальной обработки информации

Программисты ABBYY: 14 рангов звёздности

Reading time 4 min
Views 24K

В дискуссии, развернувшейся после поста «Устроиться программистом в ABBYY.howto», я обмолвилась, что нам всегда нужны разработчики-звезды, т.е. программисты высокого ранга в нашей внутри-ABBYY-евской классификации. На это заинтересованные собеседники потребовали разъяснений.

Описывать организацию работы нашего департамента разработки в комментариях крайне неудобно, для этого требуется развернутый формат поста. Предлагаю на ваш суд краткое изложение темы — читайте, задавайте вопросы. Если что упустила – опишу в комментах. Только секретно-конфиденциальную информацию, уж не обессудьте, не открою :)


Система рангов не является уникальным изобретением ABBYY. В Китае этой системе много сотен лет, в России еще в петровские времена для бюрократии была введена Табель с 14 рангами. Да и в IT-компаниях система рангов — не новинка, хоть и есть далеко не в каждой (см. книгу Дэвида Мерсера «IBM, управление в самой преуспевающей корпорации мира», Москва, «Прогресс», 1991).

Единая стройная прозрачная и справедливая система практически необходима любой компании, которая намерена заниматься индустриальной разработкой софта. То есть компании, где количество разработчиков превышает несколько десятков человек (а в ABBYY их несколько сотен). Эта система взаимоувязывает компетенцию, способности, ответственность сотрудников определенной профессии с их компенсацией, положением в компании и иными благами.

В системе рангов для сотрудников отдела разработки ABBYY существует 14 уровней. (Мы, если честно, считаем, что любой, кто попал к нам – уже звезда, просто есть звезды бОльшего калибра\ранга :) ). От ранга программиста, тестера, лингвиста и других разработчиков зависит его зарплата, доступ к корпоративным социальным льготам, доступный уровень управленческой ответственности, место в оргструктуре. Предупреждаю сразу – уровни зарплат для разных рангов я не раскрою – это конфиденциальная информация. Двигаться вверх по лестнице рангов сотрудник может благодаря стандартной процедуре аттестации.

Ранг 1: Молодые программисты с институтской скамьи или с небольшим опытом работы еще не готовы к тому чтобы сразу разрабатывать коммерческие проекты. Сначала надо научить «звездочку» методам и стандартам разработки, принятым в компании (в частности, для обеспечения сопровождаемости кода). Т.е. молодой программист, отобранный из сотен кандидатов, сначала попадает в «учебную группу», где учится примерно три месяца. После окончания обучения проводится квалификационный экзамен, включающий тесты и задания (написать код и т.д.). При успешной сдаче экзамена, разработчик распределяется в какую-то команду, зачисляется в штат и приобретает 3 ранг. Студенты кафедры ABBYY на физтехе могут сдать квалификационный экзамен в любой момент обучения, получить третий ранг и начать работать с полной или неполной загрузкой в какой-то из проектных команд. 3 ранг в ABBYY – это ранг учеников. Третьеранговым разработчикам даются самые простые задачи, ну например, написать тестовую утилиту.

После некоторого времени работы на определенном ранге у разработчика накапливается достаточно примеров собственного кода или иных материалов (в случае лингвистов — семантических описаний). Если этот материал действительно высокого качества и изящества, или уровень решаемых задач соответствует более высокому рангу, то разработчик с согласия своего руководителя может подать примеры своей работы на аттестацию на более высокий ранг. Эти примеры отсылаются экспертам на 2 ранга выше для оценки. Т.е. например, если программист третьего ранга хочет аттестоваться на четвертый, то примеры его кода посылаются экспертам пятого ранга. Если оба эксперта согласны, что кандидат достоин повышения, то его «дело» отдается на рассмотрение аттестационной комиссии. Если аттестационная комиссия согласна, то разработчика поздравляют с повышением ранга, одновременно ему повышается зарплата (ранг разработчиков четко увязан с зарплатой сеткой). Система аттестации работает вплоть до самых высоких рангов.

4 ранг – это тоже ранг учеников, но там даются задачи чуть посложнее. Зачастую это уже задачи разработки в коммерческих проектах, а не только для внутренних систем. Пример задачи – написать диалоговое окно для коробочного продукта со сложными сценариями. Или пример задачи из области лингвистики – сделать интерфейс для редактирования словосочетаний.

5 ранг означает, что человек уже может программировать самостоятельно без постоянного присмотра шефа. И задачи ему уже можно ставить высокоуровневые, не описывая, например, необходимые классы, т.к. ожидается, что пятиранговый специалист сам может их сформулировать. Пример задачи для пятого ранга в лингвистическом проекте: написать модуль автоматического выделения словосочетаний по имеющемуся корпусу. Примеры пятиранговых задач в проекте FineReader: реализовать поддержку нового формата, написать компрессор для сложного графического формата или написать новый классификатор. Иногда на пятом ранге сотрудникам дается управленческая ответственность.

Разработчики 6 ранга сталкиваются с чуть более сложными задачами. Практически всегда шестиранговые разработчики руководят группами, т.е. занимаются управлением в дополнение к работе по специальности. Надо отметить, что в программистских группах ABBYY нет специализации (один – алгоритмист, другой – кодер, третий – менеджер и т.д.). Руководитель должен быть универсалом — уметь и алгоритмы создавать, и код писать, т.е. настоящий швец, и жнец, и на дуде игрец. Такой универсализм дает ему авторитет и компетенцию решать возможные профессиональные споры в группе и, в результате, позволяет продуктивно разрабатывать конечный продукт.

7 ранг – это уже настоящие профессионалы, группы которых способны решать сложные высокоуровневые задачи, например, поддержка морфологии в FineReader’е.

Разработчики 8 ранга – это мастера своего дела, очень высококлассные специалисты и менеджеры. Они руководят большими группами или отделами и решают задачи высокой сложности. Пример задачи – разработка «компактного» распознавателя для встраивания в мобильные устройства или МФУ.

Инженеры более высоких рангов (от девятого и выше) способны на решение по-настоящему трудновыполнимых задач. Примеры таких задач: разработка качественного распознавания документов на китайском языке или разработка технологии распознавания гибких форм с возможностью самообучения по образцам. Таких специалистов очень мало в ABBYY, но, как мы подозреваем, их в принципе в мире крайне мало. Эти люди – настоящие звезды большого калибра.

Система рангов и процедура аттестации позволила ABBYY построить эффективную команду из многих сотен разработчиков, которые четко выпускают десятки продуктов в год. Эти продукты с каждым днем завоевывают все большую долю на мировом рынке благодаря своему качеству. Источником этого качества являются талант разработчиков ABBYY и правильная, эффективная организация их работы.

Настасья Савина,
Директор по персоналу
Tags:
Hubs:
+21
Comments 183
Comments Comments 183

Articles

Information

Website
www.contentai.ru
Registered
Founded
Employees
101–200 employees
Location
Россия