Дневник капитана, нежелтая дата Fri Jun 10.
Сегодня я продолжу рассказ о моем переходе на
Java и кратко поведаю какого 1Снику в мире «настоящего» программирования.
Сразу хочу начать с такого дисклеймера: я, пожалуй, пока еще не могу считаться таким тру-тру-тру разрабом на Java. Я устроился в компанию, которая использует платформу собственной разработки – ORM, некий аналог 1С. Там тоже в визуальном режиме создаются таблицы для справочников, документов, делаются для них формы, отчеты, обработчики. Отличие
лишь в том, что серверный код пишется на
Java, запросы на
SQL, а клиентский – на
JavaScript.
Но развернуться все равно есть где, есть много разных интересных мини-проектов и задач. Например, я подготовил нагрузочное тестирование на
JMeter, теперь занимаюсь написанием интеграции базы и мобильного приложения посредством
Kafka. Кстати, сейчас компания ищет новых сотрудников, так что если у вас есть некоторые знания
Java или
JavaScript, а также желание поработать не на
1С, можете попробовать.
Можно сказать, что мне повезло найти такую вакансию, где мой опыт 1Сника был релевантным, если бы я пошел в чисто Java, то только джуниором, с большой потерей з/п. Да, могу вас расстроить, даже 1Снику с 10-летним стажем тяжело ворваться в мир Java.
Тут вспоминаются издевки, что 1Сники – это не программисты. Конечно, это не так, но язык
1С стоит в стороне от других языков и намного проще и примитивнее. Не знаю, я не могу согласиться с выражением, что, дескать, неважен язык, главное просто решать задачу. Может, я еще не дорос до такого просветления, но в каждом языке есть свои особенности, и только понимая их, можно писать по-настоящему хорошие программы.
Кроме стандартного императивного программирования, из которого состоит 1С, в Java еще есть ООП, Лямбды, многопоточность и многое другое… Вот, например,
задания на позицию джуниора, которые не кажутся такими уж простыми. И это только сама
Java Core.
А еще есть почти стандартный фреймворк
Spring, который использует инверсию управления, внедрения зависимостей, написание аннотаций, так что в начале мозг может взорваться. Кстати, недавно
Никита Федькин представил ОСень, аналог, написанный на
OScript. Это если захочется, вдруг, теперь можно взорвать голову не на Java.
Получается, если 1Сник все 10 лет только занимался поддержкой типовой Бухгалтерии, то, считай, по «ветке развития» Java он и не продвигался. Но и в экосистеме 1С можно заниматься вещами, которые помогут в работе на других языках. Что я могу перечислить:
• Написание
SQL запросов (Это одна из самых сильных черт 1Сников);
• Работа с конкретными базами данных непосредственно (
PostgreSQL,
MS SQL,
MySQL…);
• Интеграции с различными системами посредством
REST API;
• Использование таких инструментов как
Kafka,
Rabbit MQ,
Redis,
Docker,
Jenkins,
Kubernetes и другие модные слова;
• Работа через
Git,
EDT, использование
CI/CD.
В экосистему 1С начали внедряться общемировые практики разработки, но еще с отставанием и недостаточно широко.
Заканчивая, может показаться, что заметка у меня получилась какая-то в пессимистичном ключе, не вдохновляющая… Однако все можно сделать, в ИТ приходят и в 40 из совсем других областей, поэтому все же
программисту 1С будет переключиться намного легче. Главное – это настоящее желание, а к нему придут усердие, силы и время.
В следующий раз я расскажу о процессе обучения на своем личном опыте.