Кто такой ИТ архитектор и чем отличается от линейного инженера?
Открываешь HH –, а там потребности в ИТ-архитекторах просто огромные. Начинаешь читать и удивляешься. Потому что к архитектуре отношения эти вакансии по большей части не имеют.
Давайте разберемся.
Сфера деятельности ИТ-архитектора описывается всего одной простой картинкой. Или даже формулой из трех знаков, не больше и не меньше.
«А → B»
Всё!
Правда в определенном смысле эта формула крайне напоминает знаменитую «E = mc2». Чтобы понять ее смысл, необходимо 12–15 лет изучать физику и математику.
Поэтому разберем каждый из этих трех символов.
«А». Или, как часто говорят, «AS IS».
Это исходное состояние системы. Есть древняя народная мудрость «не говори гоп, пока не увидел куда впрыгнул», но в данном случае крайне важно понимать еще и то, откуда ты собираешься выпрыгнуть.
Крайне важно точно знать что именно происходит сейчас и что именно является неудовлетворительным в текущей ситуации.
«B». Или, как часто говорят, «TO BE».
Это целевое состояни системы. То самое «куда впрыгнул». Только оно должно быть описано именно самостоятельное состояние, в отрыве от всего остального, и должно характеризоваться абсолютными показателями (не относительными по сравнению с исходными).
В ряде случаев B (to be) является единственным состоянием, которым оперирует архитектор, потому что речь о ситуации green field, т.е. первоначальном создании системы (Точка А равна нулю). Целевое состояние должно характеризоваться формальным соответствием целевым показателям (техническому заданию на проектирование).
»→». Она же «трансформация».
Это набор технических и организационных мер и средств, который должны перевести систему из состояния А в состояние B.
Архитектор, пропустивший любой из этих пунктов, занимается непонятно чем.
Давайте рассмотрим несколько распространенных проблемных ситуаций.
1. Куда то бежим со всеми
Это скорее норма, чем исключение. Самая массовая ситуация. С трудом понимаем что у нас вообще происходит, аудита не было несколько лет, а бежим не потому что надо, а потому что ну все же туда бегут, все так делают. Зачем непонятно, формальных критериев нет, архитектуры нет.
2. «Зуб болит»
Внезапно стало очень плохо и надо срочно бежать. Что именно плохо, куда бежать, зачем именно туда — никто не разбирался. Боль выключает рассудочную деятельность.
3. AAAAAAAAAAgile!
Мы участвуем во всех трескучих каргокультах. Суй 1С в Кубернетес!
Является доведенной до логического завершения ситуацией номер 1.
4. «Вот вам спецификация, уже все купили»
Тоже скорее норма, чем исключение. ИТ директору уже все продали, все согласовали. Все заинтересованные лица получили удовлетворение.
Нет ни аудита, ни формального описания, ни целевой картины. Есть лишь спецификация на оборудование, которое приедет через пару месяцев.
Как должна выглядеть целевая картина?
Архитектор vs линейный-инженер исполнитель
У меня есть список вопросов для собеседований архитекторов-инфраструктурщиков. Среди них есть такой
«Вам нужно передать 100 ТБ данных из филиала во Владивостоке в Москву. Канал 100 мегабит, в течение рабочего дня его можно использовать только на 30 мегабит. В среднем раз в час происходит сбой и приходится передавать заново от 5 до 10% переданных за последний час данных. Сколько времени займет передача данных?»
В очередной раз его случайно кто-то откопал и понеслось обсуждение в чате.
А сколько?
А можно?
А какие требования?
А если я вот так?
Недостаточно данных.
Это подход линейного инженера-исполнителя, у которого есть математическая задача. Нет вводных — нет ответа. Очень хорошей аналогией может послужить старая басня.
Один работник зашел к барину и говорит:
— Барин! Почему ты мне платишь всего пять копеек, а Ивану всегда пять рублей?
Барин смотрит в окно и говорит:
— Вижу я, кто-то едет. Вроде бы сено мимо нас везут. Выйди-ка, посмотри.
Вышел работник. Зашел снова и говорит:
— Правда, барин. Вроде сено.
— А не знаешь откуда? Может, с Семеновских лугов?
— Не знаю.
— Сходи и узнай.
Пошел работник. Снова входит.
— Барин! Точно, с Семеновских.
— А не знаешь, сено первого или второго укоса?
— Не знаю.
— Так сходи, узнай!
Вышел работник. Возвращается снова.
— Барин! Первого укоса!
— А не знаешь, по чем?
— Не знаю.
— Так сходи, узнай.
Сходил. Вернулся и говорит:
— Барин! По пять рублей.
— А дешевле не отдают?
— Не знаю.
В этот момент входит Иван и говорит:
— Барин! Мимо везли сено с Семеновских лугов первого укоса. Просили по 5 рублей. Сторговались по 3 рубля за воз. Я их загнал во двор, и они там разгружают.
Архитектор — это человек, который не является математической функцией от вводных данных, а способен к самостоятельному анализу ситуации и прогнозированию данных или ответов на основе индустриальных практик, личной экспертизы или через связи и знакомых, что подскажут.
Т.е. архитектор напишет математическую функцию, так же как и инженер, но при нехватке данных не остановится в выполнении задачи, а решит задачу в общем, подставив «какие то данные». В случае собеседования на архитектора ключевой вопрос заключается не в том, может ли кандидат написать линейное уравнение с дробями (уровень 5 го класса), а понимает ли как это вообще считается и от чего зависит. Необходимо продемонстрировать правильный ход рассуждений и логику, а не дать единственный математически правильный ответ.
Банально потому что математически правильного ответа может не быть вообще (и значит надо менять требования), может быть субоптимальный ответ, может быть множество субоптимальных ответов. Может быть даже множество математически правильных ответов. Важно уметь понимать как они получаются и как между ними можно выбирать и на основании чего.
А ответ «три недели» покажет лишь, что вы умеете в математику 5 го класса.