Кто немного связан с IT знает, что среди программистов есть своя иерархия. Обычно эта иерархия четко прослеживается у web-программистов. А как дело обстоит у программистов 1С? По моим личным наблюдениям ситуация очень похожа.
Не будем выдумывать новые названия для определения уровня программиста, а воспользуемся уже всеми привычными: Junior, Middle, Senior.
Начнем с самого младшенького – Junior.
Junior – это программист 1С, который только-только вошёл в профессию. У джуниора есть знания и начальный набор навыков, с помощью которых он справляется с простыми стандартными задачами самостоятельно.
Скажу честно, за долгие года работы компании НАСКА, очень мало было у нас программистов 1Сников такого уровня. Старались все время раздобыть готового, продвинутого программиста 1Сника, с которым не придется нянчиться. В ход шли все возможные варианты: хэдхантинг, поиск специалиста в других областях и даже странах. Кто-то осудит и скажет, вот негодяи не дают возможности реализоваться молодежи. Допустим, вот такой я нехороший человек. А теперь взглянем на другую сторону медали. Представьте себя в роли заказчика, которому необходимо внедрить некий программный продукт 1С на предприятии. Вы выделяете огромные средства, ожидаете быстрый и эффективный результат, а проект и тянется, и тянется и что-то делается, но ничего не происходит. Не очень хорошая картина? А все почему? Потому что опыт – есть опыт!
Если быть вообще честным, то с «улицы» мы не принимали ни разу «малышню» на должность программиста 1С. Но было несколько необычных случаев, о которых хотелось бы рассказать. В компании работали и сейчас работают три человека, которые не получали профильного ИТ образования и занимали должность консультанта 1С. И при огромном рвении и желании переросли в программистов 1С.
Вот один пример. Яркий персонаж – сотрудник НАСКА, который заканчивал ВУЗ по специальности «Учет и аудит». После института он успел немного поработать бухгалтером и пришел в НАСКА на должность консультанта 1С. Что самое примечательное, пока он работал на должности консультанта 1С, в компании появилась вакансия главного бухгалтера. Я, зная что это его профильное образование, да еще у нашего персонажа имелся опыт работы в этой сфере, предложил ему стать главбухом НАСКА (кстати с повышением оклада), а он отказался. «Я не хочу быть бухгалтером, я хочу быть программистом 1С» — такой был ответ.
Вот так сюрприз, человек проучился пять лет по специальности «Учет и аудит» чтобы понять, что он желает быть программистом! Бывает…
Как такое возможно? Неужели вот так всё легко и каждый бухгалтер в душе программист?
Как выяснилось уже в ходе беседы с нашим персонажем, на 4-5 курсе ДонНУЭТ им. Михаила Туган-Барановского была вычитка предмета по основам программирования 1С. Да-да, представьте себе по специальности «Учет и аудит» дают основы программирования в среде 1С. Просто некоторые студенты отмахиваются от этой информации, мол зачем бухгалтеру это знать. Научили пользованию 1С системой и ладушки.
Имея некоторые знания и навыки программирования, работая консультантом 1С наш персонаж не терял время зря и смотрел видео-уроки, читал форумы, а также просил мелкие задачи у ведущего программиста 1Сника в компании (координатора, о котором скажем позже). Шаг за шагом наш персонаж наматывал клубок знаний и нарабатывал практику. Прошло чуть больше года как он уже не консультирует, а программирует.
На сегодняшний день можно сказать, что он вполне может называть себя Middle программистом 1С.
Теперь поговорим за Middle программистов 1С.
Middle (мидл) программист 1С – золотая середина, человек, который уже знает свои возможности. Если джуниоры имею репутацию оптимистов, то мидлы реально оценивают время и сложность поставленных перед ними задач.
Middle программист 1С может решать нестандартные задачи с минимальной помощью. Иногда мидл обращается за советом к сеньору чтобы тот посоветовал и направил на эффективные пути решения задачи. Какой процент программистов 1Сников такого уровня в компании НАСКА? Примерно треть.
Костяк программистов 1Сников, которые работают сегодня в компании, сформировался не вчера, а очень давно. Если лет пять назад было много середнячков, то сегодня пройдя большое количество проектов, набивши массу синяков, получен колоссальный личный опыт, позволяющий называть себя многих программистов 1С сеньорами.
В классическом понимании senior – эксперт, который не только сам может справляться со сложными нестандартными задачами, но и руководит другими специалистами в работе над общим проектом, направляет их.
В 1С немного не так. Программист уровня сеньор 1С не руководит проектом. При проведении крупных проектов внедрения руководит проектом РП (руководитель проекта)! Вместе с этим, команда проекта внедрения 1С шире, чем в других областях программирования, так как к проекту, помимо программистов 1С и РП присоединяется еще, как минимум, один аналитик, который формирует задачи для программистов. В итоге от программиста 1С в 99 процентах случаев не требуется навыка руководителя, а требуется навык построения наиболее эффективных систем. Подчеркну еще раз, что сеньоры могут и выступают наставниками для менее опытных программистов, но подсказывать (делиться опытом) и руководить – это разные понятия.
Задачи от клиентов приходят разные, кому-то необходимо переделать печатную форму, а кому-то выстроить новый процесс с нуля. Естественно, для правки печатных форм, с которыми справится и джуниор, привлекать сеньора нецелесообразно. Помимо этого, когда количество проектов гораздо больше одного, загрузкой программистов между проектами необходимо управлять. Речь идет о том, что проекты могут быть с большими задачами на тысячи часов, а могут быть с маленькими задачами, которые не обеспечат полную загрузку одного программиста 1С.
Распределением задач между программистами, согласно их уровню и текущей загрузке, занимается координатор программистов 1С (тим-лид).
Несмотря на то, что координатор 1С сам является синьором так как без доскональных знаний задачи не распределить, эта должность является управленческой. Об управленческих должностях напишу в следующий раз, как придёт вдохновение.
Отдельно еще хочется поведать о такой роли программиста 1С как эксперт по технологическим вопросам 1С. Его можно называть еще архитектором 1С. Именно он восседает на вершине иерархической пирамиды квалификаций программистов 1С. Часто в компанию обращаются клиенты, когда у них в 1С что-то не работает. Что именно не работает, естественно, клиенты сказать не могут, они обращаются за помощью в решении вопроса. Первым делом идет диагностика системы и выявление причины поломки может выдать техническую ошибку (ошибка учета, ошибка в коде) или архитектурную ошибку. С техническими ошибками разбираются аналитики 1С с программистами 1С, а вот с архитектурными ошибками справиться сложнее – ими как правило занимается архитектор 1С.
Интересное занятие, которым могут заниматься не все. Архитектора 1С у нас в компании всего два. В чем же заключается исправление архитектурной ошибки? Давайте представим себе такую ситуацию, что человек (молодой бизнес) сделал себе мотоцикл (простенькую учетную систему) и начал на нем ездить. Изначально мотоцикла вполне хватало для передвижения, но появилось новое направление в бизнесе и пришлось приделать люльку, потом бизнесу потребовалась крыша (во всех смыслах) и ее пришлось приделать тоже, затем вырос оборот и пришлось прицепить прицеп. Поездки стали дольше и приняли решение достроить спальное место, затем кабину, затем приладили еще пару колес ну и получилось нечто похожее на грузовик. А движок стоит-то от мотоцикла!!! И сцепление от мотоцикла, да и руль такой же. И вот когда клиент подгоняет нам такого мото-грузовика и говорит, что он тормозит и не разгоняется выше 20 км в час… результат диагностики показывает, что у клиента архитектурная ошибка. В этом случае есть два варианта развития событий. Либо выкинуть это га#но, но так как это сделать клиенту обычно жалко (в 99% случаях), то принимается решение доставать движок и переделывать его. Этакий тюнинг. Вот как раз этим и занимается архитектор 1С. Изюминкой и подарком судьбы для архитектора является клиент, который приходит с планом будущего грузовика и говорит: «Постройте мне так как я хочу, под мои бизнес-задачи». И вот тогда архитектор 1С воплощает все «хотелки» клиента в правильной форме с самого начала.