Человек и машина
1.81K subscribers
46 photos
1 video
2 files
346 links
Авторский блог Карена Товмасяна.
Идеи, слова поддержки и критики отправляйте мне - @ThomasStorm.

С предложениями рекламы не обращайтесь.

I do not speak on behalf of my employer.
Download Telegram
Противники публичных облаков нередко выступают с очень валидной аргументацией, а именно - ценой.

Лукавить не стану - с учетом девальвации, облака большой тройки выглядят неприемлемо дорого, а аренда физических мощностей в colocation в России обойдется на порядок дешевле (даже с учетом накладных расходов).

Однако к обозначенному выше добавляются еще и расходы на сотрудников. Дескать раз подсел на иглу Безоса, будь добр еще нанять очень дорогого специалиста за «300 кк/нс».

Во-первых, нанимать отдельно выделенного амазонщика, чья работа будет заключаться только в обслуживании самого AWS, как минимум дорого, как максимум - неэффективно.

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

Амазонщик в конторе, повторюсь, где все набили руку и знают как и что поднимать - документация с руками и ногами, ему уже нет смысла заниматься только AWS. Напротив, этот человек может и должен принимать участие в проекте в качестве системного инженера или разработчика. Если вы давно сидите на игле публичного облака, но у вас все еще есть отдельный человек, или того хуже, целая команда по AWS - вы что-то делаете не так.

Во-вторых, если вы имеете свои вычислительные мощности в ЦОДах, то у вас наверняка есть инженеры-«железячники», сетевики, системные инженеры и прочий персонал, обслуживающий физический уровень вашей инфраструктуры.

Не знаю, как в РФ и СНГ, но в Нидерландах человек уровня CCIE стоит гораздо дороже человека со всеми проф. сертификациями AWS.
Вместо информационных сообщений, хочу чтобы мониторинг отправлял мне это в случае аварии. ^
Повезло посетить офис Яндекса. Никаких сюрпризов или фокусов - просто приятели пригласили "на экскурсию".

Что можно сказать: офис на Льва Толстого очень крутой. Большой, красивый, самодостаточный и запутанный. Красивые переговорки, стекла кабинетов либо замутнены, либо закрыты занавеской. Внутри начала потихоньку снедать тоска по "энтерпрайзу".

Показали Иконостас. Не уверен, что могу рассказывать, что это, но кто в теме - поймут.

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

1. Все странные названия сервисов и технологий, которые гуляют в интернете про Яндекс, на самом деле очень логичны (особенно когда тебе рассказывают, почему они так называются).
2. В Яндексе (ну и не только - любой технологический крупняк этим страдает) набирают людей, проверяя только фундаментальные знания в области CS. Никому ваши знания куба и авса не нужны. Разворачивайте дерево и рассказывайте про inode. Причины просты - в Яндексе все свое, и это "свое" всегда нужно учить с нуля. Высокий грейд выбивается хадкорными навыками программирования и знаниями сетей, ОС и т.д.
3. В Яндексе все свое не потому, что людям нравится писать инфраструктурщину. Просто проблемы, которые большинство решает, найдя хороший OS проект, к Яндексу приходят задолго до появления оного. Почему LinkedIn разработал Kafka? Потому что Kafka тогда не существовала.
4. По этой же причине в Яндексе, по слухам, несколько реализаций MapReduce. Нет, люди не любят каждый раз с нуля писать MR. Просто "тот" MR под задачи конкретной команды не ложится, приходится делать свой. В итоге эволюционным путем все консолидируется в один, эталонный MR. Или нет.
Итоги года… не буду лукавить, год был отличным.

Но если меня спросить, каким бы словом я описал 2019-ый год, я бы использовал одно емкое, хоть и ругательное, слово, и это слово - “зае*истый”.

Не потому, что я задолбался за этот год, вовсе нет. Но год прошел в вечном “давай, е*ашь, давай”, и у меня нет повода думать, что 2020-ый будет другим.

2 публичных выступления, 1 приобретенная сертификация, 6 опубликованных статей на Medium, одна из которых всплывает первой строчкой при поисковом запросе “iam deep dive”. Как по мне - успех.

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

Моим дорогим читателям хочу лишь пожелать терпения. Неважно, кто вы, чем занимаетесь и где живете: вас так же будут ждать испытания, взлеты и падения. Не стоит отчаиваться и переживать. Каждое принятое решение в долгосрок всегда правильное, каждая победа - успех, каждое поражение - опыт.

Успех неизбежен, удача неминуема.

С наступающим Новым годом.
Окей, это слишком долгий перерыв.

В течения дня я к вам вернусь с небольшим анонсом, касающимся @AWS_ru, а пока у меня вопросец.

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

🤖 - всемогущая автоматизация, не могущая в папки.
🤡 - как автор забыл, как будут “пробки” по-нидерландски.
Экзамен на гражданство (на аборигенском “Inburgering”) - набор из 6 экзаменов, проверяющих, насколько человек интегрирован в нидерландское общество.

Интегрированным считается тот, кто знает язык на уровне А2, знаком с местными порядками и в состоянии пройти собеседование на работу.

Сдается теми, кто намерен получить гражданство и не осилил родиться в стране ЕС или Турции.

Итого, экзамены следующие:
• Чтение
• Аудирование
• Письмо
• Говорение
• KNM (знание нидерландского общества)
• ONA (ориентация на нидерландском рынке труда).

Чтение, аудирование и KNM - экзамены-тесты, где человек должен либо прочитать, либо прослушать ситуацию и вопрос и выбрать правильный вариант ответа. При этом, если чтение и аудио дают адекватные кейсы (надо прочитать расписание поездов и/или автобусов, ответить на вопросы у врача, в полиции или местном ЖЭКе и т.д.), то KNM - экзамен идиотский, где человека спрашивают, что делать в случае утечки газа и можно ли женщинам носить короткие юбки.

Догадываетесь, кто ЦА этого экзамена?

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

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

Говорение - 2 части. Вторая - похожа на аудирование (зачем оно там, сам не понимаю), первая - вопрос-ответ.

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

Бить челом Виллем-Александру мне еще рано, в стране я чуть больше 3 лет, подавать документы на гражданство можно только после 5 лет непрерывной жизни в Нидерландах. Однако моя муза взялась за изучение языка и узнала прекрасные новости - уровень экзаменов должны поднять с А2 на B1 с 2020-ого года.

Чтобы вы понимали - А2 это уровень выживания на стероидах, с ним особо каши не сваришь. С B1 можно проходить реальные собеседования, полноценно общаться и вести деловую переписку.

Между уровнями большой разрыв по сложности, экзамены можно пересдавать до одури (только не забывай денежку заносить), “сертификат натурализации” не имеет срока давности. Складываем 2 и 2, принимаем решение идти и сдавать.

Сам я толком не готовился. За спиной свободный английский, 3 года немецкого в школе, полгода курсов нидерландского и регулярные жалкие попытки разговаривать с белыми людьми на языке белых людей. Мотивации учить язык абсолютно никакой (на нем во всем мире еле 30 миллионов человек говорит), нидерландский никому не упёрся кроме местного рыночка, но местный рыночек только для держателей паспортов ЕС. Сам язык уродлив, похож на смесь скандинавских и западногерманских групп. Практическая польза - можно понимать и говорить с носителями Африкаанс.

Так что я вооружился Duolingo (вообще никакой погоды не сделало), начал разговаривать еще более часто и менее жалко и стал проходить тестовые экзамены онлайн.
Попытался попасть к репетитору, с которым работала супруга, но та после пробного занятия сказала чуть ли не в лоб: “Мальчик, не трать мое время и иди сдавать, ты готов”.

Собственно я и пошел (не один конечно).

Чтение и аудирование сдавал сразу одним днем, там, повторюсь, ничего сложного. На видео люди говорят неприлично медленно (в жизни слышишь такую тарабарщину, что разбор предложения на слова занимает больше времени, чем перевод), а на чтении нужно было читать расписание поездов и отвечать на вопрос: “Во сколько отправляется поезд до Гааги”. Как вы понимаете, чтобы ответить на этот вопрос нужен лишь здравый смысл и умение читать латиницу.

С ONA соскочил: люди, в течение года проработавшие минимум 6 месяцев, могут запросить освобождение с экзамена.

Письмо: пришлось малость подточить навыки письма и освежить грамматику (за порядок слов дрючат по все открытые и закрытые), много писал. Знаю точно, что облажался с артиклями (написал de park, а надо het park).

KNM: к нему меня готовила супруга, задавая каверзные вопросы (“Из какого зала Виллем-Александр произносит речь во время Дня Принца?”, “В каком году Нидерланды стали монархией?”). Очень много вопросов про аборты, эвтаназию, лесбиянок, утечку газа и короткие юбки. Ни одного вопроса про историю, был вопрос про судебную систему (не понял ни вопрос, ни варианты).

А потом было говорение, и это был вообще адочек.
👍1
По поводу обещанного анонса.

29 января у @AWS_ru третий день рождения. По такому прекрасному поводу москвичи и гости столицы могут лично послушать доклады от умных людей и пообщаться с коллегами по цеху. Те, кто не смогут приехать, могут расчитывать на трансляцию. Любители ставить докладчиков в неудобное положение своими каверзными вопросами могут расчитывать на призы. ^^

Регистрация: https://www.meetup.com/aws-ru/events/267985758/

Кто пойдет - обнимите от меня Стекова и Патрушева. 😉
P.S. При регистрации указывайте настоящие ФИО, чтобы безопасники Райфа лишний раз не нервничали.
В чем соль говорения? В том, что говорим мы не с человеком, а с видеозаписью.

Экзамен состоит из двух частей, первая часть - на которой, собственно, и надо говорить - требует от вас прослушать запись и ответить на 1-2 вопроса из нее. Ответ надо записать на микрофон, используя гарнитуру, которую вам любезно предоставляет местный МинОбр. Гарнитура чаще всего раздолбана в хлам, еле крепится на голове, а фильтр на микрофоне покрыт слюнями предыдущего экзаменуемого. Со своей, конечно же, нельзя (в класс вообще ничего проносить нельзя кроме своей тушки и документов).

Первая подстава на экзамене - нас с супругой посадили рядом друг с другом, и это был первый раз в наших отношениях, когда мы переглянулись, и в наших взглядах читалось взаимное “Бляяя, только не ты”. Почему? Потому что для нормальной записи ответа на микрофон надо буквально кричать, словно вы не на экзамене, а на трибуне в Рейхстаге, и перед вами не экран, но толпа вояк с незакрытым гештальтом. Буду кричать - буду сбивать жену, а сдавать за ее счет мне совсем не хотелось. В итоге какой-то чудесной мозговой синхронизацией, мы «договорились» говорить по очереди. До этого я пытался полушепотом записать ответ, но в наушниках при прослушивании слышалось лишь “хш хш хш хуе морхен”.

Вторая подстава была в одном каверзном вопросе. Вопросы на экзамене исключительно бытовые, отвечать на них можно простыми предложениями безо всяких daarom и omdat. Проверяют произношение, “адекватность” ответа и грамматику с орфографией. Вопросы могут быть в стиле: “Я еду на работу на велосипеде. А ты? Расскажи еще, сколько ты тратишь времени на дорогу.” или “Какая у тебя дата рождения?”.

Никаких аэрокосмических наук, но внезапно мне попадается следующее: “Er is heel verkeer in Nederland. Wat vind u daarvan? Vertel ook waarom.”

Вопрос переводится как: “В Нидерландах очень много какого-то “феркиера”. Что вы об этом думаете? Почему?”

Я осознаю, что я в полной заднице, так как понятия не имею, что такое verkeer, а вопрос поставлен так, что слиться с него нельзя. Тут на память приходит старый чит для таких вопросов (т.е. которые ты совсем не понимаешь) - нужно ответить: “Я считаю это нормальным. Тоже самое в моей стране.” Что я, собственно, и сказал. Выйдя из экзаменационного центра я перевел verkeer и узнал, что это переводится как “пробки”.

Ну то есть человек на видео спрашивает, что я думаю о пробках, а я ему: “Да мне ОК, в моей стране та же история.” (Я переехал из МО и считаю пробки частью своего культурного кода).

Экзамены, в целом, несложные. С нуля к ним можно подготовиться за год, если практиковать каждый день (т.е. читать, писать и говорить), а заниматься с репетитором хотя бы 2-3 раза в неделю. Проблема в том, что этот экзамен совершенно не интегрирует человека в нидерландское общество, вне зависимости откуда вы приехали.

Но это уже другая история.
Завтра ожидайте историю про немогущую систему управления конфигурациями (речь пойдет о cfn-init).
Управление внутренним конфигом ЕС2 - отдельная песня. AWS как всегда предлагает настолько богатый выбор (OpsWorks, GoldenAMI, SSM), что без бутылки принять решение невозможно.

Я в свое время очень полюбил provisioner’ы Terraform и обрадовался, когда узнал о существовании cfn-init.

Что из себя это представляет? Сам по себе cfn-init это обычный helper script, который идет из коробки или ставится на раз-два. В CFN декларируются метаданные с ключом AWS::CloudFormation::Init, внутри декларируем конфигурацию: пакеты, файлы, команды, сервисы и т.д.

Штука прикольная, умеет тащить файлы из GitHub и S3, ставить пакеты для разных дистрибутивов и даже поддерживает Windows.

Для одного большого материала (о нем я тоже обязательно расскажу, но сильно позже), решил поднять LEMP стек на ЕС2... и вижу, что модуль files не умеет создавать директории. Файлы - да, символические ссылки - да, директории - нет. Об этом даже писали на форуме в 2012 году, но ничего с тех пор не изменилось.

Казалось бы, можно пойти по пути Ansible и просто добавить такую похожую конструкцию, как state=file,link,directory. Дополнить сам скрипт - дело 2 минут.

Общался со знакомым амазонщиком, спрашивал, не открытые ли у cfn-init исходники - к сожалению нет. Когда (если) дойдут руки, отправлю feature request… А пока создание директорий делается через команды.

Ситуация на самом деле очень идиотская. С одной стороны AWS пилит функционал с огромной скоростью, радея за качество, с другой - элементарные вещи либо не делаются, либо игнорируются. Надеюсь у команды CloudFormation были весомые причины забить на это.
(1/2) Попался на глаза вот этот пост на Хабре. Впечатления он у меня вызвал очень противоречивые, а раз "в интернете кто-то неправ", то я просто не могу молчать! Подробного разбора не будет, я лишь прокомментирую некоторые пункты. Орфография и грамматика оригинала сохранены.

"Так вот, я завалил три из четыре собеседований, и я хочу об этом поговорить."

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

"В самом деле, зачем смотреть код человека, главная работа которого будет заключаться в том, чтобы его писать?"

На работе от вас ожидают, что вы будете писать "промышленный" код, работая в условиях сжатых сроков и огромного количества зависимостей, в том числе и человеческих. Код "домашних проектов", выложенных на GitHub написан в "пижамных" условиях, где сроков и компромиссов нет. Единственное, чем он может быть полезен - показать, насколько хорошо вы можете организовать структуру проекта и пишете README.

"Это сразу закроет тучу вопросов."

Нет, не закроет. Ваш покорный лично был свидетелем ситуации, когда для специалистов... с низкой компетенцией более опытные товарищи писали красивый код на GH от их имени, ориентируясь как раз на таких нанимателей, которые искренне верят, что GH - показатель мастерства.

"Но и тут можно выкрутиться, дав небольшое тестовое на час-два (только не на месте: для многих собеседование это всё-таки стресс)."

1) Это очень дорого, долго и далеко от реальности (реальные задачи вам не дадут, потому что NDA).
2) Если собеседование, где нужно решить FizzBuzz, для вас стресс, то что будет на работе?

"На моем github два десятка проектов на разных языках, PR'ы в репы Facebook, Microsoft, Mozilla, куча issue в другие проекты. Это же клондайк для оценки как hard, так и soft скиллов."

Это показывает вашу любовь к OSS, только и всего.

"Как часто вы пишете сортировки? [...] А знаете, какие этапы в https-handshake? [...] Но мне хватило 5 минут, чтобы открыть гугл и вспомнить, [...]. И знаете что? Сейчас я опять не помню."

Что говорит о том, что вы не работаете с этим каждый день. Ваш покорный потратил немало времени на низкоуровневое дерьмо, пытаясь разобраться, почему отваливается mutual TLS при работе с Kafka, а знание сложности индексов БД очень помогает при проектировании OLTP приложений. Если вас спрашивают подобные вещи, то либо проверяется ваша ИТ эрудиция (что нормально), либо насколько хорошо вы разбираетесь в конкретном вопросе.
(2/2) "У текущего поколения нет таких заморочек насчет забивания головы знаниями."

Это очень много говорит о текущем состоянии индустрии и квалификации молодых специалистов.

"Было пару собесов в западные компании. И там акцент был на то, что ты знаешь и умеешь, а не попытках подловить на незнании."

Единственное, с чем могу согласиться. Задача собеседования - узнать, что человек умеет и знает, и (что еще важнее) что не умеет и не знает. Если интервьюер самоутверждается за ваш счет, то стоит только радоваться "проваленному" собеседованию.

"Всегда спрашивайте про проекты."

Зачем? Я могу попросить человека "спроектировать" мне что-нибудь (да хоть Netflix), и это уже даст мне больше информации, чем монолог о прошлых ошибках и достижениях.
Но вопрос "Расскажите о своем самом большом провале" один из моих самых любимых.

"Это еще и поможет выстроить дружелюбную атмосферу. Помните же, что собеседование — это стресс?"

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

"(Про опытных разработчиков) Он не станет читать к собесу про ACID и CAP, как студент к экзамену."

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

"Не поверите: ремоут может быть продуктивнее работы в офисе."

Налаживать разработку с использованием распределенных команд очень дорого и долго и чаще всего неэффективно. Бизнес не должен перестраивать годами проверенную модель ради хотелок "зумеров", без обид.

"Знаете админское правило 15 минут? Подожди, перед тем, как разбираться с проблемой пользователя. Часто она или решится сама, или станет неактуальной."

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


В целом статья интересная и полезная (если вам нечем заняться в туалете или поездке в автобусе), но я очень надеюсь, что советам автора (кроме того, что про "доминирование") никто следовать не будет.

При всем уважении, но собеседования проводят, чтобы нанять лучшего специалиста в пределах бюджета, а не доставить удовольствие кандидату. Не оставить плохих впечатлений... Может быть, но это все еще не приоритет.
Коллеги, а интересно вам будет почитать, как автор проводит собеседования?

- да
- нет
Читаю про Унабомбера: "Он сочинял сатирические новеллы и злые очерки о мрачном будущем, в котором наука используется для вторжения в личную жизнь, контроля над умами людей и ликвидации личной автономии."

Дело, на минуточку, происходило незадолго до 70-х.
(1/3) Что касается собеседований - давайте определим область. Я собеседую инженеров-облачников (амазонщиков), системных инженеров (что по Microsoft, что по *nix) и тех, кто зачем-то называет себя DevOps или SRE.

Иногда меня подпускают собеседовать разработку, но по кодингу я не силен, учавствую только в behavioural собеседованиях (aka проверка на адекватность и соответствие “культуре”).

Поскольку собеседовать приходится для сектора SMB, понятное дело у нас нет никаких “секций”, “бар рейзеров” и прочих “хайринг комитетов”. Решение принимается нанимающим менеджером единолично, все интервьюеры дают свое “добро” с комментариями.

И вот тут кроется главная проблема найма. Видите ли, SMB (от стартапов до yet another продуктовых команд) не может себе позволить нанимать высококлассных специалистов уровня FAANG - и это касается как процесса найма (несколько телефонных интервью + on-site), так и компенсаций (максимум - верхняя граница медианы). А значит и выпендриваться в стиле “Лучше не нанять хорошего, чем нанять плохого” и держать планку высокой мы тоже не можем - иначе мы никогда никого не наймем, вакансию закроют, народ так и продолжит зашиваться.

Потому процесс отбора должен быть максимально упрощен и сокращен, там где можно. То есть одно собеседование с рекрутером, одно с нанимающим, одно техническое (последние два иногда совмещаются).

По каким критериям отбирать - зависит от ситуации. Если человек уходит и ищут замену - искать “такого же” или чуть похуже (на “получше” денег нет). Если расширение команды - то же самое. Если новая команда/проект, и набирают всех с нуля - решается индивидуально в каждой ситуации (хотя в большинстве случаев нанимают специалистов того же уровня).

Почему, казалось бы, нельзя начать мутить bar raiser (для тех, кто не в курсе псевдо-крутых англицизмов - это когда вы нанимаете человека, который “круче” минимум половины людей в команде или отделе)? Тут спряталась вторая проблема (помимо того, что денег нет). SMB обычно тянет “культуру” семьи, сыгранной команды, уютной тусовочки и прочего ноосферного мусора. Притащить туда человека, который вертел половину команды - потенциальный конфликт (что тема отдельного поста), и упаси Бог, если новичок окажется мудаком.

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