Каталог решений - О пользе классического образования

О пользе классического образования

О пользе классического образования

В наличии

Что является источником знаний для программиста 1С? На что он опирается, решая задачу? Что подразумевается под профессионализмом при программировании в 1С?

Категория:

Описание

Э! – сказали мы с Петром Ивановичем.
Цитата из классика
 

Специалист подобен флюсу: полнота его односторонняя.
Тоже из классика

Из каких именно классиков приведенные выше цитаты, я специально не указал. Кто школу не прогуливал, и так знает, а кто не знает, пусть погуглит. Это не займет много времени.

Собственно, о чем статья. Мне вдруг стало интересно, что является источником знаний для программиста 1С. Ну, не считая учебника Радченко и Хрусталевой, синтакс-помощника и форумов с готовыми рецептами. На что он реально опирается, приступая к решению задачи сложнее, чем добавление поля на форму? Понимает ли прикладной программист 1С ход мысли разработчиков платформы?

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

Ну, это ж и так понятно, скажете вы. Если бы… Все получилось как раз наоборот. Именно с коллегами, не претендовавшими на роль гуру, мы переделали кучу работы, получая удовольствие и от процесса, и от результата. А вот с гуру все пошло наперекосяк.

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

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

Как вы догадываетесь, я выбрал первый вариант, а знания нашел в трех источниках, перечисленных выше. Ни одного сертификата у меня до сих пор нет. А мое резюме теперь читают только до строчки с возрастом. Она там следующая после фамилии. Так что наличие сертификатов, дипломов и прочих регалий все равно останется незамеченным.

Теперь про бывших коллег. В роли гуру выступает дама, в свое время прошедшая хорошую школу франчайзи. На той работе именно ей присвоено право решать, что хорошо, а что плохо в программировании. Выясняя мой уровень подготовки, она приходила в ужас от того, что я не знал элементарных вещей. И ведь действительно не знал. Да, элементарных вещей.

И речь идет не о каких-то основополагающих принципах. Я не знал простых вещей, с которыми не сталкивался до того. Если бы столкнулся, выяснил бы за полчаса, что там к чему. Но раз повода не было, я и не отвлекался на такие пустяки. Просто знал, что где-то в платформе что-то такое существует. Ну, и пусть подождет, когда очередь дойдет.

А вот образованная дама не имела представления как раз о фундаментальных вещах. Например, упоминание реляционной алгебры Кодда ненадолго вогнало ее в ступор. Ненадолго – не потому что она по-быстрому изучила теорию, а потому что вышла из ситуации традиционным способом – сказала, что она здесь решает, как будет правильно.

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

Разумеется, не все шло гладко. Как объяснили задачу, так и понял. Как понял, так и решил. Но в итоге уточняли формулировки, требования, кто что имел в виду, и задача решалась к общему удовольствию. И что характерно, никто из них ни разу не спросил, имею ли я хоть какое-то представление, как подступиться к задаче. Назвался программистом – полезай в конфигуратор.

Вот это все и навело меня на мысль, что здесь что-то не так. Почему незнание каких-то элементарных вещей не препятствует мне в решении реальных задач? Причем задач, сложность которых совершенно несопоставима с прочтением шпаргалок по элементарным вещам, до которых руки не дошли. А главное, задач, с которыми я прежде не сталкивался.

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

Отчасти ответы на эти вопросы начали складываться, когда я только приступил к изучению программирования в 1С. Авторы учебника терпеливо объясняют, как взяться за это ремесло, и за это им огромное спасибо. Жаль только, что в учебнике не сказано, о чем думали разработчики платформы, придумывая то или иное решение. Так вот, я ловил себя на том, что понимаю ход мысли разработчиков платформы. Не факт, что соглашаюсь с решениями, но что понимаю – это да.

А еще, знакомясь с объектами конфигурации, я то и дело вспоминал первую цитату из эпиграфа. Э, думал я, да где-то я все это уже видел. И про все это когда-то читал. И даже что-то такое писал на C. В смысле, на Си. Лет так двадцать назад. Разумеется, тогда все это не было завернуто в красивые фантики, но суть была та же.

Знакомство с программированием у меня началось в конце 80-х. И одновременно со сборниками программ на Бейсике для вычисления безумных формул я читал таких малоизвестных ныне авторов, как Никлаус Вирт, Дональд Кнут, Бьёрн Страуструп и других. Малоизвестных среди программистов 1С. К сожалению, я уверен в этом.

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

Иногда на собеседованиях я даже озвучиваю мысль, что в языке прикладного программирования 1С нет ничего такого, чего не было в программировании 30 лет назад. Возражений пока что-то не встречал. Вот и не пойму, то ли с другой стороны стола действительно согласны со мной, то ли думают, что я не видал 1С новее, чем 7.7.

Во всяком случае, с багажом книг, прочитанных в начале 90-х, я берусь за 1С в ее современном виде и особо не комплексую. Фундамент у нее все тот же. Просто возникает иллюзия, будто для решения задач бухучета нужны какие-то уникальные программные средства с волшебными свойствами. На самом деле ничего сверхъестественного в них нет.

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

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

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

has been added to your cart:
Оформление заказа