Итак, давайте представим себе какого-нибудь бородатого разработчика С++ и взглянем его глазами на "типичного 1С-ника".
К примеру, что мог бы сказать вот такой вот парень:
Если опустить эпитеты касательно умственных способностей и нецензурные выражения, в сухом остатке, как правило, получается примерно следующая картина:
1) Они не понимают, как работает их система.
2) Они не знают ничего кроме 1С и никогда ничего кроме 1С не видели.
3) Они не понимают, как их система работает с СУБД, http, js... Хотя всё это используют.
4) Как можно вести разработку без ООП? На коленке?
5) Качество кода и 1С - несовместимые понятия.
6) Мы используем GitFlow, Scrum, RUP, TDD... О чём можно говорить с людьми, которые не знают что это такое.
7) Да они сами 1С не любят и при любой возможности занялись бы разработкой на чём-нибудь другом.
В итоге, в голове "бородатого разработчика С++" 1С-ник выглядит примерно так:
А само слово "1С-ник" начинает звучать как ругательство.
Конечно же, товарищи системщики не правы, всё что выше - это совсем не про нас.
Тем не менее, порог входа "в мир 1С" достаточно низок, из-за этого появляется большое количество разработчиков, от которых можно услышать фразы вроде:
- "мне не важно, как это работает - главное работает (пока)"
- "Я 1С программист, а тут уже не 1С - это не ко мне"
- "Я написал код, он работает, что вы ещё от меня хотите"
- "Все эти модные методологии и слова - это всё не для 1С"
- "за что мне платят, то и делаю, мне всё равно, что и как делать"
- "я сделал как умел, когда начнёт тупить, тогда и переделаю - пока же работает"
- "у меня на ваши тесты, стендапы, технический долг нет времени"
- "1С - это гадость, на которой приходится рабтать"
Если узнали в какой-то из этих фраз свою - можно, конечно, "кинуть в меня говном камнем" в комментах, но правильнее задуматься и дочитать до конца, а может, даже сделать какие-нибудь выводы.
Итак, что же делать, чтобы "не быть 1С-ником":
1) Любите свою работу
И это не просто ради красивого словца. Действительно, если вы не любите то, чем занимаетесь - ничего не получится.
Лучше бросайте это дело и найдите себя в другой области, пока не поздно. На край - всегда открыта дорога в консультанты/аналитики/РП/QA/технические писатели/лекторы.
Если на работе вы "от забора до обеда" занимаетесь разработкой печатных форм, и не видите перспектив - бросайте эту работу. Уйдите на меньший оклад.
Рост квалификации окупит временную потерю в окладе достаточно быстро.
Есть, конечно, и менее радикальный вариант - задача должна вызывать хоть какой-то интерес. Даже если это обычная печатная форма - сделайте её самым оптимальным методом - без косяков и ошибок. Либо за минимальное возможное время, выучив все хоткеи и шаблоны.
Изучите универсальные конструкторы печатных форм, автоматизируйте рутинные операции, вынесете код, которые присутствует в каждой форме в общие модули.
Видите, сколько всего можно найти даже в задаче разработки печатных форм. А однажды к вам придет сотрудник и спросит - а можно, чтобы в этой форме был QR код? Можно, чтобы часть полей в ней редактировалось? Можно, чтобы подставлялись различные факсимиле? Можно, чтобы была кнопка, которая нажимается?
В этот момент нужно сказать не "нет, 1С этого не может" (даже если действительно не может), а предложить решение:
- давайте сделаем формирование формы непосредственно макросом excel
- давайте сделаем её в HTML и встроим js, обращающийся к http сервисам?
- давайте используем внешнюю компоненту?
Конечно, в этом случае трудозатраты вырастут, и представителей бизнеса придется об этом предупредить.
Но "нет" и "да, но дорого" - это уже совсем разные подходы. Принципиально разные. Я бы сказал что "нет, невозможно" говорить представителям бизнеса вообще нежелательно - для вас нет ничего невозможного, просто реализация некоторых "хотелок" - очень дорогое удовольствие.
А ещё лучше, когда вы подходите и говорите "а давайте я сделаю вот такую вот штуку". Пусть не представителям бизнеса - своему руководителю. Проявляйте инициативу! Если есть какая-то идея сделать что-то крутое и классное, даже если на 90% уверены, что это не пригодится - просто предложите! Даже не поверите, сколько инициатив принимается бизнесом непосредственно от ИТ подразделений... в случае правильных ИТ подразделений, конечно.
2) Общайтесь и работайте совместно с "коллегами по цеху"
Как большое достижение, так и большая беда 1С - в том, что среда разработки очень проста и удобна, и большинство стандартных задач вполне решаются силами одного 1С разработчика.
Мы сами разрабатываем и Back, и Front (выражаясь языком web разработчиков). Соответственно потребность в коллаборации намного меньше, чем у традиционных команд.
И этим часто пользуются. Очень много систем, поддерживаемых одним разработчиком; проектов, выполняемых одним программистом; компаний, в которых работает один программист; да и компаний, которые состоят из одного программиста.
Так вот, если хотите развиваться - вам необходимо работать в команде разработчиков!
Разработка и командная разработка - две разные вещи. Крупные системы и серьёзные проекты не разрабатываются в одиночку. Конечно, 1С ограничивает нас в возможностях совместной работы, впрочем, на момент написания этой статьи эта ситуация уже собирается измениться - EDT обещает нам вполне адекватные возможности для совместной работы.
Кроме того - общение с коллегами часто чуть ли не лучший способ получения знаний.
Простые вопросы:
Сколько сообщений на Infostart вы написали за последний месяц? Комментировали новости, публикации?
Сколько сообщений вы написали на партнёрском форуме 1С?
Сколько сообщений на мисте?
Можно считать это пустой тратой времени, но на самом деле вы таким образом не только получаете информацию, но и очень тщательно её запоминаете. Не хочется же выглядеть глупо, правда? :)
3) Регулярно читайте информационные ресурсы
Я бы рекомендовал регулярно просматривать обновления по следующим ресурсам:
//infostart.ru/
https://its.1c.ru/
https://wonderland.v8.1c.ru/
https://habrahabr.ru/
https://technet.microsoft.com
http://www.sql.ru/
https://stackoverflow.com/
Но список у каждого может быть свой. Главное чтобы эти ресурсы были. Со временем их, наверное, можно считать областью ваших интересов. Хотя обновления статей на ИТС и Инфостарте я бы всё-таки просматривал регулярно.
4) Участвуйте в конференциях
Есть замечательный ресурс https://welcome.timepad.ru/
Можно подписаться на обновления.
Собственно известные конференции, в которых очень полезно было бы участвовать:
- Инфостарт Event (конечно же!)
- Партнёрская конференция 1С
- HightLoad++
- Некоторые из РИТ.
Ну и может что-то для себя ещё найдёте.
5) Попробуйте разработку не 1С. Поучаствуйте в OpenSource проектах.
Займитесь собственным проектом. Выложите свои разработки в открытый доступ.
Попробуйте - это интересно. Заведите аккаунт на github. Выложите свои разработки на Infostart. Это самый простой и верный способ получить "обратную связь".
Кроме того, освоение не 1С-ных языков разработки позволит лучше понимать функционирование системы "изнутри".
Один раз организовав управление сеансами и взаимодействие с СУБД вручную, вы поймёте - как же много делает за нас платформа.
Среди web разработчиков, к примеру, считается, что если у вас в портфолио нет собственных проектов, то вы не можете претендовать на сколь-нибудь серьёзную вакансию.
У большинства хороших разработчиков есть ссылки на их разработки на github. В мире 1С это вполне могут быть ссылки на Infostart, хотя впрочем... github тоже вполне подойдёт.
Зачем пробовать не 1С-ный язык разработки? Да элементарно - расширяет сознание. Написание нескольких приложений с использованием ООП даст понимание, почему повторное использование кода это хорошо, и что такое на самом деле БСП в 1С. А если попробуете то-нибудь сваять на функциональном языке программирования (лучше прямо хардкор - haskell, к примеру), это будет такая тренировка мозга... после которой хочется напиться :).
6) В конце концов, курсы, экзамены и книги никто не отменял.
Если вы не знаете какую-либо область в 1С, а самостоятельно освоить её нет времени - сходите на курсы. Это не признак "незнания" - это желание развиваться. На работе не заплатят за курсы? К этому можно отнестись с пониманием. В редких компаниях развитие сотрудника кому-либо интересно - это не страшно, страшно только если развитие не интересно самому сотруднику.
Есть куча курсов, проходящих в выходные дни и вечернее время. Я бы рекомендовал именно очные курсы, пусть и дороже и нужно время на поездку. Но это время вы приехали в аудиторию и уделяете именно обучению.
Вы вживую общаетесь с коллегами и преподавателем. Это ценно. Суммарные затраты времени у вас в итоге получатся ниже, чем в случае "видеокурсов"/"вебинаров", а качество на порядок выше. Хотя вебинары и просмотр видео тоже лучше, чем ничего.
7) Проанализируйте, каких знаний вам не хватает, и восполните пробелы.
Как рассказывал один очень грамотный человек на последней конференции Инфостарт, hh.ru анализировать нужно и важно. В простонародье это называется карьерным планированием.
Посмотрите, какие навыки и знания требуются в вакансиях, которые вы желаете. Выберете вакансии, которые вам интересны, и подтягивайте свои знания до них.
Ваши коллеги из мира Java и С# занимаются этим с завидной регулярностью. Крайне желательно иметь план собственного развития, вплоть до расписания курсов на год.
В заключение хочется привести цитату известного в 1С кругах человека: "1С развращает". Не дайте развратить вас полностью, не надо становиться "1С-ником", как нас с вами видят "продвинутые" разработчики. Правильнее ощущать себя fullstack разработчиком бизнес приложений, использующим современную платформу, позволяющую решать задачи бизнеса наиболее быстрым образом.
Очень сильно надеюсь, что вскоре, заполняя анкету на какой-либо конференции, я уже не буду чувствовать себя троллем :):