GrabDuck

Синдром многорукого Шивы: Знания vs Навыки

:

В продолжение предыдущего поста.

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

Путь о котором я говорю — путь «многорукого Шивы». Путь множества навыков и относительно малого знания. Те, кто переключился на путь знания идут вверх. Те, кто остался на пути навыков — остаются примерно там же, где и были.

Навыки


Давайте я немного «попиарюсь» и расскажу про мега-навыки, которые остались у меня жизненным багажом.
  • Настройка АТС Multicomm, Panasonic, Simens
  • Настройка WiFi-доступа на SOHO-маршрутизаторах
  • Настройка SDSL-модемов
  • Настройка банк-клиентов (не буду оглашать список, там штук 20 разных)
  • Настройка ПО из налоговой (налогоплательщик ЮЛ, PERSW и т.д.)
  • Настройка более десятка различных видов instant messenger'ов, умение их диагностировать (не всегда тривиальная задача, особенно в районе MSN)
  • Конфигурирование аутлука в различных конфигурациях, включающих RPC over HTTPS, отключение кеширующего режима, настройки форм, создание собственных форм, управление правилами
  • Методы замены картриджей на более чем 40 видах принтеров, знание как посмотреть расход тонера и число страниц на ксероксе.
  • Умение обжимать пятую категорию
  • Какой-то опыт возни с грозозащитой телефонных линий
  • Настройка videonet, включая разруливание чрезмерного числа прерываний от плат видеозахвата
  • Организация телефонной коммутационной коробки на 10 номеров внутри маленькой силовой коробки (не знаю как они называются, круглые такие, для заделывания в стенку)

Я специально выписал самые мусорные навыки, которые в резюме обычно даже не пишутся, ибо слишком тривиальны. Если бы этот список стал в 50 раз длиннее, стал бы я от этого более квалифицированным специалистом? Нет.

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

Знания


А теперь рассмотрим обратный пример. Как вы думаете, сколько времени потребуется на изучение bind'а человеку, который хорошо знает структуру и принципы работы DNS, хотя бинда в глаза не видел? Пара дней на изучение специфики бинда (например, view) и хмыкания на наиболее неочевидных вещах, несколько дней возни с реальными биндами — и это вполне себе специалист. Почему? Потому что, даже если он не знает, как именно в бинде делается нотификейшн слейвов, он точно знает, что ему нужно найти метод оповестить слейва об обновлении зоны. Осталось выяснить, как.

Аналогично: как вы думаете, сколько времени потребуется человеку, хорошо разбирающемуся в PKI (но делавшему это только под виндами) освоить openssl и поднятие собственного CA? Я не думаю, что больше нескольких дней.

Знания лежат глубже, чем навыки. Можно уметь, но не понимать. Понимая, всегда можно разобраться как делать.

Математика времени


Время, потраченное на навыки — инкрементальное время. Наличие навыка до начала работы экономит вам N времени. Один раз (имея навык вы экономите время на его приобретение). Время, потраченное на знания — мультипликативное время. Оно не ускорит вас здесь-и-сейчас, но позволит сократить каждое N в получении навыка в соответствующей области на некую величину. И чем больше таких «мультипликативных» факторов у вас есть, тем больше экономия времени, и тем шире области, в которых вы в принципе, можете приобрести навыки. И тем эти навыки будут фундаментальнее (так как вместо запоминания последовательности вы будете знать причины и последствия).

Многорукий Шива малого бизнеса


И именно с этой проблемой сталкивается большинство админов в небольших компаниях. От них не требуют знания и понимания. Нужно, чтобы оно работало (хорошо или плохо, не важно. Нет людей, которые бы могли оценить, так что «хоть как-то», лишь бы работало). Зато, помимо основной работы есть масса второстепенной, которая требует внимания и времени, но совершенно не связана с знаниями. Я выше перечислил довольно широкий список…

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

Пример:

Навыки: Windows 2003, AD, Microsoft Exchange, MS SQL, IIS, ISA, HyperV, 1C, Linux, FreeBSD, Apache, BIND, vWare Server, знание HTML/CSS, PHP, принтеров HP и Xerox, маршрутизаторов cisco и dlink.
Служебные обязанности: администрирование сети предприятия, поддержание работоспособности и актуальности сайтов компании, обеспечение работы почтовой системы, администрирование 1С, обновление и исправление конфигураций, обслуживание оргтехники и СКС.

Если мы всерьёз воспримем это объявление, то попытка изучить хотя бы половину из приведённого засадит нас на пару лет за книжки. Администрирование MSSQL? Как бы надо, как минимум, хорошо знать SQL, знать особенности MS SQL, знать про методы репликации, организации подписки и публикации, написание скриптов бэкапа на самом SQL… Exchange и AD? Очередной огромный столп, освоение которого весьма и весьма сложно (знание схемы AD, навыки работы с adsi, PKI...). И дальше всё хуже. А ещё вам требуется «поддерживать актуальность веб-сайтов» (ака быть редактором, а вероятнее всего, и дизайнером, и кодером (не зря же PHP пишут)), а ещё там есть 1C, которой нужно ''исправлять конфигурацию'' (нужно знать бухучёт, знать язык 1С, знать принципы работы конфигурации...). О такой мелочи, как «знание cisco» мы просто не будем говорить.

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

В итоге если вы начнёте со всем этим работать, то вы никогда не изучите фундаментально всё это. Вы не станете хорошим 1С-программистом, вы не станете хорошим кодером на ПХП, вы не станете дизайнером, вы не изучите AD так, чтобы прийдя в крупную организацию спокойно разобраться с односторонними доверительными отношениями между деревьями в лесу, мостовыми серверами, GPO с привязкой к узлам AD… [я пишу в пределах своей квалификации, возможно, там дальше есть что-то больше].

На такой работе у вас будет два пути:

  1. Раскидавшись с второстепенными обязанностями предаваться неге безделья (да, все эти обязанности займут у вас в спокойном состоянии ну час в день, максимум)
  2. Заняться самообучением. И это вовсе не должны быть книжки по эксченжу или даже «книжки по линуксу» Спокойно, неторопясь изучить принципы работы сети, изучить DNS, DHCP, осилить PKI, зарыться в LDAP и понять, что AD — не пуп земли. Прочитать про современные сети (которые похожи на модель OSI не больше, чем детская телефонная связь из двух телефонов по проводам на современную базовую станцию сотовой связи). Изучить глубоко линукс, разобраться с современными технологиями в нём, поковыряться в исходном тексте...

Второй путь никак не связан с служебными обязанностями, более того, он им противоречит (работодателю не нужен «шибко умный»). Но именно он ведёт к возможности специализации. Потому что невозможно специализироваться без фундаментальных знаний, эникейщик с 20-летним стажем (вы не поверите, но я знаю такого) так и остаётся эникейщиком, хотя, может, и обладает потрясающими навыками.

«Гнида капитализма»


В чём же причина подобного? Я говорил с несколькими директорами средних компаний (50-150 человек) «по душам» — и меня поразило то, как они относятся к рабочей силе. Говорили мы в ситуации, когда эти слова не могли меня задеть, так что, думаю, они были откровенны.

Им нужны люди, которые будут делать всё. Им не нужны специалисты узкого профиля. Если они решаются на разделение работы программиста и веб-дизайнера, то только потому, что «уж очень это мерзко получается». Через силу. При первом же возможном случае пытаясь сделать из дизайнера ещё и менеджера по продажам, контент-менеджера и фотографа в интернет-магазин.

Им нужны универсалы с огромной гибкостью и глубиной навыков «ну сколько есть». И им не нужно «ничего особого». А главное, такие «универсалы» очень легко меняются, потому что в каждой конкретной области её изучить не так уж сложно (на том уровне, на котором им требуется). Можно взять первого попавшегося админа, и через неделю он будет разбираться в этой АТС, через месяц он освоится с эксчейнжем, даже если он в жизни его раньше не видел.

Причина же этого (это уже мои домыслы) в том, как они относятся к бизнесу. Большинство не уверено в том, что будет завтра, и не в смысле «получится или нет», «сожрут конкуренты или нет», а в смысле «ну что ещё нам устроят». Большинство не хочет вкладываться в обучение сотрудников, потому что не уверены, что не придётся резко менять бизнес с (например) книгоиздательства на торговлю картошкой, или вообще «валить отсюда нафиг». В таких условиях инвестиции в развитие сотрудников — глупость. Завтра всё похерится и нужно будет делать экспертов по картошке, так что пусть пока книгу сисадмин сверстает, он всё равно с компьютерами хорошо разбирается…

… Добавим, что большинство сколь-либо успешных руководителей относительно неплохие психологи в смысле «обработки кадров». И в таких ситуациях они стараются показать вам малозначительность вашей работы. Это делается не прямым текстом, а некоторой примитивизацией отношения к результатам… Наверное, лучше чем комикс xkcd в начале статьи, про это не сказать.

Личный корыстный интерес


Карьеры многорукого Шивы быть не может. Наверное, где-то найдётся один-единственный человек на планете, способный изучить одновременно всё. Но большинство физически этого не может. Единственный путь в карьере (если оставлять в стороне госорганы и тёплые ленивые места в полугосударственных газпромах) — это специализация. И для этого нужно пойти строго в обратном направлении — к основам. Если вы будете хорошо знать ядра современных операционных систем, то стать специалистом по конкретно взятому microsoft linux enterprise вы сможете с лёгкостью.

И должность апгрейженного эникейщика даёт возможности для этого. Когда у вас над головой не висит дедлайн, вы можете потратить месяц на изучение чего-либо абстрактно, а не в режиме «к заврашнему утру оно должно работать, хотя я совершенно не понимаю, что означает сообщение 'invalid reference for inner object storage security record' во время запуска почтового сервера».

Единственная опасность — это медлительность и необязательность изучения (можно пару месяцев повозиться, спотнуться на мелочи и бросить).