Как стать 1С-программистом с нуля?
Правда ли, что 1С — это вообще не язык? А идут туда только бывшие бухгалтеры, которым лень учить английский? И много ли им вообще платят? А как стать разработчиком 1С? Рассказывает эксперт в 1С-программировании Марина Демидова.
Что такое язык 1С и где используются программы на нем
Язык 1С — это язык программирования, созданный специально для работы в программных продуктах компании 1С.
Программа 1С: что это
Программа 1С — программное обеспечение, созданное компанией 1С для автоматизации бизнес-процессов и руководства предприятием. Все, кто интересовался работой бизнеса, точно слышали про 1С. Это целый комплекс программ для работы компании.
На чем написана 1С
1С — программный продукт, разработанный на языке высокого уровня 1С (OneSTL) компанией 1С. Это специализированный язык программирования, применяемый для разработки бизнес-ориентированных приложений и автоматизации управленческого учета. Язык программирования 1С включает в себя удобный синтаксис и понятную структуру. Это облегчает его использование и позволяет быстро разрабатывать программные продукты.
Для чего используют 1С
1С используют для автоматизации бизнес-процессов предприятий различных отраслей. Благодаря программе 1С и ее конфигурациям можно оптимизировать руководство товарными запасами, финансовыми потоками, кадровым учетом и многими другими задачами. Разработчики ПО на платформе 1С могут создавать программы и конфигурации, а специалисты обеспечивать поддержку и корректную работу системы. ПО автоматизирует все: от бухгалтерии в микроскопической фирме до системы управления поставками в холдингах горнодобывающей отрасли. Программы 1С популярны в России и ближайшем зарубежье. По статистике официального сайта 1С, ими пользуются полтора миллиона организаций, от микрокомпаний и ИП до огромных корпораций.
9,5 месяцев
1С-программист
Легкий вход в 1С с нуля — не нужно технического образования
3 290 ₽/мес 5 483 ₽/мес
Причина в том, что программы системы 1С строго соответствуют законам России и стран СНГ: Налоговому кодексу, федеральным законам, постановлениям Правительства, приказам Минфина. Все изменения оперативно отражаются в программах. Комплекс известен с 1991 года — за это время решения «обкатали» в сотнях тысяч самых разных компаний. Обычно программы системы 1С создают как коробочное решение для конкретных задач. Например, конфигурация «1С:Корпорация» — комплекс решений для руководства холдингами, группами компаний и крупными организациями, а конфигурация «1С:Управление нашей фирмой» — для магазинов, индивидуальных предпринимателей и небольших фирм.
Кто такой 1С специалист?
1С специалист — профессионал, обладающий знаниями и навыками по созданию, настройке и поддержке информационных систем на платформе 1С:Предприятие. Ни одно готовое решение не может быть универсальным. Например, есть завод, который занимается разделкой и упаковкой рыбы. Рабочие там трудятся сменами, два дня через два. Они разделывают форель и горбушу. За форель платят больше, но ее привозят только по вторникам и четвергам. Но иногда привозят так много, что еще и на следующую смену остается — и следующей смене тогда тоже нужно считать зарплату не по «горбушевой», а по «форелевой» ставке. А теперь представьте, что вы по профессии бухгалтер и пытаетесь автоматически посчитать оплату за месяц для каждого из 500 рабочих компании.
Ни одна конфигурация никогда не учтет всех договоренностей, которые существуют между людьми. Поэтому коробка без настройки абсолютно бесполезна. Любую конфигурацию сначала нужно адаптировать к ведению учета. Обычно именно с этим и работают программисты 1С.
- Первоначальная настройка конфигурации: специалист заполняет информацию о компании, вводит систему налогообложения, скачивает из интернета и устанавливает классификатор адресов ФИАС, настраивает графики сотрудников и т.д.
- Создает два вида расчетов: оплата за разделку форели и оплата за разделку горбуши, настраивает необходимые справочники и документы.
- Бухгалтеры расчетного отдела вводят в базу данных сведения о сотрудниках.
Теперь специалист по кадровому учету может подавать сведения о том, сколько времени каждый сотрудник работал, был на больничных, в отпусках, отгулах, а также по сколько часов он разделывал рыбу каждого вида. Бухгалтер введет эти сведения в базу данных, а программа 1С автоматически посчитает заработную плату каждого работника, налог на доходы, страховые взносы и многое другое.
1С-программист — самая востребованная IT-профессия в России. Она подойдет всем, независимо от опыта и образования
Кто такой разработчик 1С и что входит в его обязанности
Разработчик 1С — специалист, который занимается разработкой прикладных решений на 1С:Предприятие. Программист 1С — это и программист, и системный администратор одновременно.
- Он проверяет, годится ли техника для работы 1С или нужно покупать новую. Помогает организации подобрать конфигурацию, которая ей больше всего подходит.
- Устанавливает программы на сервер, локальный компьютер или в облако. Настраивает базы данных и доступ к ним с компьютеров всех пользователей.
- Дорабатывает функционал: настраивает и создает новые отчеты, справочники, документы и другие элементы. В интернет-магазине настраивает выгрузку на сайт данных о товарах на складе и загрузку в 1С сведений о заказах. Если в магазинах и на складах есть торговое оборудование (сканеры штрихкодов, весы, кассы), специалист подключает его к 1С. Если на предприятии установлено несколько решений, он настраивает обмен данными между ними. Это может быть, например, выгрузка информации из конфигураций «1С:Зарплата и управление персоналом» или «1С:Управление торговлей» в «1С:Бухгалтерия», чтобы бухгалтер мог формировать отчеты.
- Распределяет права пользователей: им будут доступны лишь те справочники, документы и отчеты. Настраивает интерфейс для разных пользователей, чтобы им было удобно работать с программой. Настраивает резервное копирование баз для их восстановления при сбое.
- Демонстрирует возможности программы, учит их работать с ней.
На этом работа не заканчивается. Дальше он занимается сопровождением 1С:
- Обновляет конфигурации. 1С регулярно выпускает новые версии, которые нужно устанавливать на предприятиях. Особенно это касается решений, в которых ведутся зарплата и бухгалтерия — там часто меняется законодательство и формы отчетов, поэтому обновления выходят чуть ли не ежемесячно.
- Администрирует базы данных: тестирует, исправляет ошибки, восстанавливает при сбоях.
- Подключает к базе новых пользователей и так далее.
И это только краткий перечень того, что делают и создают программисты 1С.
У них есть специализации. Программисты досконально изучают конфигурации, связанные с определенным направлением учета, настраивают их и дорабатывают. Опытные разработчики могут быстро ответить на любой вопрос, решить любую проблему, добавить новую функциональность или исправить ошибки в старой.
Кто-то работает с расчетным отделом, кто-то автоматизирует учет в магазинах и на складах: подключает торговое оборудование, занимается наценками, скидками и так далее. Кто-то настраивает мобильные приложения для кладовщиков и курьеров, а кто-то разрабатывает новые проекты.
Что значит оператор 1С
Оператор 1С — специалист, который работает с программным продуктом 1С и выполняет операции по обработке данных в системе.
Как устроены программы 1С
1С состоит из технологической платформы и прикладного решения (конфигурации).
- Платформа — это основа и среда разработки со встроенным языком 1С, инструментами для администрирования базы данных и обновления конфигураций. Актуальный релиз платформы — 1С 8.3, хотя кое-где по старинке используют предыдущие версии — 8.2 и даже 7.7.
- Конфигурация — программа на 1С с открытым кодом. Она не может существовать отдельно от платформы. У нее удобный интерфейс и большие возможности для настройки. На одной платформе может быть установлена одна или сразу несколько решений.
1С работает в двух режимах:
- «1С:Предприятие» — это рабочий режим. Его применяют бухгалтеры, менеджеры, экономисты.
- Конфигуратор предназначен для настройки и администрирования. Здесь создаются новые объекты конфигурации и редактируются существующие, тестируется и исправляется информационная база, устанавливаются обновления и производятся другие действия по настройке и администрированию. С этим, как правило, работает программист.
Конфигурации бывают типовыми и нетиповыми.
- Типовые — разработанные самой компанией 1С. Она их поддерживает и выпускает новые версии. Типовых множество — например, те, о которых рассказано выше.
- Нетиповые — конфигурации, созданные другими организациями и отдельными программистами. Но их редко пишут с нуля, обычно дорабатывают существующие. Это быстрее и дешевле.
Компания 1С часто выпускает обновления — выходят новые версии конфигураций и платформы. Это связано с тем, что законодательство меняется и эти изменения нужно отражать в программах. А еще это связано с развитием технологий.
Почему в 1С нельзя использовать обычные языки программирования
Главный инструмент разработки конфигураций на «1С:Предприятие 8.3» — встроенный язык программирования 1С. У него двуязычный синтаксис: русский и английский. Программисты из России обычно выбирают русский. К нему быстро привыкают даже те, кто раньше программировал на языках с английским синтаксисом, — так понятнее.
Программы для 1С не разрабатывают на общепринятых ЯП, вроде Python или С++. Дело в том, что встроенный язык ускоряет работу — он специально оптимизирован для разработки программ учета. В 1С даже предусмотрены особые классы объектов: документы, справочники, отчеты, регистры и другие.
Где работают программисты 1С
Многие работают во франчайзи — партнерах 1С или других компаниях, обслуживающих предприятия. Для начинающих это лучший вариант, тут они получают необходимые навыки и знания. А крупные фирмы часто нанимают разработчиков себе в штат и предлагают высокую зарплату.
Есть много фрилансеров, работающих в этом направлении, — обычно они обслуживают малые предприятия в своем регионе. Раньше приходилось постоянно ездить на объекты, а сегодня они предпочитают настраивать программы и консультировать пользователей удаленно.
Удаленную работу с хорошей зарплатой можно найти на биржах фриланса — например 1clancer.ru, в социальных сетях и на форумах — например forum-1c.com.
Востребованность и заработок
В России и ближайшем зарубежье очень часто используют 1С и открывают вакансии. Большинству организаций нужны люди для обслуживания. В феврале 2023 года только на HeadHunter почти 11 000 вакансий. Профессия востребована.
Сколько программист будет зарабатывать, зависит от его квалификации. Зарплата стажера 50—70 тысяч рублей в месяц, разработчика среднего уровня — до 180 тысяч, а ведущего разработчика — 200—300.
Что такое сертификаты и можно ли обойтись без них
Система 1С постоянно развивается: меняется функционал конфигураций, выходят новые версии платформы с новыми возможностями. Чтобы работать с ними, программистам приходится постоянно учиться, периодически подтверждать свою квалификацию и получать сертификаты. Для этого 1С сертифицирует разработчиков.
Есть два типа сертификатов:
- Первый уровень — «1С:Профессионал». Проводится тестирование, на котором проверяют, насколько хорошо программист знает и умеет использовать возможности платформы и одной из популярных типовых конфигураций. Это может быть, например, «Бухгалтерия предприятия», «Зарплата и управление персоналом», «Бухгалтерия бюджетного учреждения» или что-то еще.
- Второй уровень — «1С:Специалист». Тут необходимо сдать серьезный экзамен, к которому допускаются только те, кто прошел тест на сертификат «1С:Профессионал». На экзамене проверяются понимание принципов построения конфигураций, практические навыки программирования и многое другое.
Людей, прошедших сертификацию, особенно получивших сертификат «1С:Специалист», охотнее берут на работу и повышают в должности. В большинстве фирм, работающих с 1С, от всех программистов требуют, чтобы они регулярно получали сертификаты.
Что нужно знать программисту 1С
Программист должен понимать основы бухгалтерского, налогового, управленческого учета, разбираться в бизнес-процессах предприятий. Без этого он не сможет понять, что от него хотят клиенты.
Программист 1С должен:
- знать, как работает платформа «1С:Предприятие», как ее настраивать;
- изучить несколько типовых конфигураций;
- знать основы работы с базами данных и SQL.
От него требуется постоянно повышать квалификацию, изучать изменения и осваивать все, что нужно для работы на его участке.
Где научиться работе с 1С
Чтобы стать разработчиком на 1С, можно попробовать изучить все самостоятельно. На сайте «1С:ИТС» есть множество материалов для разработчиков и пользователей. Например, книга М. Радченко «1С:Программирование для начинающих», книги Е. Ю. Хрусталевой «Разработка сложных отчетов в 1С:Предприятие 8», бухгалтерская периодика, инструкции по установке или настройке и многое другое.
Чтобы это почитать, можно получить бесплатный 7-дневный доступ к сайту. Кроме того, в интернете есть много видеоуроков и форумов на тему 1С. А чтобы потренироваться в разработке, лучше всего скачать с официального сайта и установить на компьютер учебную версию. Это поможет лучше понять профессию.
1С-программист
Вход в профессию простой: весь код на русском языке, не нужно уметь программировать и иметь техническое образование. При этом вакансий на рынке около 10 000 — можно найти работу удаленно или в вашем регионе.
Программист 1С: за всеми зайцами или один в поле не воин
Прошлая наша дискуссия с коллегами про универсалов и узких специалистов на проектах 1С вызвала бурные обсуждения в нашем коллективе и даже немного за его пределами. Программисты 1С, мои коллеги по работе в IT-компании Lad, просят восстановить историческую справедливость и дать слово им. С удовольствием пообщались — узнал много нового.
Как Программиста 1С видят окружающие
Что программист 1С умеет? Что-то пишет на 1С для бухгалтерии. Если посмотреть требования, которые компании чаще всего предъявляют к программистам 1С, то можно выделить три основных блока компетенций:
- внедрять и кастомизировать решения,
- писать собственные решения,
- администрировать системы на базе «1С».
Для многих (особенно владельцев бизнеса) программист 1С — это мастер на все руки: и отлично знает учет, и прекрасно умеет программировать, и администрирует базы данных, и ещё принтер подключит.
Чего программист 1С не умеет (по мнению коллег-аналитиков)? Чистые программисты сильны при условии, что им дали все исходные данные: они могут написать сложные расчеты, обмены с разными информационными системами, сайтами, но при этом им нужно детальное описание требуемого. В каком-то смысле, чистым программистом быть проще, потому что ему уже выдают готовое техническое задание, по которому он работает. А вот аналитику до этого пришлось получить информацию от клиента, продумать, как это будет реализовано в программе, и преобразовать данные в описание задач для программиста. Если такого технического задания не будет, то программист сможет, наверное, сделать задание, но с большим количеством уточнений.
Как Программисты 1С видят себя
Что программист 1С умеет?
Во-первых, он умеет алгоритмизировать, то есть детально по шагам описывать для системы последовательность действий.
Во-вторых, программист умеет анализировать данные, которые требуются для выполнения алгоритма, разрабатывает структуру данных: объекты, их взаимодействие и соотношение друг с другом, реквизитный состав этих объектов. Определяет, откуда данные берутся, где, кем, когда и как они обрабатываются, кому, когда и в каком виде выдаются.
В-третьих, программист умеет придумать архитектуру решения, то есть то, как объекты будут взаимодействовать с собой, как оптимально хранить данные.
В-четвертых, программист разбирается в пользовательском функционале (проще дорабатывать программу, зная, как она работает) и владеет методиками проектирования эргономики и пользовательского интерфейса. Работая по техническому заданию, составленному в соответствии с учетными и бизнес-процессами заказчика, неравнодушный программист 1С предложит улучшить интерфейсы системы и оптимизировать логику ее работы.
В-пятых, программист 1С, в отличие от коллег, работающих на других технологических стеках, может легко писать и серверную, и пользовательскую часть и описывать для системы их взаимодействие.
В-шестых, программист 1С понимает, как работают системы управления базами данных (СУБД). База данных может состоять из нескольких тысяч таблиц разной структуры размером в несколько терабайт. Программист делает так, чтобы его код на языке 1С превращался в запрос, который СУБД будет обрабатывать.
В-седьмых, если выходит новая версия или редакция, программист позволяет системе поменять структуру данных и алгоритмы работы в соответствии с релизом, следя за тем, чтобы написанный им код оставался работоспособным, а данные не потерялись и продолжали работать в обновленной системе. Наш коллега метафорично сравнил этот процесс с протезированием живого растения: снимаешь мерку, делаешь к деревцу подпорку, а когда возвращаешься — оно выросло в размерах и дало новые побеги.
В общем, помимо написания кода программист 1С занимается разработкой системы, механизмов интеграции и переноса данных между системами (некоторые из них могут быть не на платформе 1С), разворачивает систему, настраивает операционную систему, СУБД, сервер web-приложений, подключение внешних устройств. В отдельных случаях — анализирует проектные решения и документацию, пишет технические задания, проводит тестирование.
Что программист 1С знает? Спросите лучше, чего он не знает.
Во-первых, программный продукт 1С, который сильно продвинулся в своем развитии за многие годы. Программист 1С не сможет качественно выполнять поставленные задачи без знания работы программного продукта, работы его кода, без знания основ и правильного программирования. В платформе 1С появляются новые, довольно-таки быстрые инструменты, а конфигурации с использованием этих инструментов пишутся более сложно. Если раньше консультанты могли, например, поправить самостоятельно, то сейчас уже один реквизит поправить не получится, а создание печатной формы через отчет, написанный с использованием СКД — и вовсе нетривиальная задача.
Во-вторых, программистам важно расти с точки зрения владения основами разработки в 1С и знать: как правильно разрабатывать на управляемых формах, как осуществляется взаимодействие клиент-сервер, почему вызывается менеджер объекта, почему не используется объект, а также базовые правила и методику разработки 1С.
В-третьих, программист понимает бизнес-процессы, которые автоматизирует. Особенно актуальным это становится в условиях крупного предприятия, где большое количество пользователей, где высоконагруженные системы, где особенно важным становится быстродействие. Код, который работает для одного-двух или даже десяти пользователей, и доработка обновляемой конфигурации для сотни и тысячи пользователей — это задачи разного уровня, что для программиста 1С означает совершенно иной подход к реализации функционала.
Как происходит специализация программистов 1С
В проектной деятельности мы наблюдаем все более глубокую специализацию программистов 1С. Растет количество и усложняется функционал прикладных решений на платформе 1С, а бизнес предъявляет к ним более сложные требования. В программном коде типовых конфигураций “зашиты” и сложные алгоритмы линейной алгебры, и алгоритмы искусственного интеллекта (машинного обучения). Как одному человеку освоить все и можно ли объять необъятное?
Чаще всего программисты 1С приобретают специализацию в процессе работы на проектах. Например, на одном проекте разработчик решает задачи, связанные с интеграциями, он погружается в эту тему, изучает методику, разбирается — логично, что на следующем проекте, где будут те же самые интеграции, привлекут программиста с релевантным бэкграундом в этом вопросе, чем специалиста, который начнет изучение задачи «с нуля». Так происходит специализация программиста на какие-то «локальные» участки проекта, в которых он дока, которые он знает лучших других, где его опыт и знания будут наиболее востребованы.
Также со временем разработчики специализируются на функциональных блоках, которые лучше узнают в процессе проектной работы: торговля, производство, бухучет, зарплата, бюджетирование. Пищевая промышленность, химия, машиностроение, строительство и т.д. Фирма “1С” ввела отдельную сертификацию по предмету автоматизации — по бухгалтерии, заработной плате и так далее.
Куда расти программисту 1С
Что же дальше? Понятно, что нет предела совершенству, и можно долгие годы «шлифовать» свои навыки, а потом?
Можно расти внутри профессии программиста 1С — проходить аттестации от фирмы “1С”, которым соответствуют сертификаты:
- «1С: Профессионал»
- «1С: Специалист»
- «1С: Эксплуататор» — это уровень специалиста-администратора систем «1С», который может успешно решать любые технологические вопросы крупного внедрения.
- «1С: Эксперт по технологическим вопросам» — это высший уровень аттестации 1С-разработчика. Эксперт досконально понимает работу платформы и СУБД, борется с неоптимальностями, при необходимости раскопает, что внутри огромной системы работает неправильно. Он замеряет метрики различных операций, проводит нагрузочное тестирование, выполняет отладку, анализирует код.
А ещё куда можно
Программисты 1С — не угрюмые интроверты, которые целыми днями “пишут код”. Они ежедневно взаимодействуют с целой проектной командой, в которой:
- Консультанты и аналитики, которые переводят слова заказчика на язык программиста и наоборот.
- Архитекторы, которые видят, как вся система будет работать в целом, поэтому точно скажут, что лучше не трогать.
- Тестировщики, инженеры Q&A, которые найдут баг и вернут программисту сделанное, и так несколько раз.
- Системные администраторы, которые настраивают базы данных.
- Руководители проекта, которые управляют всеми процессами, ведут документооборот и следят за дедлайнами.
- А еще представители заказчика — это как технические специалисты, так и непосредственно пользователи, которые много раз расскажут, что нужно сделать. Каждый раз по-новому.
В случае, если захочется поискать себя в чем-то другом, зная что у 1С «под капотом», программист может успешно примерить на себя одну из этих ролей.
А одна наша коллега из программистов 1С с сертификатами по бухгалтерии и управлению ушла во флористику. Как сказал классик: «Каждый выбирает для себя».
- 1С
- программист 1с
- 1с программист
- ит-профессии
- программирование
- автоматизация бизнеса
- 1с программирование
Кто такой 1С-разработчик: как им стать и сколько он зарабатывает
В чем фишка языка программирования 1С? Потребуется ли для трудоустройства 1С-разработчику IT-бэкграунд? Как часто специалисту нужно проходить сертификацию? Разбираемся в том, как устроена профессия 1С-разработчика
Об эксперте: Александр Архипов, специалист по внедрению 1С-решений, спикер профессии «1С-разработчик» в Skillbox.
Что нужно знать об 1С
«1С» — явление многогранное и включает в себя несколько понятий. Первое — это фирма-разработчик, которая занимается изданием и поддержкой компьютерных программ, баз данных делового и домашнего назначения, игр. Второе — программный продукт, платформа. Третье — конкретные продукты, например, «1С: Бухгалтерия» или «1С: Управление торговлей». И четвертое — встроенный язык программирования. Но чаще всего под «1С» понимают всю платформу. Основатели и владельцы фирмы «1С» — братья Борис и Сергей Нуралиевы. Первая версия программы — «1С: Бухгалтерия» — была выпущена в 1991 году для операционной системы DOS. Надо сказать, что ее создатели не стали первооткрывателями: на рынке на тот момент существовало много локальных продуктов для автоматизации работы предприятий. Отличительной чертой и весомым техническим преимуществом «1С» стало наличие встроенного языка программирования, который позволял приспосабливать программу под специфику работы конкретного предприятия. Дальнейшая история развития компании крайне самобытна для IT-отрасли. И главное — все свои продукты «1С» распространяет не на конечных покупателей, а через сеть партнеров-франчайзи. Они занимаются не только дистрибуцией, но и установкой, техобслуживанием конечных клиентов, доработкой продукта. А также проходят регулярное обучение и платную сертификацию по итогам.
Сегодня продукты «1С» работают с разными направлениями учета производства: автоматизация бухгалтерии и кадрового состава, логистика и другое. Подобные системы требуются всем крупным предприятиям, на которых работают тысячи сотрудников. По количеству автоматизированных рабочих мест — бухгалтеров, менеджеров по продажам, офисных сотрудников — «1С» занимает в России первое место. На локальном рынке фирма обошла таких грандов как Oracle и Microsoft.
Чем занимаются 1С-разработчики
- Разработчики и программисты, которые занимаются обслуживанием, доработкой и изменениями в продукте.
- Специалисты-консультанты, которые хорошо погружены в конкретную программу и занимаются поддержкой клиентов, работой внутри продукта.
- Менеджеры по проектам, они взаимодействуют с клиентом, ставят задачи консультантам и программистам.
1С-разработчики работают со встроенным языком программирования 1С. По синтаксису он похож на другие языки. Например, тем, кто изучал C++ или Delphi, будет легко в нем освоиться. Главное отличие в том, что он построен на русском языке. Но код можно писать и на английском. Также в платформе «1С» есть встроенные механизмы, которые упрощают разработку. Например, механизмы интерфейса: создать окно, которое будет выдаваться пользователю, можно одной кнопкой. Кроме того, важно проговорить о наличии в 1С заданных заранее элементов. У справочников и документов есть стандартные реквизиты и возможности. Тогда как в других языках программирования их пришлось бы писать и задавать с нуля. Все это в совокупности упрощает вход в профессию.
В зависимости от уровня разработчика он может заниматься разными задачами. Если это начинающий специалист, ему поручают единичные задания по доработке существующей базы, конфигурации или программного продукта. Например, в бухгалтерию предприятия добавить небольшой функционал, кнопку, окно. Когда специалист набирается опыта, ему поручают дорабатывать целые блоки: вводить принципиально новый функционал в существующую базу. Продвинутые разработчики занимаются созданием собственного программного продукта с нуля.
Где работают и сколько зарабатывают 1С-разработчики?
Чаще всего разработчики трудоустраиваются в фирмы-франчайзи. Среди самых известных можно назвать «1С-Рарус», «Первый Бит», «Koderline». Обычно в фирмах-франчайзи сдельно-премиальная система: чем больше выполняешь разработок для клиентов, тем больше премия. Второй вариант: устроиться на завод или производство, которые не являются IT-компаниями, но пользуются продуктами фирмы «1С». В таком случае разработчику необходимо заниматься поддержкой продуктов в работоспособном состоянии. Как правило, в данном случае сотрудник получает фиксированную заработную плату и стандартную премию, которая не зависит от объема выработанных часов.
Начинающий специалист может претендовать на зарплату от ₽40 тыс. А продвинутый 1С-разработчик получает порядка ₽150-200 тыс. То есть порядок зарплат соответствует другим профессиям в программировании.
Как стать 1С-разработчиком
Самый удобный вариант — пройти базовый курс по 1С, устроиться в фирму-франчайзи стажером или начинающим специалистом. А затем учиться на практике. Важно отметить, что в крупных компаниях отрасли принят формат неоплачиваемых стажировок, на которые может претендовать человек фактически без знаний в 1С. Стажировки включают теоретическую подготовку, решение практических заданий и длятся около месяца. После чего сотрудникам начинают давать уже реальные задачи. Пожалуй, одно из ключевых условий при отборе кандидатов без опыта, на которое обращают внимание работодатели, это относительная молодость кандидатов — 20-30 лет. Более взрослым соискателям будет важно продемонстрировать свой опыт, например, в работе с другими языками программирования.
Важный момент: многие фирмы-франчайзи не жалеют выделять средства на обучение своих сотрудников. Главное — личная мотивация человека к росту. Если подробнее остановиться на скиллах, которые пригодятся начинающему 1С-разработчику, то это умение работать самостоятельно, искать информацию и базовая компьютерная грамотность. IT-бэкграунд будет преимуществом, но не является обязательным.
В отрасли действует система сертификации специалистов. Именно от нее во многом зависят трудоустройство и дальнейшая карьера. Есть два основных класса сертификатов: «Профессионал» и «Специалист». Первый класс представляет собой тестирование по теоретической части. Второй — практические задачи. Он подразделяется по разным программным продуктам, будь то бухгалтерия, управление торговлей или другое. Для разработчиков 1С существует свой экзамен — «Специалист по платформе». Это одна или несколько практических задач, на выполнение которой дается от трех до пяти часов. В процессе подготовки к такому экзамену, максимально приближенному к реальным задачам, соискатель узнает все, что ему нужно знать о том или ином программном продукте и языке программирования. Если он успешно сдал экзамен, он сможет трудоустроиться.
Если говорить про периодику сдачи экзаменов, все зависит от амбиций конкретного человека. Например, можно с одним-двумя сертификатами работать всю жизнь в одном направлении. Но важно помнить, что сертификат — гарант повышения зарплаты. Есть и такой нюанс — фирмы-франчайзи участвуют в регулярном рейтинге «1С». И один из его показателей — количество сертификатов уровня «Специалист», которые приходятся на фирму. Чем больше «Специалистов», тем лучше для фирмы. Кроме того, на показатель ориентируются клиенты при выборе подрядчика.
Пройти цепочку от стажера до продвинутого специалиста с отработанными в отрасли «1С» механизмами можно буквально за два-три года. Кроме того, в ближайшее время можно ожидать подъема индустрии в связи с тем, что иностранные программные продукты постепенно вытесняются или уходят с нашего рынка.
Профессия 1С:Программист сегодня
Мы не являемся экспертами кадрового рынка и уж тем более не являемся независимыми экспертами. Однако я все-таки постараюсь изложить свою точку зрения на то, что входит сегодня в понятие 1С:Программист. Отчасти потому, что все-таки есть достаточно большой опыт работы с 1С:Программистами, приема их на работу и просто опыт общения с 1С:Программистами – от начинающих до маститых экспертов. Но еще и потому, что развитие системы «1С:Предприятие» сильно связано с развитием специалистов, которые на ней работают. Это, разумеется, касается и конечных пользователей. Но здесь речь идет, прежде всего, о специалистах по разработке и внедрению. Соответственно, хочется поделиться тем, как видятся последние несколько лет развития системы и специалистов.
Затрудняюсь сказать, что является первичным: развитие системы или развитие специалистов. Наверное, тут нет однозначного ответа. Система развивает специалистов, специалисты во многом развивают систему, ставя перед ней новые задачи. Кстати, под системой я понимаю здесь и платформу «1С:Предприятие», и набор библиотек, и набор прикладных решений, и всю инфраструктуру (информационные ресурсы и т. д.).
Обычно 1С:Программистами называют тех, кто разрабатывает или внедряет решения на основе платформы «1С:Предприятие». При этом использование конкретного инструмента зачастую и отождествляется с этой профессией. Попробую выдвинуть и обосновать тезис, что это не совсем так, что это достаточно узкое понимание сути профессии.
Вообще при общении с разработчиком всегда больше интересно не то, какими языками он владеет, а то, какие алгоритмы, технологии он умеет разрабатывать, какие парадигмы понимает, в каких проектах и какие ключевые задачи он решал. Например, на собеседовании мы чаще обсуждаем примеры без привязки к конкретным языкам.
Итак, по моему мнению, 1С:Программист – это разработчик бизнес-приложений и специалист по автоматизации деятельности людей и предприятий. Немного оговорюсь. Здесь я пишу «бизнеса» и «предприятий», подразумевая, конечно, и работу бюджетных учреждений.
Конечно, есть специалисты, работающие и на других языках программирования. Но их просто не объединяют в обсуждениях, в форумах и в HR-ресурсах в единую профессию. Платформа «1С:Предприятие» создает определенный уровень абстракции, позволяющий максимально сосредоточиться на задачах именно бизнес-логики.
1С:Программист – это специалист, который, прежде всего, оперирует задачами бизнес-логики. Он должен понимать, как устроена деятельность предприятия, как устроены основные и вспомогательные бизнес-процессы. Должен уметь оперировать составом сущностей, отражающих предметную область. Должен понимать, как система должна взаимодействовать с пользователем.
В какой-то мере можно считать, что 1С:Программист сочетает в себе качества аналитика, архитектора и программиста. Разумеется, в каждом специалисте эти качества присутствуют в разном сочетании.
На самом деле это очень важное и ценное сочетание. Оно встречается, конечно, и у специалистов, работающих на других инструментах.
В какой-то мере можно сказать, что «1С:Предприятие» позволяет кристаллизовать профессию специалиста по бизнес-приложениям.
Кстати, при подборе на разработку типовых конфигураций мы охотно берем специалиста, если он обладает желаемыми качествами, но не владеет «1С:Предприятием». Инструменту обучить гораздо быстрее, чем пониманию проектирования бизнес-логики.
Возможно, сложность и ответственность этой профессии (специалиста по автоматизации, разработчика бизнес-приложений) не вполне понимают те, кто имеет опыт написания низкоуровневых программ, но не пытался разработать или хотя бы задуматься о том, что значит разработать или запустить в работу современное приложение для автоматизации бизнеса.
Не стоит думать, что наличие инструмента с высоким уровнем абстракции снижает требования к специалисту. Просто оно позволяет переориентировать эти требования на другие цели.
Платформа «1С:Предприятие» позволяет быстрее вести разработку и быстрее осваивать необходимые технологии. Но очевидно, что для проектирования или модификации большой и сложной прикладной системы нужен высококлассный архитектор и аналитик. Например, если нужно спроектировать систему, состоящую из нескольких тысяч сущностей и автоматизирующую бизнес-процессы из сотен шагов, то требуется не просто специалист, а очень хороший специалист.
Еще момент, который часто является источником заблуждений, – это попытка оценивать в каких-либо системах исключительно язык программирования. В «1С», как и во многих современных системах, язык программирования – это только маленькая часть инструмента. В «1С:Предприятии» достаточно простой язык, но он является только связующим звеном. Платформа (framework) представляет собой сумму используемых технологий. Соответственно, разработчик ведет разработку не с помощью языка программирования, а на основе набора предоставляемых инструментом моделей и технологий. Именно в них сосредоточен уровень инструмента.
Одно из преимуществ «1С:Предприятия» в части развития специалиста в области бизнес-приложений в том, что оно позволяет начать с малого, например, с небольших доработок к типовому функционалу. И, соответственно, позволяет вырасти начинающему специалисту в Спеца (с большой буквы) и Гуру. Если, конечно, он хочет.
Чтобы лучше понять, в чем сосредоточен профессионализм 1С:Программистов, нужно понять, в чем заключается сложность и особенность разработки современных приложений для автоматизации бизнеса.
Например, представьте, что вам нужно разработать приложение для автоматизации системы управления заказами логистической фирмы. А ведь это далеко не самый сложный случай и даже не комплексная задача.
Можно рассматривать здесь разработку и на «1С:Предприятии», и на любом другом инструменте, например, универсальном языке программирования. Прежде всего, задача будет заключаться в том, чтобы построить модель (в виде состава сущностей и процессов), отражающую предметную область настолько адекватно, чтобы потом успешно развивать систему. Потом нужно проработать ролевую модель пользователей и систему прав доступа (на уровне сущностей и на уровне записей) и, возможно, внести изменения в модель сущностей. Далее – реализация эффективных алгоритмов обработки (возможно, денормализация…). Потом создание удобного (как минимум в наиболее частотных процессах) пользовательского интерфейса. Потом обкатка всего этого на реалистичных данных с имитацией многопользовательской нагрузки.
Конечно, это очень и очень упрощенное изложение порядка разработки. Вы можете легко добавить сюда с десяток пунктов. Вот умение сделать все это, причем так, чтобы это действительно решало задачи бизнеса и было эффективным (по производительности, удобству…), и есть профессионализм 1С:Программистов.
Система «1С:Предприятие» (в виде платформы, библиотек, типовых решений) помогает в этом, делает за специалиста большой объем низкоуровневой и подготовительной работы. Но квинтэссенция задачи и основная ответственность, конечно, остаются на разработчике. И если решать эту же задачу на универсальном языке программирования, то нужно будет решить весь тот же набор задач, плюс выполнить достаточно существенный объем более низкоуровневой разработки. При этом высокоуровневая разработка не станет от этого менее ответственной. Если, например, вы ведете разработку на универсальном языке программирования и у вас в команде нет специалиста по разработке бизнес-приложений (такого, как 1С:Программист), то у вас ничего не получится. Не получится собственно решения для автоматизации бизнеса.
Еще одна особенность 1С:Программистов – это повышенные требования к пониманию потребностей бизнеса. Речь не об умении вести переговоры с заказчиком, это, конечно тоже полезно. А о том, чтобы научиться понимать заказчика в самой сути его реальных потребностей и искать с ним вместе оптимальные решения по автоматизации работы, а часто и изменению организации процессов. Здесь, чтобы надолго не уходить в эту область, я бы хотел сослаться на книгу Эрика Эванса «Предметно-ориентированное проектирование (DDD)».
Многие профессии, а особенно в IT, не являются чем-то застывшим.
Для профессии 1С:Программиста, как мне кажется, есть две важные тенденции развития в последнее время: общее развитие и дополнительная специализация.
Общее развитие напрямую отвечает развитию потребностей предприятий и развитию IT.
Развитие потребностей предприятия нацелено на более сложные бизнес-процессы. Раньше почти все предприятия довольствовались тем, что система автоматизирует рутинные процессы. Сейчас существенная часть ожидает от автоматизации реального влияния на эффективность работы. Соответственно, если раньше было достаточно уметь спроектировать алгоритм проверки остатка на складе, то сейчас зачастую нужно уметь проектировать такие алгоритмы, как оптимизация планирования и распределения заказов по нескольким факторам.
Развитие IT тоже не дает дремать. Например, активный переход к удаленной работе пользователей через Интернет потребовал от 1С:Программистов освоения технологии клиент-серверного программирования. Просто потому, что платформа может упростить и ускорить разработку, но не может (и не должна) исключить необходимость знания основных архитектурных аспектов и парадигм.
Еще один пример – интеграция. Постоянное развитие IT в сторону интегрированных систем потребовало освоения и умения применять различные интеграционные технологии. В общем, тут тенденция такая же, как и в целом в программировании бизнес-приложений. Если раньше разработка практически ограничивалась работой с базой данных и формами, то текущая тенденция требует активной работы с процессами, построения Web-API и т. д.
Еще здесь стоит сказать про направление в области разработки мобильных приложений. Причем тут у разработки бизнес-приложений есть существенная особенность. Мобильные бизнес-приложения в большей степени, чем другие, являются не просто мобильными приложениями, а частью единой интегрированной системы, включающей и backend, и desktop, и мобильное представление. Соответственно, здесь разработка мобильных приложений не становится совсем независимой областью деятельности.
Еще, разумеется, стоит сказать про облачное направление. Тут важно, что это не только работа «1С:Предприятия» в модели публичного сервиса, но и реализация облачного развертывания системы в крупных корпоративных внедрениях.
Иногда специалисты по «1С:Предприятию» сетуют на быстрое развитие технологий. Но ведь мир не стоит на месте. «Приходится бежать со всех ног, чтобы только остаться на том же месте! Если же хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее» (Л. Кэрролл, «Алиса в Зазеркалье»).
Хочется отдельно отметить еще одну тенденцию из общего развития, не столь прямолинейно прослеживаемую. Это увеличение веса моделирования. Всю разработку (не только в «1С:Предприятии») можно условно разделить на разработку на основе моделей и непосредственно написание кода.
В общем, в «1С:Предприятии» изначально доля разработки «от моделей» была достаточно высока. Например, проектирование на основе метаданных. Во многом это и обеспечивает скорость разработки. Но в последнее время то, что раньше было в разработке более «конкретным», стало более «модельным». Здесь можно упомянуть систему компоновки данных, управляемые формы, функциональные опции и т. д.
Например, с некоторой точки зрения было проще написать код заполнения отчета на встроенном языке: бери значение и помещай в ячейку. При работе с системой компоновки данных нужно осваивать инструмент моделирования – схему компоновки данных. Но переход к использованию моделей здесь необходим, если вспомнить про все новые требования, которые предъявляет бизнес к отчетам: гибкая настройка, работа с ограничениями прав доступа и т. д. В общем, здесь важно понимать, что это не просто применение другого набора инструментов, это определенный сдвиг парадигмы, который требует некоторого изменения мышления.
Дополнительная специализация у 1С:Программистов за последние несколько лет стала более четко прослеживаемой. При этом она не отменяет «базового набора» качеств, о которых мы говорили. Но все-таки объем и многообразие задач, решаемых 1С:Программистами, потребовали большей концентрации на определенных аспектах.
Например, рост масштабов внедрений потребовал появления специалистов, которые имеют знание и, главное, опыт в обеспечении эффективной работы нагруженных многопользовательских систем. Прикладная специализация от деления «чисто по типовым конфигурациям» постепенно смещается в сторону деления по областям автоматизации (финансы, производственные процессы…).
Еще один аспект специализации – ориентация на малый, средний и крупный бизнес. Система «1С:Предприятие» используется на всех трех уровнях, но особенности работы системы отличаются. Причем здесь важно далеко не только техническое отличие. Для работы на каждом из этих направлений нужно понимать устройство и практику работы компаний и людей в этих компаниях. С точки зрения крупного бизнеса идет постоянное увеличение масштаба внедрений. Соответственно, для понимания работы ERP-решений (по крупному, с упором на «P»), работы холдингов с сотнями и тысячами пользователей системы нужны особые знания и особый опыт.
В малом бизнесе развитие тоже идет достаточно активно. Понимание современного малого бизнеса (динамичного, требующего очень удобных решений и быстрых изменений, мобильного во всех смыслах) – это отдельное направление, причем очень интересное и перспективное. Замечу, что, по сути, специалистов, которые могли бы похвастаться, что «Я хорошо знаю современный малый бизнес» или «Я могу автоматизировать работу компании (не просто выписку документов, а финансы, планирование, производство…) на 1000 пользователей» не так много, а ценность и потребность в них будет расти.
Куда расти 1С:Программисту?
Возможно, это самый важный вопрос в любой профессии. Потому что людям, как молодым, так и опытным, важно не только развитие профессии как таковой, но и возможность именно своего собственного развития независимо ни от развития IT, ни от конъюнктуры рынка.
Здесь еще раз хочется заметить, что «1С:Предприятие» как платформа и набор конфигураций – это инструмент. А вот направление его использования (то есть тот рынок и та экосистема, которая существует) охватывает огромный спектр задач по применению этого инструмента. Соответственно, возможности роста специалиста по «1С:Предприятию» столь же велики, сколь и возможности роста специалиста по созданию и внедрению бизнес-приложений вообще.
Попробую перечислить кратко, кем может стать 1С:Программист.
- Аналитиком-проектировщиком, понимающим, как устроен бизнес, и способным проектировать решения со сложными бизнес-процессами в таких областях, как управление производством, планирование, бюджетирование и т. д. Это очень и очень непросто, и это действительно редкий дар.
- Высококлассным программистом бизнес-приложений. Тем, кто способен писать эффективный, надежный и красивый код с использованием всех инструментов моделирования. Особенно если код ориентирован на работу большого количества пользователей. На первый взгляд это кажется банальным. «Какой же это рост?» – скажете вы. Но уверяю, негласный титул «суперпрограммиста» ценится очень высоко и встречается редко. И работа на платформе «1С:Предприятие» тут ничем не отличается от других систем. Такие специалисты очень нужны в сложных и больших проектах.
Хочется сделать небольшое отступление относительно оценки разработчиков. Как кажется, одной из особенностей IT-области является отсутствие сколь-нибудь понятных и общеизвестных критериев специалистов. Мы привыкли делить разработчиков по языкам программирования, ну еще можно выделять тех, кто руководил командой.
Но ведь это не то! Те, кто имеет опыт подбора и управления разработчиками, отлично знают, что разработчики существенно отличаются по силе (квалификации, способности решать сложные задачи, результативности). По своему уровню разработчики отличаются не на проценты, а в разы и на порядки. Это не гипербола!
Но ведь нет никаких явных признаков и категорий типа «программист 6-го разряда». Зато известно, что есть задачи, которые можно поручить только суперспециалисту. Потому что другие не просто не сделают это в разумный срок, но просто не сделают это никогда. Ну, или сделают так, что лучше бы не делать. Для 1С:Программистов ситуация здесь, конечно, ничем не отличается.
Вернемся к тому, кем может стать 1С:Программист…
- Экспертом по развертыванию и оптимизации масштабируемых высоконагруженных систем. То есть тем, кто может обеспечить работу отказоустойчивой и производительной системы с тысячами пользователей. Поверьте, это суперквалификация, независимо от используемого инструмента.
- Гуру по юзабилити. Здесь речь не просто про рисование красивых и удобных форм. Речь про создание интерфейсов, обеспечивающих работу пользователей в сложных workflow, насчитывающих десятки шагов. Таких специалистов очень мало.
- Есть еще несколько относительно новых направлений, например: «Специалист по интеграции», «Специалист по разработке мобильных приложений», «Специалист по облачному развертыванию».
- Ну и наконец, классный PM – это всегда классный PM. Сюда же можно отнести и тим-лидов. Это управление людьми и задачами в сложном проекте. Тут, кажется, не требуется особых комментариев. Ну и обычно PM или тим-лид обладает одной или несколькими из перечисленных выше квалификаций.
Конечно, это далеко не самый полный список направлений развития. Но все перечисленные здесь способности специалистов очень востребованы, уважаемы и высоко оцениваются и в сообществе, и компаниями (во всех смыслах).
Как представляется, здесь главное – определиться, куда вы лично хотите двигаться, в какую сторону хотите профессионально развиваться. Система «1С:Предприятие» может вам помочь в развитии. Но, конечно, основной труд за вами.