0
Обложка: Не олдскул, а перспективы: почему 1С по-прежнему отличный выбор для начинающих специалистов

Не олдскул, а перспективы: почему 1С по-прежнему отличный выбор для начинающих специалистов

«Все деньги сейчас в IT». Более того, даже самим подсчётом денег уже давно занимаются айтишники, ведь объёмы современных бизнесов никак не поместятся на бумаге, тетрадках и счётах. К тому же, всё больше и больше требуется автоматизации процессов внутри компаний. Именно поэтому, симбиоз «бизнеса» и «софта» приобрёл такую важность, и на рынке появилось понятие «бизнес-софт» или «корпоративный софт». Безусловным лидером в этом сегменте давно стали программы на базе решений 1С.

Сегодня в России и странах СНГ почти не существует бизнеса, который бы не использовал хотя бы одной программы 1С. Да, на этом языке вы не напишете 3D-игру класса ААА или новую социальную сеть, но 1С-программистам всего этого и не нужно, потому что их главная цель — помогать предприятиям зарабатывать деньги с помощью автоматизации процессов. А благодаря своему расположению «возле бизнеса» из специалистов по 1С получаются не только прекрасные программисты, но и высококлассные аналитики, и руководители команд разработки.

О том, почему 1С — перспективный язык программирования и отличный выбор для начинающих подробно рассказывает Андрей Овсянкин, системный архитектор «Сберлогистики» и преподаватель курса «1С-программист» в Нетологии.

Андрей Овсянкин
Андрей Овсянкин

Cистемный архитектор «Сберлогистики» и преподаватель курса «1С-программист» в Нетологии

Кому, а главное зачем нужны 1С-программисты?

Специалисты по 1С нужны всем у кого есть бизнес, то есть буквально всем на рынке. Разработчики графики нужны производителям игр, создатели алгоритмов сжатия видео — стриминговым платформам, низкоуровневые программисты — компаниям, создающим «железо». Но и тем, и другим, и третьим нужны 1С-ники, потому что все это — бизнесы, которым необходимо считать деньги, платить зарплаты, автоматизировать производство и так далее.

Если представить себе бизнес, который продает улучшение качества фотографий онлайн, то сама его платформа, наверняка, будет построена на одном из низкоуровневых языков программирования, но всё, что вокруг: обслуживание клиента, оплата, выставление счета, расчёт и выплата зарплат сотрудникам — могут быть полностью реализованы на базе 1С.

Язык программирования 1С — это так называемый «предметно-ориентированный язык», заточенный под конкретные задачи. С самого начала он был придуман для работы с определённой платформой, а именно «1С: Предприятие». На базе этой платформы создаются решения для автоматизации бизнес-процессов: учёта товаров, расчёта заработной платы, налогов и других операций. И все они пишутся на едином коде, который, за неимением оригинального названия от разработчиков, стали обозначать как «язык программирования 1С».

Сегодня системы вроде «1С: Предприятия» часто называют модным словом low-code, оно обозначает среду программирования с низкой потребностью писать код самостоятельно и в большом количестве. Главная функция таких платформ сводится к тому, чтобы быстро создавать работоспособные приложения для решения бизнес-целей с помощью множества готовых решений и инструментов из «коробки». Ключевое слово здесь — быстро. Чем быстрее бизнес выйдет со своей идеей на рынок, тем лучше. Чем дольше бизнес будет ждать, пока программисты все напишут, тем выше шанс, что его опередят.

Почему 1С — отличный старт для новичков?

Во-первых, у 1С низкий порог вхождения. Он очень простой. Во-вторых, он позволяет быстро получать конечный результат. За счет концепции low-code и огромного количества готовых компонентов даже новичок начинает приносить работодателю выгоду практически сразу после трудоустройства. Джуниор в 1С полезен бизнесу гораздо больше, чем джуниор, скажем, в Java, за которым старшие коллеги первое время вынуждены постоянно присматривать, чтобы не натворил бед.

В экосистеме «1С: Предприятие» есть все для разработки простых алгоритмов: готовые экранные формы, библиотеки данных, стандартные отчеты и понятный язык программирования. Специалисту не нужно писать масштабные модули стандартных операций. Все составные части, которые требуются, уже готовы — остается только собрать механизм.

Специалист по 1С очень быстро окупается и имеет широкое пространство карьерного маневра. Можно писать код, а можно анализировать бизнес и предлагать решения проблем, то есть расти в сторону бизнес-архитектора и бизнес-аналитика. Переключение между этими ипостасями для «1С-ника» происходит гладко, так как он по умолчанию владеет обеими предметными областями.

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

Многие программисты, специализирующиеся на других языках, хихикают и говорят: «Ха, смотрите! Они пишут “если”, а мы пишем “if”». Ну так их иностранные коллеги пишут как раз «если», поскольку именно это слово и думают. А наши вынуждены мучиться с трудностями перевода. Я всегда смеюсь, когда вижу в коде на C# или Java переменные SchetOplachen и Sklad. Бедные авторы, бедные те, кто это сопровождает потом.

Всем нужны «решатели» проблем: задачи 1С-программиста

Главная задача любого программиста (не только «1С-ника») — приносить компании пользу, именно за это специалист получает деньги. Для бизнеса программист — хоть и ценный, но всё же, ненужный посредник между прибыльной идеей и её реализацией. Именно поэтому, бизнесу вообще не важно, на каком языке ты программируешь. А важно другое — как скоро и насколько качественно ты сможешь решить проблему автоматизации того или иного процесса. Вот почему системы low-code так востребованы, они решают проблемы с минимальным участием программистов и меньшими финансовыми и временными затратами.

Работа 1С-программиста построена просто: сначала он анализирует входящие требования клиента и определяет что нужно сделать и какой у задачи смысл. Например, ему нужно настроить для интернет-магазина систему выгрузки данных о том, какие товары остались на сайте и загрузки информации о заказах (цене, количестве, номенклатуре).

Сначала 1С-программист воплощает идею в виде модели данных (решает, какие объекты будут создаваться — заказы, пользователи, товары, счета и тому подобное), а затем пишет алгоритм, как именно эти объекты будут взаимодействовать между собой, создает экранные формы и отчетность под решение конкретной задачи. То есть, один человек решает проблему целиком. Вот и получается, что 1С-ник — это «решатель проблем» и «достигатель бизнес-цели», а не только «программист». И это гораздо ценнее.

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

Только представьте, задача «сделать кнопку «Заказать» недоступной, если не внесена предоплата» у 1С-ника занимает 2 минуты. На другом стеке двум командам разработки: фронтенда и бэкенда нужно будет договориться о том, как две части программы будут взаимодействовать и в каком формате одна команда передаст данные другой. Это занимает примерно неделю обсуждений, разработки и тестирования, и эту неделю бизнес будет ждать своего готового решения.

Какие навыки и знания нужны программисту 1С?

Как и любому другому разработчику, «1С-нику» важно обладать аналитическим складом ума, чтобы понимать, в чём заключается задача, из каких компонентов она состоит и как «шестерёнки» должны закрутиться, чтобы всё заработало. Не менее важны коммуникативные навыки и умение находить общий язык с клиентом. Часто бывает, что заказчик приходит с какой-то идеей, но сам не может чётко выразить, чего хочет на самом деле. Чтобы понять его цели и эффективно сделать свою работу, программисту просто необходимо уметь общаться.

На каком языке ни пиши, всегда приходится упираться в особенности работы «железа» и настройки операционной системы, поэтому потребуются и «общеайтишные» знания: как работают диски, процессор, память или, например, как функционируют базы данных и почему в одном случае они выполняют запрос медленно, а в другом — быстро.

Важно понимать, какие есть средства разработки, как писать код, знать, что такое алгоритмы и переменные, какие существуют типы данных, что такое циклы, процедуры, функции и прочая кухня, свойственная всем языкам программирования. Но в случае с 1С огромную долю работы на себя берёт платформа, поэтому в сложности работы компьютера «1С-нику» на начальных этапах карьеры погружаться не приходится.

Если говорить о «хардовых» навыках, то постепенно программисту придется изучить блоки и компоненты самой 1С, систему зарплатных регистров, периодические расчёты. Не менее важно уметь создавать разные виды справочников и документов, работать с запросами, а также применять языки разметки XML и JSON, сервисы HTTP и SOAP. Опытные 1С-программисты должны понимать не только, как адаптировать и дорабатывать готовые решения, но и как с нуля создавать конфигурации и веб-сервисы под нужды бизнеса, поскольку запросы каждого предприятия уникальны.

Из «непрограммистских» навыков полезными, но не обязательными являются знания учёта и основ бизнеса: как и чем компании вообще живут. Например, в Нетологии студентам преподают ещё и основы бухгалтерского учета.

Будет ли легче учить другие языки программирования со знанием 1С?

Сегодня отраслей и предметных областей, которые так или иначе затрагивает IT — очень много, поэтому знание нескольких языков для программиста это норма. Даже, если ты пишешь на JavaScript, тебе на компьютер ставится Python и C++, потому что node.js их себе требует. Знание нескольких технологий и широкий кругозор сегодня почти обязательны.

В этом тоже, кстати, преимущество 1С. Если ты не знаешь фронтенда, то твоему начальнику придется привлекать к команде разработки веб-программистов. Однако, если ты разбираешься в 1С, то можешь долгое время работать, обходясь только этим языком программирования и быть, при этом, успешным специалистом. В других же стеках, если ты знаешь только одну технологию, то ты со связанными руками, потому что ни одной серьезной задачи бизнеса ты не сможешь сделать целиком.

Если у человека есть желание кодить и осваивать новые языки, то, с одной стороны, после 1С ему будет легче — не придётся заново запоминать, что такое переменная, условие и цикл, потому что это общие концепции, которые есть и в других языках. С другой стороны, будут и сложности: придётся переключаться на кодинг на английском языке, а также привыкать, что под рукой нет решений из «коробки» и все низкоуровневые вещи, вроде миграции полей в базе данных и рисования интерфейса, нужно писать самому.

В целом, будет нетрудно переключиться на Java Script, потому что это стандартная разработка для веба, или освоить Python — язык, который в принципе создавался для того, чтобы быть простым. Поэтому, ответ — да. Если никогда не программировал, то после изучения 1С будет легче изучить что-то ещё.

Где учиться на 1С-программиста?

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

В Нетологии на первом этапе обучения реализован метод «программирования без кода». Сначала студенты учатся создавать решения нажатием кнопок мыши вообще без кода. И они, даже не написав ни строчки кода, видят результат своей работы — готовое работающее приложение. Можно ввести необходимые данные (клиент, заказ, склад) и посмотреть на результат. Это даёт первичное понимание процесса работы «1С-ника».

После освоения базовых навыков, наступает этап детального изучения самой программы. Здесь студенты не только оттачивают мастерство работы с блоками и компонентами 1С, но, главным образом, учатся понимать, как автоматизировать бизнес-процессы так, чтобы это помогало предприятиям развиваться и приносить прибыль. Если погружение в обучение было последовательным и тщательным, выпускники курсов без труда устраиваются на работу уже в новом качестве — 1С-программистов.