В нулевой части прописана моя мотивация: для чего я пишу эти статьи
В первой части прописан мой опыт обучения и эмоциональные качели
Данная вторая часть содержит выводы:
Выводы по учебным материалам
Вывод про кодинг в 1С
Общий вывод
Важно помнить, что это моё мнение, которое обусловлено моим жизненным опытом, знаниями и компетенциями (про это всё написано в нулевой части).
И, конечно, материал рассчитан на таких же нулей в IT и программировании, как я, потому что историй про успешный успех слишком много, а неровных, эмоциональных, неудачных путей до IT-специалиста критически мало.
Если вы в хоть какой-то степени разбираетесь в программировании и для вас всё "элементарно", "понятно", "легко", "банально", то, пожалуйста, прочитайте про когнитивное искажение "проклятие знания", оно поможет вам в некоторой степени понять, как я вижу и воспринимаю IT-сферы и 1С в частности.
Выводы по учебным материалам
В самом начале, ещё год назад в сентябре и октябре 2022 года, я просто искал общую информацию о том, что такое IT и что можно тут делать. На самом деле по фронтенду, бекенду, базам данных и другим аспектам IT очень много учебной литературы от разных авторов, которые обучают с нуля, разжёвывая и кладя в голову, а если книга не понравится, то можно найти другую книгу другого автора, где он тоже с нуля всё рассказывает, и при этом большинство из этих книг в свободном доступе. Можно найти на просторах интернета совершенно бесплатно!
А что мы видим у 1С: только лишь с благословения компании 1С можно выпускать книги и курсы. Есть ли в свободном доступе свежие книги? Нет. Нужно иди на литрес и отдавай 300-500 рублей за электронную версию книги, которая не особо переработана по сравнению с прошлым изданием. Даже не эта монополистическая черта мне не нравится, а не нравится мне следующее, что 1С это вещь в себе, здесь всё своё:
1. Фрондент (интерфейс, формы и т. д.)
2. Бекенд (встроенный язык)
3. SQL (язык запросов)
1С являтся low-code платформой, поэтому фронтенд, бекенд и SQL здесь урезанные, но для упрощения я их с очень большой натяжкой приравниваю
Это три огромные области в IT, которые в одной книге, где 1/3 страниц – это картинки, не объясняются. И стоит отметить, что фронтенду и SQL отдаётся гораздо больше предпочтения в учебном материале, чем бекенду.
К встроенному языку в учебных книгах вообще наплевательское отношение, если что-то сложное и непонятное, то авторы сразу же ссылаются на «синтакс-помощник» или на руководство разработчика (есть на их сайте). То есть тогда, когда нужно по словам объяснять, что зачем и почему в данном коде происходит, что делает одна строчка в данном случае, а что вторая и т. д., почему эта процедура вызывает функцию, а другая процедура вызывает процедуру, а процедуры могут быть на клиенте, могут быть на сервере и т. д., они объясняют очень скупо и пишут «ну вы сами можете ознакомиться в синтакс-помощнике или в руководстве».
Так качественные учебники не пишут, потому что по такому описанию ничему не научиться, если с нуля изучаешь. Такое пройдёт только с теми, кто пришёл из другой сферы IT и примерно понимает, как что работает.
Зачем нужны качественные учебники? Для того, чтобы затратить на овладение какой-либо компетенции 100 часов, а не 500.
Если учебник плохой, но долбиться в него, то, конечно, за 500 часов можно получить все те же знания, что из хорошего учебника; но при изучении хорошего учебника, на который уйдёт 100 часов, можно изучить ещё один хороший учебник за 150 часов, третий за 50, четвёртый за 200.
И вы сами понимаете, если будете изучать четыре плохих учебника, но надеетесь, что знания будут такие же, как от хороших, то умножайте проделанную работу на 5-7, потому что ещё примерное столько времени придётся искать недостающие фрагменты, которые не прописаны в этих книгах.
Я сужу и как полный ноль в IT-сфере, но и как человек, который любит преподавание и обучение, поэтому говорю, что 1С не предоставляет качественных и хороших учебников, которые смогут обучить человека без знаний в IT. Наверное, они могут быть полезны тем, кто имеет хоть какое-то представление о разработке.
Если бы я имел все те знания, которые имею сейчас, я бы выстроил своё обучение таким образом:
- Самое важное, если нет никаких знаний в разработке на ЯП – то ни в коем случае не соваться в 1С-разработку
Если есть знания:
- Никакие курсы проходить не нужно
- Базовое изучение по книгам в таком порядке:
1. Радчено М. Г. 1С:Программирование для начинающих. Детям и родителям, менеджерам и руководителям. Разработка в системе 1С-Предприятие 8.3. Изд 2. 2022.
2. Хрусталева Е. Ю., Радченко М. Г. 1С:Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы. Издание 3. 2023.
3. Хрусталева Е. Ю. и д. р. Разработка интерфейса прикладных решений на платформе 1С:Предприятие 8. 2018.
4. Хрусталева Е. Ю. Язык запросов 1С:Предприятия 8. Издание 2. 2021.
5. Хрусталева Е. Ю. Разработка сложных отчётов в 1С:Предприятии 8. Система компоновки данных. Издание 3. 2021.
- Параллельно читать что-нибудь про бух учёт, как минимум книгу «Бухгалтерия для небухгалтеров. Перевод с бухгалтерского на человеческий. 2022», потому что эти знания обязательно пригодятся
- Книга «Профессиональная разработка в системе 1С:Предприятие 8. Том 1 и 2. 2012» не плоха как справочник. В ней мало практических заданий, поэтому как учебник она не подойдёт. Только если нужно углубиться в какие-нибудь вопросы, которые возникают в процессе обучения, например, зачем нужны директивы &НаКлиенте &НаСервере и какая логика работы, когда они используются и многое другое.
- Дальше по обстоятельствам, какие компетенции необходимы, по таким и изучать книги, благо их очень много, но качество скорее всего точно такое же, как и у остальных: поверхностное объяснение сложных аспектов 1С
- Делать всё, что делает автор и делать задания для самостоятельной работы.
Вывод про кодинг в 1С
Я ошибся в том, что намеревался через 1С быстро залететь в IT и особенно в разработку, потому что 1С не про кодинг в чистом виде. Он очень много требует знаний по внутреннему фронтенду (интерфейс), по SQL (язык запросов) и по бекенду (внутреннему языку), учитывая, что по своему же бекенду у 1С очень мало целостной информации где бы то ни было.
Поэтому если фронтенд и SQL довольно неплохо раскрыты почти во всех 1Сных учебниках, у них даже есть отдельные учебники: пункты 3 и 4 выше, то для бекенда у них нет отдельного учебника, только лишь ссылки на синтакс-помощник и на руководство, которые не являются учебниками, а являются справочниками с очень сухими пояснениями. У меня не было знаний о других ЯП, поэтому встроенный язык мне не дался вообще.
Год назад во время месячного изучения фронтенда, супер-поверхностного изучения Java и командной строки Windows, я всё время работал с чёрным экраном разработки. Таже я наткнулся на Vim, и мне очень понравилась идеология данного инструмента: разрабатывать, не отрываясь от клавиатуры, абсолютно снизить любое использование мыши, потому что скачка от клавиатуры к мыши и обратно довольно утомительна и съедает время.
Соответственно, у 1С кодинга я прочувствовал несколько важных проблем:
1. Белый экран при написании кода. Везде все ЯП пишут на чёрном экране, но 1С особенные и оригинальные, поэтому код пишется на белом экране. Если 8 часов кряду сидеть и смотреть на светящийся белый экран, то очень быстро глаза начинают уставать и болеть.
Есть превосходное простое приложение «f.lux», которое подавляет синее свечение, уводя экран в оранжевые оттенки (это обусловлено физиологией глаза и мозга, связано с циркадными ритмами, но это тема другого разговора). В общем, в итоге я себя более менее комфортно чувствовал, имея дело с белым экраном, но всё равно скучал по чёрному экрану.
2. Особенный путь кодинга 1С проявляется в аспекте нумерации строк: нумерации нет. Вывести нельзя. Поэтому при кодинге нужно: 1) оторваться от клавиатуры, 2) взять мышь, 3) мышью щелкнуть правой кнопкой, 4) в контекстном меню выбрать нужное, 5) откроется окно, 6) в котором необходимо вбить номер строки и только тогда платформа переведёт вас на нужную строку…
3. Кодить можно на Eng и Ru, но, конечно, кодить вы будете на русском языке, а это значит, что все необходимые символы, которые вам нужны, будут находиться в английской раскладке: «[», «]», «<», «>», «&», «#», «|», « ` ». Земля пухом, что сказать… (конечно, можно заучить символы через «alt + …», ну это костыль для костыля).
4. Если вы что-то добавляете в интерфейсе или коде, то вам нужно проверить то, как это работает, поэтому необходимо запустить всю конфигурацию, а ВСЯ конфигурация будет запускаться от 30 секунд до пары минут. А вы ещё новенький, вы не знаете, что вообще делает та или иная конструкция, поэтому вы просто копируете её из инета или книги и надеетесь, что сработает. Представьте, вы будете тыкаться так раз 10: заходить обратно в конфигуратор, менять строку кода, перезапускать платформу, ждать, когда прогрузится…
Даже если со всеми этими четырьмя пунктами можно смириться, то для меня самая главная проблема – это то, что я не кодил, а занимался тем, что тыкал мышкой по экрану и работал с интерфейсом…
1С не про кодинг в чистом виде. И не для абсолютных новичков, которые хотят научиться именно писать код.
Общий вывод
Резюмируя весь мой опыт обучения и работы в 1С (который написан в 1 части), я скажу следующее.
В 1С реально можно быстро залететь, как показывает мой опыт, за месяц упорного обучения, я получил три приглашения на работу.
(О третьем совершенно забыл сказать. Мне позвонили за пару дней, как я сдал сертификат «1С:Профессионал», я спросил, почему вы меня зовёте, мне ответили, что по описанию резюме очень амбициозно, я сказал, что спасибо вам большое, я очень рад, что мои старания привлекли ваше внимание, но меня уже позвали на другую работу. И я снял объявление с hh, чтобы мои старания больше не замечали)
1С на самом деле предоставляет большие возможности для будущих IT специалистов, не разбирающихся в IT: можно устроиться консультантом, стать экспертом в одной или двух конфигурациях в более-менее короткие сроки, соответственно консультировать и писать ТЗ по этим конфигурациям.
На моей работе было 3 консультанта и все относились к конфигуратору, как к проказе какой-то: «ну я в конфигураторе не разбираюсь, лезть не буду туда». Но если у вас есть амбиции и такой страх вы можете перебороть, то, конечно, постепенно можно углубиться и в конфигуратор, в разработку. Но это для тех, кто мыслит стратегически и достаточно амбициозен.
Да и вы ради интереса можете посмотреть, сколько вакансий для стажёров выставлено на hh по языкам ЯП и сколько по 1С. А потом сравнить требования:
В поиске установлено «Java», также отмечено «без опыта» и «стажировка», и в первой попавшейся вакансии требования:
Java 8/11/17; Spring (Core, Boot, Integration, Data, Web); Основы SQL; JUnitТребуются именно хард скиллы, не софт скиллы.
В поиске установлено «1С программист», также отмечено «без опыта» и «стажировка», и в первой попавшейся вакансии требования показаны на картинке ниже:

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

Тоже обозначено про ВУЗ, но уже технический или экономический, но остальные пять пунктов - это чистые софт скиллы
Как видно, для начинающих во всех ЯП нужны хард скиллы, а практически во всех вакансиях для начинающих в 1С нужны софт скиллы и «великолепно, если у тебя есть минимальный опыт в ИТ, но также рассмотрим без него, если у тебя огромное желание развиваться в этой сфере»
На работу, связанную с 1С можно легко устроиться, если вакансия не связана с программированием, но даже и на разработчика можно без особого труда устроиться, как показывает моя практика. Просто нужно понимать все те моменты, которые написаны в моём выводе.
Но как я выше и сказал, я хотел и хочу писать код, а в 1С до него доходит очень редко. Поэтому я и потерпел полное фиаско после двух месяцев изучения платформы 1С.
Почему два месяца? С 27.02.23. по 12.07.23. с перерывами изучал 1С, если убрать все дни, где я не занимался 1С, то это получается ровно 70 дней. И ещё я бы выкинул 15 дней, которые я потратил на подготовку к сертификату «1С:Профессионал», потому что это была бессмысленная трата времени, в итоге 55 дней я потратил на изучение 1С.
Знал бы я всё это раньше, были бы написаны отличные статьи про все эти особенности 1С, то навряд ли я бы пошёл в 1С.
Сидел бы и изучал Java, расстраивался от того, что меня не берут никуда, старался бы узнать больше и развить новые компетенции, снова бы отправлял резюме, ждал, когда мои старания и знания заметят и позовут на работу.
Но я погнался за «лёгким» вхождение в IT через 1С, в итоге я не получил никакого представления об ООП или ПОП, про то, как писать код, потому что 1С — это суррогат настоящего ЯП, который отлично выполняет свою задачу: быстро автоматизировать бизнес-процессы. Но 1С ждёт программиста, уже имеющего опыта в других ЯП, знающего ООП И ПОП, потому что учебные материалы абсолютно ничему не научат тому, что связано с кодингом.
Недельку эмоционально разгружусь. И продолжу свой путь в Java с новыми силами.