Содержание
Введение
Эта статья ориентирована на читателей, которые стоят перед выбором – идти работать программистом 1С или рассмотреть что-то еще? Статья может быть полезна, как только начинающим свой карьерный путь, так и желающим сменить сферу деятельности (а таких я встречал немало!).
Я расскажу об устоявшихся стереотипах, типичных задачах, которые решает разработчик 1С, плюсах и минусах профессии, и многом другом.
Это не призыв всем студентам врываться в профессию программист 1С, и не попытка отговорить – а скорее мое собственное видение, сложившееся за полтора десятилетия работы.
1С = бухгалтерия? Чем на самом деле занимается программист 1С?
То, что 1С-ник работает только с бухгалтерией – это распространенный миф, под которым-таки лежит доля правды! Так исторически сложилось, что значительная часть пользователей 1С Предприятия – это бухгалтера и расчетчики, поэтому огромная часть разработчиков 1С так или иначе сталкивается с автоматизацией бухгалтерии и расчета зарплаты. Расписывать подробнее не буду, иначе статья рискует превратиться в книгу J
Бытует мнение, что идти в разработчики 1С без знания бухгалтерии нет смысла. Это не так. Есть много областей учета, где может понадобиться программист 1С – торговля, сфера услуг, производство, интернет-магазины, документооборот, CRM – всего и не перечислить! Новичкам часто трудно определиться, что им действительно дается лучше, и к чему лежит душа, и многие попадают в ловушку рутины – они устраиваются лишь бы куда-нибудь, решают банальные и однообразные задачи, медленно растут профессионально, и часто имеют либо поверхностные навыки «всего понемногу», либо напротив – глубокие и узко специфичные для конкретной фирмы.
Чтобы этого избежать, программист 1С должен быть в постоянном процессе обучения, приобретения новых знаний, и поисков «своего» формата работы. Об этом – следующий раздел статьи.
Какие бывают разработчики 1С?
Разумеется, никакой жесткой классификации нет, но некоторое разделение все же наблюдается невооруженным глазом.
Программист 1С в штате небольшой организации. Чаще всего это мастер на все руки, ему приходится закрывать вопросы по всем конфигурациям. Еще сложнее, если ему приходится быть одновременно и системным администратором. Увы, но собственники бизнеса часто предпочитают экономить, считая, что «компьютерщик» должен уметь все. К сожалению, уровень такого 1С разработчика редко бывает высоким, особенно если он развивался внутри компании самостоятельно, без общения с другими коллегами по профессии и без обмена опытом.
Фронт работ – самый разный, от «замени мышку» до «нужна новая форма счета-фактуры!». Но чаще – обновление базы, доработки печатных форм, отчетов и т.п.
Человек-скальпель. Это профессионал очень узкого профиля, который в идеале знает какую-то одну область, но за ее пределами его компетенции резко снижаются. Такая узкая специализация иногда возникает, когда разработчик растет внутри компании в составе ИТ-отдела с четким разделением обязанностей – например, кто-то отвечает исключительно за интеграцию с сайтом, кто-то – за бухгалтерию, а кто-то – за производство и расчет себестоимости. Если каждый предоставлен сам себе, и не происходит обмена опытом и навыками, постепенно каждый становится все большим спецом в своей нише, и ему все труднее выходить из зоны комфорта. Хорошо, что в чистом виде такой типаж встречается редко. За всю мою карьеру я встречал 3-4 таких разработчика.
Выполняемые задачи очень зависят от специализации. Например: «нужна интеграция со станками на ЧПУ», или «нужна база OLAP для анализа данных с GPS-трекеров и формирования отчетов в 1С».
Программист в фирме-франчайзи – на «сопровождении». Это такой универсальный боец, эволюция «мастера на все руки». В силу специфики компаний-франчайзи, многие разработчики 1С там сталкиваются с самыми разными конфигурациями и областями учета. Да, конечно же они будут иметь какую-то специализацию – например, управленческий учет или автоматизация производства, но будут весьма неплохо себя чувствовать при работе с самыми разными конфигурациями и задачами.
Задачи у программиста из сопровождения чаще всего не связана с глобальными доработками – это могут быть доработки типового функционала, разработка отчетов, обновление конфигураций и т.п.
Выходец из профессии – бывший оператор, кладовщик, менеджер, бухгалтер и т.п. В силу имеющегося опыта, часто – очень хорошо учится разработке в той области, в которой работал до этого. Автоматизация торговли, складского учета, CRM, бухгалтерии – нужное подчеркнуть J Поскольку знает предметную область изнутри, и может грамотно составлять ТЗ, проектировать архитектуру и предугадывать «хотелки» и «боли» пользователей.
Специалист широкого профиля. В эту категорию могут со временем перейти любые другие разновидности программистов 1С. С годами и тысячами часов кодинга приходит опыт, появляется понимание в построении архитектуры приложения, пропадает разница между конфигурациями, т.к. всегда можно нужные знания быстро подтянуть, а нужный код можно найти среди десятков (а то и сотен) обработок, конфигураций и отчетов, накопившихся за время работы. Для такого специалиста нет разницы – нужно ли сделать небольшую доработку в отчете, или разработать крупную новую подсистему – он одинаково приспособлен к задачам разного масштаба.
И тем не менее, распространено мнение (особенно среди программистов на других языках), что 1С-ники – не программисты, что 1С-ник – это приговор, и дальше «бухгалтерии» они не выходят. Об этом читайте следующую часть статьи.
1С программист – диагноз или шанс?
Есть такой устоявшийся стереотип, что 1С разработчики – недопрограммисты, которые толком не умеют программировать, не знают принципов ООП, не придерживаются подходов agile, не носят свитера с оленями (допишите свой пункт J)
Попробую его развенчать.
Возможно, когда-то раньше примерно так и было, однако времена меняются, платформа 1С Предприятие эволюционирует, и появляются все новые средства для эффективной разработки.
Начну с простого – помимо собственно языка 1С, платформа из коробки позволяет работать с:
- Xml
- Json
- Html
- Soap-сервисы
- http-сервисы
- oData
Теперь интереснее. Веб-клиент 1C предприятие написан на javaScript, его можно встраивать в сайты и взаимодействовать средствами js.
Язык 1С – достаточно гибкий, и с его помощью можно организовать гетерогенную разработку – например, какие-то внешние компоненты написать на других языках, и пользоваться ими через API, использовать скрипты windows-оболочки, регулярные выражения, реализовать интеграцию через шину данных, например rabbitMQ, и многое другое.
Кроме того, развивается и сообщество разработчиков 1С – внедряются промышленные стандарты разработки, автоматизированное тестирование (vanessa, tester), статистический анализ кода(SonarQube).
Так что начать карьеру программистом 1С – очень неплохой шанс влиться в IT-тусовку.
А теперь ложечка дегтя. Если вы не умеете мотивировать сами себя, если не уделяете должного внимания самообразованию, если не обмениваетесь опытом с коллегами – есть весьма большой шанс, что вы надолго увязнете в разработке однотипных отчетов, решении однотипных проблем, устранению однотипных ошибок и прочей рутине. И тут мы переходим к следующей части публикации.
Плюсы и минусы работы программистом 1С.
Здесь опять же – мои собственные наблюдения, и ваш опыт может отличаться от моего.
Сперва о хорошем!
Достойная заработная плата. Сопоставима со многими другими IT-профессиями!
Возможность удаленной работы. Это было и раньше, а сейчас уже закреплено на законодательном уровне, и с введением электронных трудовых стало еще проще устроиться дистанционно.
Нет необходимости изучать английский язык. Тоже для кого-то плюс.
Высокое доверие бизнес-пользователей. Да, вам будут открыты все финансовые сведения, все данные о клиентах, все бухгалтерские проводки. Цените это и не подводите своих заказчиков.
Возможность сосредоточиться на том направлении учета или автоматизации, которое больше нравится. Например, нравится вам работать с управленческим учетом – никто не будет заставлять разбираться в УПП или ERP. Хотите прокачивать навыки интеграции – CRM и интернет-магазины будут хорошим выбором. Я, например, мягко говоря недолюбливаю конфигурацию ЗУП, и подозреваю, что ее писали инопланетяне J Поэтому по возможности стараюсь избегать ее.
Возможность дополнительного заработка, подработок, а то и вовсе работы на себя. Но тут надо прокачивать навыки маркетинга, умение продать себя. Неоднократно наблюдал ситуацию, когда успешный и обеспеченный не тот программист-фрилансер, у кого выше квалификация, сертификаты и навыки, а тот, у кого хорошо подвешен язык, и есть умения в маркетинге, рекламе и PR. Тем не менее, если не основным источником дохода, то хорошим бонусом к зарплате фриланс 1С вполне может стать!
Минусы (куда ж без них)
Если вы работаете с 1С бухгалтерией или зарплатой – конечно же это сдача отчетности, срочные изменения законодательства, расчет зарплаты. А в последнее время добавились электронные трудовые книжки.
Также, исторически сложилось, что бухгалтера и разработчики 1С говорят на разных языках, что приводит к недопониманию, неправильной постановке ТЗ, конфликтам и взаимным упрекам. В последнее время эта тенденция сходит на нет, и это здорово!
Если вы работаете в торговле – это цены, себестоимость, прибыль, маржа, вот это все. Торговое оборудование и онлайн-кассы. И менеджеры. Смиритесь и подружитесь))
Частое непосредственное взаимодействие с конечными пользователями и/или собственниками бизнеса. Не всем это нравится. Часто бывают взаимоисключающие требования от пользователей системы и от ее владельцев. Плюс, приходится переводить с языка бизнес-заказчиков на язык технического задания. Такое бывает в не очень крупных компаниях с небольшим штатом разработчиков.
Необходимость погружаться в предметную область. Для кого-то это плюс, для кого-то минус. Но часто у пользователей возникает мнение, что программист 1С должен знать зарплату лучше расчетчика, бухгалтерию лучше главбуха, а МСФО – лучше финдира.
Обзор зарплат и перспективы профессии разработчик 1С.
Ниже я дам примерные цифры, взятые из этого источника https://habr.com/ru/company/habr_career/blog/534760/
Небольшое пояснение. Зарплаты приведены медианные, и в среднем в Москве будут немного выше, а в регионах, соответственно, немного ниже. Но по ощущениям, мониторингу вакансий на хантере и из личного опыта, ставки более-менее достоверны.
- Джун, он же 1С программист-стажер: около 45 тыс. руб.
- Мидл – обычный средний разработчик 1С: 80 тыс. руб.
- Синьор и лид – в моем понимании, для 1С это в сущности одна категория, т.е. прокачанный ведущий специалист: 150 – 160 тыс. руб.
Теперь немного о перспективах. 1С прочно вливается в IT-инфраструктуру, появляются новые интеграции, растет качество и количество возможностей 1С – так, например, в последних релизах появилось асинхронное программирование и промисы (помните же, что веб-клиент написан на javascript? J). Поэтому в ближайшее время 1С-ники будут по-прежнему очень востребованы, а хорошие программисты 1С – еще больше!
Куда пойти работать начинающему программисту 1С?
На первый взгляд, ответ простой – иди туда, где больше платят. Но так ли это правильно в долгосрочной перспективе? Давайте разбираться.
Если вернуться к зарплатам, можно заметить, что переход от начинающего 1с разработчика к хорошему «середнячку» сопровождается повышением зарплаты практически вдвое. И тут смотрите какая штука: есть несколько вариантов начала карьеры.
- Можно попробовать выдать себя за мидла. Научиться проходить собеседования, хорошо и умно говорить, найти соответствующего работодателя – это будет чаще всего собственник небольшого бизнеса без знаний в области 1С и без своего штата IT. Зарплата будет чаще всего выше «стажерской», но ниже уровня мидл-разработчика 1С, так как – повторюсь – чаще всего организации небольшие, бюджет ограничен, и собственник будет заинтересован найти «молодого и голодного», чтобы сэкономить. Увы, эта ситуация плоха для обоих – работодатель получит на самом деле новичка по цене выше рыночной, а работник – не сможет эффективно расти как профессионал, скорее всего закрепит плохие паттерны программирования, и в дальнейшем, если не будет прилагать усилий к самообразованию, будет сыпаться на технических интервью.
- Второй случай очень похож на первый по последствиям, но немного отличается – это «эникейщик» или «сисадмин-программист». В небольших компаниях случается, что собственник (как всегда! J) хочет сэкономить, и объединяет должности программиста 1С и сисадмина. Платит чуть выше чем за одну ставку программиста, но ниже чем за суммарные ставки разработчика и сисадмина по-отдельности. Экономия налицо! Зачастую ни к чему хорошему это не приводит. Но мне знакомы успешные коллеги, которые преодолели этот рубеж, уйдя уже полностью в разработку на 1С, но сохранив «админские» навыки, которые очень помогают в работе.
- Фирма-франчайзи. Да, в меня сейчас могут полететь помидоры или что похуже. Франчи – это такой комбайн, который перемалывает 1С-ников пачками, зачастую невольно прививая культуру «говнокода», так как чем быстрее работа будет выполнена, тем больше человеко-часов можно закрыть в месяц, и кому какое дело, что код не оптимален, или состоит из костылей чуть более чем полностью. Однако при всем при этом, франчайзи также зачастую имеют внутреннюю систему обучения, помогают в получении сертификатов, дают пощупать самые разные виды учета, конфигурации и клиентов – от небольших фирмочек до госкомпаний. Поэтому для программиста 1С с небольшим опытом работа во франче может стать неплохой точкой старта. Также стоит отметить, что в фирме-франчайзи зарплата будет, скорее всего, ниже средней, так-как
- У вас еще нет сертификатов
- Вы на самом начале сетки грейдов
- Есть план в человеко/часах в месяц, и его надо стараться не только выполнять, но и перевыполнять.
- Работа в малом и среднем бизнесе в составе IT-отдела. Да, чаще всего отдел будет из 2-3 человек, но это уже лучше, чем кодить в одиночку. Будет какой-то обмен опытом, вы сможете обучаться у более опытных коллег. Минусы – новичков совсем без опыта «на вырост» берут редко, так как у бизнеса цель – не воспитывать стажера, а закрыть свои потребности в разработчиках и выполнять реальные боевые задачи, часто – в ограниченные сроки.
- Работа в крупных компаниях-интеграторах, либо просто в компаниях с большим штатом разработчиков. Это один из лучших вариантов, на мой взгляд, и для начинающего программиста 1С я бы порекомендовал попытать удачи именно в таких вакансиях. Часто зарплата на старте будет небольшая, но новичка берут «на вырост», и внутри компании существует возможность карьерного роста. Также, ввиду большого количества более опытных разработчиков, более сложных задач, большей кодовой базы – может быть значительно проще учиться именно хорошей и правильной разработке, применяя лучшие практики. Такие как совместная разработка, авто-тесты, код-ревью, треккеры задач, проектное управление и т.п. Если таких компаний нет в вашем городе – это не повод расстраиваться, так как сейчас не такая проблема найти удаленную работу, и трудоустроиться дистанционно в городе-миллионнике, или вовсе в столице.
На этом моя статья, которая вышла что-то совсем не маленькой, подходит к концу. Спасибо что дочитали, и до новых встреч! Удачи на нелегком пути программиста 1С!