Человек и машина
1.78K subscribers
46 photos
1 video
2 files
347 links
В прошлом авторский блог Карена Товмасяна.
Download Telegram
Все крутые штуки появились в этом мире не только из-за лени, но и из-за запретов, излишнего контроля, "отжатий" и некомпетености других.
1) Единоборства появились, потому что плебсу было запрещено иметь оружие.
2) Телеграм появился, потому что у Пашки Дурова отжали контакт.
3) Биткоин и другие криптовалюты появились как акт протеста и недоверия к существующей финансовой системе.
4) Тор появился, потому что люди узнали о существовании Prism (отдельный привет Сноудену)
5) DuckDuckGo появился, потому что Google откровенно собирает данные поисковой истории.
6) Общедоступный и некорпоративный VPN (Opera со встроенные клиентом, Frigate и прочие) появились из-за излишнего контроля за пользовательским трафиком со стороны властей.
7) Мессенджеры, работающие по принципу mesh-сетей, появились из-за того, что власти глушили сотовые вышки во время протестов.
8) Компьютерная грамотность пользователей рунета (особенно в области ИБ) выросла из-за того, что РКН стал блокировать сайты, которые людям реально нужны (в частности Linkedin).

Рыночек всегда все порешает
Уф, пропал надолго, но прости меня.

Наконец-то получил сертификацию. Теперь у меня есть бумажка, которая говорит что я умный. (Не считая диплома разумеется).

В этот раз хотелось бы предоставить небольшой инсайд на бумажки. Когда я читал требования к вакансии в нидерландскую компанию, одно из требований звучало так: "Вы умны и можете это доказать. (У вас имеется диплом о высшем образовании)"
Поскольку я прибыл из страны, где у подавляющей части населения есть вышка, это требование было для меня абсрудным. Что значит "есть вышка"?? Конечно она есть!

Оказалось, что у большинства сотрудников конторы (да и львиной доли населения) вышки нет вовсе, даже степени бакалавра. В основном - среднее специальное.

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

Никакого тщеславия, просто факт. Большинство людей, с кем приходится иметь дело, попросту необразованные.
P.S. Кстати по местным меркам обаладатель степени специалиста тут считается магистром. Подержите мои понты, пожалуйста.
👍1
Но вернемся к разговору о монструозном legacy.

Что это вообще такое, постараюсь объяснить на простом примере. За простой пример возьмем маркетинг. (Единственное, что я более менее понимаю кроме ИТ)

Представьте себе, что вы - специалист по маркетингу, который вышел на новую работу. Вы работали в enterprise секторе со всеми положительными (соответствующие системы) и отрицательными (круг валидаций, защита бюджета перед комиссией) отличительными чертами.
Чтобы вести свои дела у вас был CRM, в который вы забивали всякие проекты, планы активации бренда, держали базу клиентов и аккаунтов, координировали деятельность с менеджерами по продажам - в целом все, что связано с вашей работой.
У вас были процедуры, у вас были встречи в webex, корпоративный чат, рюшечки, свистелки и перделки.

И вот вы такой красивый/вая приходите на новую работу с повышением в должности (или в деньгах, как в моем случае).

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

Вот как-то так у меня все и было.
К счастью (или к сожалению) через 3 месяца после моего трудоустройства моего начальника уволили и наняли Директора по DevOps. DevOps это модное движение, подразумевающее тесное взаимодействие между отделами эксплуататции (системные администраторы) и разработки.
Основное отличие DevOps от всех остальных модных движений в одном предложении, которое напрочь отсутствует в DevOps: "Проблема не на мой стороне == не моя проблема." В DevOps такое говорить - харам.
Поэтому новый директор взялся за две стороны культуры: организационную и техническую.

Техническая заключалась в поиске и применении новых инструментов. Проще говоря, как в примере с маркетологом - заменить блокнот CRM-системой.
Организационная часть была откровенно смешной. В день своего прибытия в Москву (директор сидел в Лондоне), он раздал бумажные опросники сотрудника. Вопросы были из разряда "Что вам нравится\не нравится в вашей работе" и "Как часто у вас возникают конфликтные ситуации".

Это было очень глупо с его стороны. Приходить в маленький офис (около 60 человек), где все между собой общаются путем "дойти ногами и сказать все в лицо", и задавать вопросы такого рода просто смешно. Но я не был начальником.
Не мудрено что он сразу же забил на культурную часть и основательно за техническую.

Была пара реально крутых проектов, мы с нуля внедрили CI/CD систему на базе Jenkins, переписали кучу тестов на новый лад, поменяли инструментарий, меня даже командировали в Лондон на 2 недели для проекта переезда со старой почты на Office365.

А потом настал декабрь, и я охренел. Но об этом позже.
В декабре я узнал, что центральный офис планирует закрыть московское подразделение.
Информация эта передавалась по закрытым каналам, о планах знал только топ менеджмент, центр разработки из Москвы предполагалось перенести в Индию.
Здесь надо сделать необходимую ремарку и рассказать, что это за феномен - ИТ аутсорсинг в Индии.
На данный момент существует три основных сундука с программистами: Россия, Китай и Индия. Термин "сундук" я беру не случайно, речь не о самых лучших (лучшие по последнему рейтингу - Россия, Польша и Китай), а по количеству открытых к предложениям.
Феномен Индии (а кроме как феноменом я это назвать не могу) заключается в том, что из-за низкой производительности реального экономического сектора Индии львиная доля индийской молодежи, насмотревшись на зарплаты ИТшников, тоннами мчалась в технические институты осваивать этот самый computer science.
Подобные фрикции привели к тому, что рынок наводнили специалисты сомнительного качества (думаю, нет смысла объяснять почему) и стали искать работу.
Работу искать было тяжело, потому что индийский инженер за отсутствием практики и сильных скиллов не дотягивает до русского инженера (привет инженерной школе СССР) и китайского мальчика/девочки до 3 ночи зубрящего математику под удары линейкой от строгих родителей.
Поскольку актив (много много много инженеров) имелся качество решили брать количеством... и ценой.
Чтобы вы понимали, средняя часовая ставка старшего инженера с определенными диетическими ограничениями по отношению к говядине - 15 долларов США в час. Чисто для сравнения - часовая ставка фрилансера в Нидерландах начинается от 50 евро.
Большие дяди из больших компаний, фанаты глобального рынка и не знающие другого языка, кроме языка цифр, посмотрели на Индию и решили, что это крайне выгодное вложение с минимальными издержками на персонал.
Забыв напрочь о репутационных издержках и стоимости простоя, большие дяди стали один за другим открывать ИТ офисы, центры разработки, инженерные отделы и нанимать туда местных.
Местные же, те что при деньгах, стали открывать такие же центры и сдавать своих соотечественников в аренду.
В Индийскую экономику вложились такие гиганты рынка, как Oracle, Microsoft и Cisco.
Думаю очевидно, что денежные вложения стимулировали еще большее количество молодых индийцев штурмовать ворота ИТ ВУЗов. У этого безусловно были свои последствия, но о них я расскажу немного позже.
Самым первым факапом индийского аутсорсинга, о котором я узнал, была история с ПО сетевого оборудования компании Cisco. Качество софта было настолько низким, что крупнейший вендор отозвал релиз через неделю и строго не рекомендовал клиентам обновлять оборудование. Этот вопиющий случай стоил компании огромных денежных потерь, и исправить это удалось только в следующей версии прошивки.
В те времена системы постоянного тестирования не были настолько развиты как сейчас, поэтому отловить всевозможные баги тогда не представлялось возможным.
Казалось бы, спустя столько лет можно было наладить надежную поставку качественного ПО, но относительно недавно случился скандал вокруг компании British Airways (https://www.google.nl/amp/s/thenextweb.com/insider/2017/05/29/outsourcing-cause-british-airways-meltdown/%3Famp%3D1). Официальной версией произошедшего была обозначена потеря электричества в серверной BA, но критики считают иначе.
Возможно проблема действительно случилась по вине сопровождающих систем, но лично я в это не верю.
Такие крупные компании с высокой зоной ответственности обладают резервированием в рамках одной или нескольких стран, если не континентов. Если технический директор одного из крупнейших авиаперевозчиков заявляет, что они не смогли переключиться на резервную площадку, то... я не буду покупать у них билет.
Внимательный читатель поинтересуется, почему нельзя передать функции ИТ китайцам, если они такие сильные специалисты.
Действительно, немало компаний держит высокотехнологичное производство в Китае, но с программным обеспечением есть некоторые проблемы.
Так в Китае есть закон, подразумевающий, что софт, написанный в Китае, может использоваться самими китайцами.
Представьте себе, что Микрософт или Эппл передаст исходники своих продуктов главному экономическому конкуренту США.
Но оставим историю. Итак, я узнаю, что всех инженеров за исключением ядра (людей, проработавших в компании с самого ее основания) уволят в течение полугода.
Тогда я начал активно искать работу и столкнулся с определенными трудностями.
Область ИТ с момента появления течений Agile и DevOps развивается технологически очень быстро.
Чтобы быть конкурентоспособным на рынке необходимо быть, как говорят мои коллеги, on the cutting edge.
Нужно иметь опыт работы с системами и технологиями, вышедшими буквально вчера, что в России доступно было либо маленьким быстро развивающимся ИТ контора, либо же ИТ гигантам типа Яндекса, Мейл.ру и вКонтакте.
Другой проблемой был второй виток экономического кризиса в РФ. Многих сильных инженеров выкинули на рынок из-за сокращений, и инженер с 10+ годами опыта работы, готовый работать за 60к в месяц, был в порядке вещей. С такими конкурировать было тяжело, да и на подобный дауншифт я не мог пойти.
Жена посоветовала попробовать найти работу за рубежом и сесть на трактор, и у меня начались приключения на западном рынке труда.
👍1
Вообще интересно, как несправедливо и одновременно естественно сложились возможности трудовой миграции для специалистов разных отраслей.
Специалистам по кадровому администрированию, юристам и налоговикам дорога на зарубежный рынок труда по сути закрыта: необходимо знать специфику и законодательство другой страны, что невозможно без опыта работы в самой, собственно, стране.
Маркетологам и сейлзам тоже за редкими исключениями - надо знать рынок.
Отдельно удобно устроились итшники. Методологии управления проектами, стандарты индустрии, паттерны программирования не имеют границ. Какая разница где писать приложения на C# или практиковать Scrum? Это везде делается одинаково.
Такой подход позволяет спокойно нанимать специалистов из-за рубежа, ведь проверять необходимо только хард и софт скиллы.
Единственное, что может ограничить западный работодатель - это нижнюю планку подготовки соискателя. Никто не станет нанимать начальный уровень (читай вчерашнего студента) - таких хватает и дома, а перевозить человека из-за рубежа, даже в рамках ЕС очень дорого.
Поэтому если открыть какой-нибудь stackoverflow jobs или monster, в глаза сразу бросятся сотни вакансий senior, lead, expert и всякие ninja.
Я был в достаточно выгодном положении: мой текущий job title был Senior engineer, у меня было уже >5 лет опыта в индустрии (чтобы понимать - меньше 3 лет это всегда junior) и свободный английский.
Не поймите неправильно, это не формула успеха - это необходимый минимум.
Но сражаться за звонок рекрутера уже надо не с местными коллегами, брошенными на произвол судьбы по вине ресурсной модели экономики, а с огромным количеством высококлассных экспертов, у которых все больше - экспертная область, опыт, список покорившихся технологий и языков.
Условный младший инженер со средним специальным априори сильнее меня: он изучал Linux в колледже, а не на дорогущих курсах, писал программы на компьютере (а не как я - на бумаге - первые 3 курса университета), знает про управление проектаими еще до того, как взялся за первый проект.
Средние специалисты так вообще заткнут за пояс московского старшего инженера, не приложив никаких усилий вообще.
Я был в сложном положении, и меня по сути спасло только одно: для своего возраста я имел приличный багаж знаний. Это не было гарантией, но давало мне преимущество перед конкурентами: специалист моложе 30 лет дешевле и лучше специалиста старше 30 при условии, что их знания эквивалентны.
Подробно поиск работы и переезд я уже описывал здесь: https://habrahabr.ru/post/317654/
После первых откликов пришлось отбросить рынок штатов. Практически ни одна компания не предоставляет поддержки при переезде, а те что предоставляют имели неподъемные для меня требования.
Пришлось ограничиться рынком Европы (Азию я изначально не рассматривал, хотя зря), и были выделены следующие страны: Англия, Нидерланды, Франция.
Я осознанно вычеркнул из списка восточную Европу за недостаточно высоким уровнем зарплат и Германию из-за кризиса беженцев.
Всего было отправлено порядка 10 откликов, из которых 2 получили обратную связь.
Остальные писали ровно то, что ожидалось: недостаточно опыта или просто нерелевантный.
Одна контора из Лондона прислала тестовое задание и вилку зарплат, но той суммы был недостаточно для комфортной жизни в одной из самых дорогих столиц мира.
А на второй отклик ответом был звонок с нидерландского номера.

Я привык думать, что в России рекрутер это такой мальчик/девочка, права не имеющий.
Из своего опыта найма скажу, что процесс строился таким образом: рекрутер подбирает резюме, подходящие под описание вакансии, отправляет начальнику; начальник смотрит резюме и отправляет мне для технической экспертизы; я смотрю какие скиллы у человека, и с чем он работал, отправляю боссу -> босс рекрутеру -> рекрутер назначает собеседование.
Из-за этого я считаю, что русский рекрутер просто проверяет минимальные требования и оценивает адекватность кандидата. Надеюсь, я ошибаюсь на счет этих ребят.

Рекрутер в Нидерландах существо сложное. У каждого из них есть своя предметная область (то есть технорекрутер специалистов по продажам искать не будет), в которой он и сам неплохо разбирается. Его мнение не менее важно, чем мнение нанимающего менеджера, и я видел как рекрутер бракует кандидата, не смотря на уговоры нанимающего менеджера.
Так рекрутер, который меня нашел, Йохем сам втихаря дома админит, собирает стриминговую систему, чтобы на телефон себе с минимальным трафиком сериалы скачивать. С домашнего сервера. Периодически программирует.

Повторяю, это самый обычный рекрутер.

Не удивлюсь, если рекрутеры, отвечающие за топ менеджмент, в свободное от работы время рисуют бизнес-план.

Не могу заявлять со 100% уверенностью, но если в России пройти рекрутера это 10% успеха, то здесь это все 50.
👍1
Кстати, про поиск работы узнал интересную штуку.
Многие компании имеют специальный софт для обработки резюме соискателей. Приложение разбирает резюме, ищет в нем ключевые слова из описания вакансии и на основании совпадения принимает решение.
Повторюсь, это не человек, который смотрит, как оформлено резюме, и какой у соискателя опыт.
Программа! И программа, если у вас нет необходимого количества совпадений, через некоторое время вам напишет письмо, что к сожалению ваш апликейшон не будет рассмотрен.
Я очень люблю прогресс и всякую технологичную сингулярность, но это уже совсем бездуховщина какая-то. Представьте себе простор для мошенничества: накидайте себе в резюме все слова какие найдете в описании вакансии (не важно, релевантен ли ваш опыт или нет), скажите что-нибудь красивое и убедительное и получите работу.
Загнивающий Запад, чтоб его.
Но не будем о грустном.
Я прошел интервью с рекрутером, интервью с инженерами и финальное интервью с визитом в офис.
Надо заметить, что это распространенная практика для западных компаний - завозить кандидата в офис, проводить ему тур, рассказывать о компании и прочее.
Здесь работает та же модель, что и с продажами. Приезжает заказчик, вы ведете его по офису, параллельно показывая сотрудников и над чем они работают, обсуждаете с ним детали, затем опять небольшой тур, немного (или много) алкоголя - и когда клиент "готов", вы даете ему контракт на подпись.
Тоже самое было и со мной: яркий офис, вкусная столовая, кругом улыбчивые сотрудники и вечер полный пива и разговор с будущими коллегами по цеху.
Разумеется, я не знал тогда о подводных камнях (а их много, но об этом позже), поэтому радостно подписал оффер.
На следующий день я вернулся в Москву и начал собирать документы на переезд.
Спустя еще два месяца я пересек границу Нидерландов с "переездочной" визой.
В принципе, вот и вся моя история от начала и до текущего момента.
Можно, конечно, рассказывать о том, как я осваивался в конторе и в стране, но и об этом я уже писал: https://habrahabr.ru/post/317710/

Но это не значит, что мне нечего сказать. Что в России, что в Нидерландах проблемы ИТ одинаковые. Но хорошо там, где нас нет, верно?
Хотя что тут разительно отличается, так это отношение к авариям, особенно по причине человеческого фактора.
У меня еще испытательный срок не прошел, а я опечатался в конфиге и сломал наши DHCP серверы. Для тех, кто не в курсе: DHCP сервер это специальный компьютер, который отправляет на клиентские компьютеры сетевые настройки. (Не будете же вы вручную их писать на 100, 500, 5000 машин, верно?).
Казалось бы, ничего, но это был DHCP сервер... для других промышленных серверов.
Обнаружили, когда один из инженеров пожаловался, что у него серверы один за другим стали падать. Повторюсь, все это происходило в продакшоне.
Ошибку нашли, починили. Я на дрожащих ногах пошел к начальнику, мол что теперь будет.
"Заполняй RFO (Report for Outage) и завтра с печеньками."
Как выяснилось, каждый кто накосячил, на следующий день приходит в офис с коробкой печенья и ходит из комнаты в комнату, давая каждому по печеньке и подробно рассказывая, где и как он облажался.
Этакий марш позора, где только не хватает монахини с колокольчиком из Игры Престолов.
"Ну наконец-то," - заметила потом начальница. - "Мы думали, ты не человек, а робот. С почином, теперь ты полностью интегрировался."
Мне всегда было стыдно гуглить что-то, относился к этому как к ярому проявлению непрофессионализма.
Это же как к доктору придти, рассказать ему симптомы, а он такой "ага, сейчас посмотрим." И вместо градусника достает компьютер и вбивает симптомы в гугл.
Мой ментор и сенсей, Дмитрий А. один раз сказал, что гугл для слабаков. Настоящие инженеры пользуются только официальной документацией.
Каково же было мое удивление, когда большие дяди из больших интеграторов приезжали с большими железками и при любой малейшей неожиданности или неприятности начинали... гуглить. Позже я сам стал спокойнее относиться к этому, хранить в голове все знания невозможно.
Но чего верить тому, что пишут на форумах (а на русских форумах еще и на три буквы пошлют), сделал себе закономерность, предварительно скачав документацию по всему с чем приходится иметь дело: смотрим офлайн документацию - смотрим онлайн документацию - смотрим проф форумы - гуглим.
Тут как бы все честно, да и каждый день чему-нибудь да научишься.

Но совсем весело стало, когда я перебрался в Нидеры. Местные сеньоры, лиды и прочие настолько не хранят информацию в голове, что лезут в гугл при первом же случае.
Повторюсь, это не джун, который вчера закончил колледж, это сеньор инженер, у него за спиной 10+ лет опыта и хренова гора сертификаций.
Помню даже было так. Сижу с одним из инженеров, человеком очень авторитетным в конторе, разбираем проблему. Человек забыл оператор одной команды и открыл браузер.
"Открой man (внутренняя документация линукса)," - говорю я.
- Не, терпеть его не могу, неудобно читать и искать.
- Согласен, но ман вот он, перед тобой. Да и что ты будешь делать, если интернета нет? Гугла-то не будет.
Инженер посмотрел на меня так, будто я ему признался в убийстве Кеннеди.
Недавно даже узнал о таком прелестном феномене, как stackoverlow developer.
Краткий ликбез: stackoverflow это самый крупнейший ИТ сервис вопросов и ответов в мире. Вопросы могут задаваться совсем глупые (как перезагрузить компьютер), так и очень умные и животрепещущие.
Поскольку там работает система лайков, комментов, плюсиков и минусиков, ИТшники сидят там часто, чтобы набить себе побольше "лайков" и показывать их потом на собеседовании: "Посмотрите, какой я умный и скольким людям помог."
И я сейчас не шучу, реально так делают. Даже больше, некоторые работодатели просят давать ссылку не только на свой аккаунт Github, но и на stackoverflow, чтобы почитать ваши вопросы.
Так вот, о пресловутых stackoverflow developer'ах (далее просто разрабы).
Поскольку стек набрал бешеную популярность и широкую аудиторию, туда не заходит только ленивый. Каждый день у любого уважающего себя человека случаются косяки на работе: что-то не работает/не запускается/не компилируется/тесты не проходят, и он с обереченным видом идет гуглить проблему.
В принципе, ничего плохого в этом нет - человек пытался, не получилось, и он пошел искать помощи.
Одно дело, когда это касается чего-то неработающего:
- Всем привет, вот мой код! (много кода) я ожидаю получить Х, но получаю Y, что я делаю не так?
- Привет, у тебя опечатка в строчке 13, должно быть так - (немного другого кода)

Все предельно аккуратно и честно, автор вопроса счастлив, автор ответа получил плюсик в карму. Но потом началось кое-что интересное. Человек пытается написать какую-то программу или функцию и понятия не имеет как. Например:
- Всем привет, у меня тут словарь с пользователями и список адресов. Как мне сделать так, что бы у меня проверялся адрес в списке и выводил имя пользователя?

То есть налицо вопрос из разряда "не хрен собачий", требующий знание алгоритмов и структур данных.
Разумеется под вопросом сразу несколько ответов:
- Ты может сделать это так! (вар 1)
- Или так! (вар 2)
- Или так!!! (вар 3)