Накануне посмотрел несколько выступлений (докладов) в рамках темы "Путь из джунов в миддлы". Стало сильно жалко молодых людей, которые решили пройти несложный, в общем-то, путь такими витиеватыми вензелями.
Что я отметил, прослушав эти грустные истории. Вся область знаний и все мерило квалификации слишком сосредоточено на самом программном инструментарии. Я позволю себе усомниться в существовании какого-то уникума, который наизусть выучил весь синтакс-помощник, например. А в этом вообще нужда есть? Глупо представить ситуацию, когда однажды ты будешь знать все - наизусть. По очень простой причине - это "всё" всё время меняется! Вслед за простыми формами пришли управляемые, появились асинхронные методы с их оповещениями, а про оповещения придется однажды забыть, т.к. уже возник механизм ожиданий. Поэтому, когда на собеседованиях начинают "подлавливать" какими-то вопросами, предполагающими знания синтаксиса наизусть, я на таких персонажей с удивлением смотрю - а это надо наизусть помнить?? С полной уверенностью советую молодежи никак не комплексовать по этому поводу, это совершенно не отражает степень вашей квалификации! Освойте представление о самой идеологии платформы 1С, ее основные конструктивные составляющие. А дальше можно просто "шпаргалить". Вам что-то понадобилось от управляемой формы? Посмотрите ее методы в Синтакс-Помощнике, авось натолкнетесь на метод, который как-то решит ваш вопрос. Если что-то будете делать часто - запомните это поневоле. Не запомните - не беда, шпаргалка всегда рядом!
А вот чему очень мало уделяется внимания в части развития и роста квалификации, так это в основополагающих вещах. Это тот фундамент, который, в отличие от инструментария, можно изучить (понять) один раз и этого хватает на всю жизнь. Именно это позволяет жить в профессии долго, перепрыгивая с платформы на платформу, не особо переживая по этому поводу. Обычный пример - слесарь-сантехник. За рабочую жизнь одного поколения в этой профессии радикально изменились технологии. Простейшее свинчивание оцинкованных труб на резьбовых соединениях заменилось целым пакетом новых технологий - пайка пропилена или меди, обжим металлопластика или шитого полиэтилена и куча всяких других вариантов. У обычного слесаря за недолгий период многократно изменился инструментарий. А что не поменялось? Осталось неизменными базовое понимание того, как устроена система водоснабжения, какими параметрами она характеризуется, какие проблемы в ней возникают, чем и как решаются. Я абсолютно уверен, что знание такой основы (знание отрасли, сферы деятельности, практик делового оборота и т.п.) важнее, чем знание инструмента (программной платформы). Инструменты меняются, а системы (среды, сферы), где эти инструментарии применяются, живут гораздо дольше. Собственно, правильный выбор инструментария и способ его применения невозможно осуществить, не понимая - что и для чего собираешься делать.
И вроде бы нащупали решение проблемы. Не так давно вдруг появились всякие "аналитики" и "архитекторы". И вроде бы, по задумке создателей этих "персонажей Средиземья", именно они и должны стать носителями тех знаний, которые всегда предполагались в голове самого программиста. Идея интересная, даже забавная. Я представил себе симбиоз двух электриков - один умеет только паять, а второй умеет только читать схемы, поэтому на все вызовы они приходят вдвоем. Оборжаться можно! Считаю такой подход несуразным, хотя вполне понимаю появление такого подхода. Заказчик не может общаться с абстрактным программистом. Ему нужен кто-то, кто хоть как-то представляет процессы, функционал, проблематику заказчика. Здесь можно провести аналогию между полиглотом и тем, кому вечно нужен переводчик. Кто быстрее и успешнее будет решать свои проблемы?
Констатирую. Решил стать программистом - выбирай специализацию! То есть, определись с отраслью или видом деятельности, в которой ты будешь применять всякие цифровые технологии. И даже не питай иллюзий, что есть такая рафинированная деятельность, как абстрактное программирование чего-то там, о чем-то там. Всегда будешь писать что-то конкретное для вполне реального функционала и будет два устойчивых состояния, ты будешь либо знать - что и как ты делаешь, либо будешь лазить по форумам и надоедать коллегам в поисках каких-то "костылей", которые так же бездумно будешь пытаться вставить в проблемные места своего кода. И на мой взгляд, оценка квалификации программиста, в отрыве от знаний той сферы, для которой он принимается на работу, вообще мало реализуема. Помните такой мем про таксиста - "До вокзала довезешь?" - "А дорогу покажешь?" Вот и в программировании так же - мало "уметь рулить", надо еще и "дорогу знать".