Size: a a a

noTieinIT - Об IT без галстуков

2020 December 11
noTieinIT - Об IT без галстуков
​​💩 Самый неадекватный кандидат в моей карьере.

Давненько не было пятничного трешака. Прям история по свежим следам. Проводили очередной скрининг кандидатов на позицию PHP, но кандидат попался крайне неадекватный.

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

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

https://habr.com/ru/post/532620/

P.S. А если у кого есть плюсовалка на хабре, то подмогните быстрее вывести в топ. Данке шон!

А еще в дестоп и мобайл версии телеграма есть опция комментирования данного поста. Не стесняемся! Задаем вопросы, комментируем!

@noTieInIT
источник
noTieinIT - Об IT без галстуков
Вот прикладываю скриншот с самого первого отзыва. Тем кто умомнился в адекватности.

Напомню, 30 минут кол, 15 минут из них чесание ЧСВ. Потому как такой поток можно родить за оставшиеся 15 минут - загадка.
источник
noTieinIT - Об IT без галстуков
Еще немного годноты. Одна переписка - это рекрутеру, а вторая - техлиду.
источник
noTieinIT - Об IT без галстуков
источник
noTieinIT - Об IT без галстуков
источник
2020 December 16
noTieinIT - Об IT без галстуков
Сорямба. Автопубликация не туда была выставлена.

Но раз уже некоторым нотификейшн пришел, то микропост с анонсом. До всей вот этой истории, буквально за день записали с ребятами из QA Guild подкаст. Он должен выйти на днях. Там много материала про найм, про собеседования и подходы. Даже про бизнес затронули. Потому stay tuned, как только в паблик выложат, то поделюсь.

Еще раз сорри что некоторых тригернул месседж. А если кто хочет почитать про бюджет Украины 2020, то на @FinVam переопубликовано.
источник
2020 December 22
noTieinIT - Об IT без галстуков
​​🎤 Подкаст! Про найм, про ставки и компетенции, про вопросы на собеседованиях и про флоу собеседований. Что выясняет хороший интервьюер?

Несколько недель назад я пришел в гости на подкаст к замечательным ребятам из QA Guild: Ярославу Пернеровскому и Сергею Пирогову. В ходе беседы прошлись по множеству тем связанных с наймом и знаете… этот выпуск содержит информацию, которая является квинтэссенцией моей философии. Сразу обозначу, что речь про IT, хотя 90% применимо к любой индустрии.

♥️ Краеугольный камень: с помощью современных технологий стоит создавать возможности для роста бизнеса, пользуясь этим как преимуществом, а не создавая обратное, когда технологии берут бизнес в заложники.

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

Подробности? А Вот темы!

🔹 Про собеседования
🔸 Откуда бабло в продукте
🔹 Сколько стоит нанять нового человека?
🔸 Почему люди обычно фейлятся?
🔹 Ставки vs компетенции
🔸 Про перспективы зарплатного перекоса
🔹 Челенджи найма в продуктовой компании
🔸 Что важно в резюме?
🔹 Какие вопросы задают и почему?
🔸 Кто виноват?
🔹 Влияет ли зп на сложность задаваемых вопросов?
🔸 Флоу собеседования
🔹 Как культурно объяснить, что нет
🔸 Тестовое vs код на гитхабе

Слушать на SoundCloud - https://soundcloud.app.goo.gl/KzFRT

Канал ребят - https://t.me/automation_remarks

P.S. Спойлерну. Так как ребята лидеры мнений QA комьюнити, то договорились о стриме где будем распинать/защищать автоматизацию тестирования и разберем каким компаниям это будет полезно, а какие может просто убить.
источник
2021 February 02
noTieinIT - Об IT без галстуков
​​🐞 Стоимость ошибки и изменений…

Ошибки любят списывать на разработчиков или QA. Это сделать проще всего. Таким поведение грешат менеджеры, ведь проще всего обьяснить своему же руководству о пофейленном проекте или задаче взвалив это на разработчиков. Нетехническим топам рассказать о том, что “разработчики козлы” проще всего, ведь они не могут вникнуть глубоко в суть и разобраться в проблеме. Можно еще уволить исполнителей и взять новых… чтоб наверняка.

⛔️ В современной статьях и литературе (в основном про Agile) приводят вот этот график, который очень упрощен и не показывает истинную трагичность. Всего-то выпилили значения по шкалам… Еще продавцы гибких методологий любят продавать историю, что использование XP практик делает “график плоским”, потому чтоб не профакапить, то юзайте XP.

Происходит это за счет уменьшения времени обратной связи на ошибки. Работая по TDD от момента написания кода до понимания что тесты попадали пройдет несколько минут, потому исправить такую ошибку проще. Это действительно правда, писали об этом Кент Бек и Мартин Фаулер, кстати, но это лишь часть правды.

Сегодня восстанавливаю справедливость! К этому посту я приатачил давно забытый график, но он не утратил актуальность даже спустя 40 лет!. Его автор - Barry Boehm и он опубликовал этот график в книге Software Engineering Economics. На этом графике отображены все этапы в разработке: от формулировки бизнес требований до исправлений в продакшне.

🔍 Расшифрую суть графика на примере. Если на этапе формирования требований к продукту ошибку в требованиях можно предотвратить и доработать за 1 час, то исправление во время разработки уже будет стоить примерно 10 часов. Если проморгать проблему и код ушел на тестирование, то ее исправление может затянуть на 20-50 часов, а если ошибка уехала в релиз, то и вовсе до 1000 часов!

Еще раз. Исправление ошибки на этапе проектирования в 100-1000 раз ниже, чем после выпуска релиза!

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

В нескольких следующих публикациях пойдет речь о практическом опыте исправления ошибок на разных этапах и сложности разгребания проблем из-за недоработки при планировании. Ну и, конечно же, несколько рекомендаций как поменять подход к разработке ПО дабы снизить стоимость ошибки. Stay tuned!
источник
2021 February 03
noTieinIT - Об IT без галстуков
​​🐛 Потери при недоработках планирования. Часть 1.

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

Как-то мне достался продукт, который должен был работать с live видео: принимать потоки, транскодировать их в несколько качеств, отдавать пользователям. Одним словом - была работа с realtime. Ответственные лица приняли решение разрабатывать эту часть платформы на базе PHP и успешно полтора года пилили проект. Ну как пилили… Первые 9 месяцев что-то напилили, а остальные 9 месяцев пытались перемотать изолентой весь продукт дабы он не рассыпался. Product Manager хотел двигаться быстрее, перейти к следующим этапам, но все время команды только и выжирал технических долг. Так до меня дошел запрос вмешаться в процесс и разобраться что там творится, принять меры.

После плотной интеграции в продукт, пришли к выводу, что вообще выбран некорректно весь технологический стек и PHP плохо подходит по ряду причин:
🦀 Этот язык через пень-колоду поддерживает работу с асинхронностью, а система должна была обслуживать live видео, где множество процессинга и асинхронных событий. PHP обеспечивает меньшую пропускную способность и провоцирует большое количество затрат времени.
🦀 Он ориентирован на работу со stateless запросами: запрос поступил, скрипты обработки запустились, запрос выполнился и скрипты умерли. Сохранение состояния потоков между стартом-смертью скриптов возможно лишь посредством постоянной сериализации/десериализации данных и сохранения в базы данных или кэши. Это тоже перетрата.
🦀 Запустить процесс другой программы и его контролировать попросту невозможно без запуска сотен процессов, которые еще и блокируются ожидая input/output. Про phpDaemon и т.п. можете не писать, это та еще дрянь если с ней работать плотно.
🦀 При выполнении каждого запроса тратится 50-100ms только на бутстратпинг скрипта, ну и фреймворков заодно, если они есть.

После анализа приняли решение переписывать на другом языке.

Какие затраты? Команда из 6-8 человек полтора года двигалась не туда и это $300-400k слитых в унитаз и потеря как конкурентного преимущества за это время, так и потенциальной прибыли.

А теперь представьте, что у вас на проекте кто-то так факапнулся концептуально и все эти сражения с архитектурой, недоспанные ночи, постоянные баги и их латания - это всего лишь следствия халатности на проработке и потенциально весь отдел могут уволить не из-за их результатов, а ошибки лица принимавшего решение писать на этом стеке?

Welcome to real life, bro.
источник
2021 February 04
noTieinIT - Об IT без галстуков
​​Service mesh, онлайн–интенсив 19–21 марта

Слёрм готовит интенсив для тех, кто работает на проектах с развитой или развивающейся микросервисной архитектурой.

Спикер интенсива — Александр Лукьянченко, тимлид в команде архитектуры Авито. Он раскроет механики работы service mesh и поможет подготовиться к внедрению технологии без даунтайма.
Для практики будем использовать проект без service mesh в Kubernetes-кластере. Задача — постепенно внедрить service mesh, отслеживая изменения.

Посмотреть программу на сайте: http://slurm.club/36DXaK8
источник
2021 February 05
noTieinIT - Об IT без галстуков
​​🐞 Потери при недоработках планирования. Часть 2.

Факап из прошлого поста не стоил карьеры людей, но переписывать систему пришлось.

На этот раз собрали функциональные и нефункциональные требования и пришли к выводу, что нужно отказаться от монолита на PHP и строить на базе сервисов на асинхронном языке. Специалистов на рынке было больше со знанием Javascript и вопреки моей большой любви к Java я не рискнул с Java NIO стартовать проект: был большой риск не уложиться в сроки и не найти специалистов из-за крайне малого опыта Java разработчиков на нашем рынке с асинхронным IO.

В этот раз с Сашей, TL этого проекта, мы стирали фломастеры об доски не один месяц (actually, 2). К сожалению где-то потерялась фотка нашей проектной документации, которая была засвидетельствована на стопке листов A4, с рукописным текстом и вырезанных и вклеенных куском логики с других листочков. Жаль конечно, выглядело как Франкенштейн или как лоскутное одеяло… кому как угодно)

На выходе получили систему, которая вот уже 4-5 лет в эксплуатации и переживала смену слоев, но не смену общей архитектуры. Decoupling в действии. Мы потратили на первом этапе несколько месяцев на планирование и устранили теоретические проблемы еще на старте, а вот окупилось это с лихвой, ибо выкидывание целых двух слоев приложения (двух сервисов) заняло 1 неделю ударной работы (вот ссылка на эту часть истории из выступления на конфе, fyi).

Конечно, не все так радужно было и столкнулись с другими проблемами, которые были вызваны наличием большого количества сервисов/микросервисов:
🔸 оркестрация доставляла неудобства, да и еще доставляет дискомфорт по сей день)
🔸 tracing/debugging становится сложным
🔸 service mesh на объемах становится большой головной болью!

Когда писали эти сервисы, то изобретали свои велосипеды для борьбы с этими проблемами. По итогу, потеряли десятки тысяч USD пока обучались работать с service mesh и оркестровать, трейсить и дебажить. Но это все равно меркнет на фоне архитектурных. У вас же есть возможность поучиться на наших ошибках...
источник
2021 February 16
noTieinIT - Об IT без галстуков
​​💵 Так как же экономить на этапе оценки требований?

Люся Сидорова хотела выйти замуж по расчёту... Но не смогла. Она гуманитарий.

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

Напомню про график из предыдущей публикации. Перетраты на исправлениях до 5 раз возникает когда технари и постановщики задачи начинают футболят в друг друга требованиями и оценками.

💊 Самая эффективная рекомендация! Можете ее показать своим менеджерам. Обьясняйте технарям всю задумку и идеи стоящие за этой задачей. Почти всегда инженер, который не просто делает работу, но и понимает зачем ее делает, предложит как срезать острые углы и может предложить слегка видоизменить требования чтобы сэкономить на этапе разработки.

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

В моем опыте были объяснения:
- как работает протокол HTTP, WebSocket
- как ведет себя браузер после запроса загрузки страницы и до закрытия табы
- что такое сессия пользователя
- как происходит балансировка нагрузки и почему два запроса подряд на разных серверах могут выполняться
- что за магия с cookies и local storage
- и многое друго...

❓Почему❓ Вот хочет реализовать постановщик логику работы чатов на WebSocket. В его мире “ДО” нажатие кнопки “отправить сообщение” было неразрывно связано с тем фактом, что сервер получил сообщение в риалтайме и обработал его. Когда объясняешь, что банально в момент отправки соединение может быть не установлено, может быть в процессе реконнекта и тп, то после этого человек уже формирует требования с учетом разных состояний соединения! Когда объясняешь, что у могут быть синхронные и асинхронные запросы, а пока ответ летел клиенту с сервера, то состояние на сервере могло уже поменяться, то качество проработки edge cases и fail-сценариев в требованиях вырастает в разы. Это и создает экономию на этапе написания требований.

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

@noTieInIT
источник
2021 February 17
noTieinIT - Об IT без галстуков
Чат канала. Поехали!

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

Вместо комментариев будет полноценный чат!

Встречайте, @noTieInITChat.

Велкам в чат!
источник
2021 May 07
noTieinIT - Об IT без галстуков
​​🚜 Спустя 8.5 лет я ушел из Авроры, переболел короной, готовлю лайв с приятелем из Google и лайв-батл с гостями из QA Guild (Manual vs Automation).

1️⃣ Закончился мой забег и наступил тот момент, когда я решил уйти из компании. Если так задуматься, то 8.5 лет - это огромный срок и за это время было множество свершений. Были и переключения на разные виды бизнеса, и построение новых бизнесов с нуля, были и непростые ситуации... Самым ценным я считаю собранную команду, которая всегда желала большего и двигаться вперед. Особенно приятно слышать отзывы разработчиков, QA и админов, которых я нанимал и помогал расти, что в их карьере самая сильная техническая команда была именно в Авроре. За качество не стыдно) Да и по культуре собраны были уникальные люди. Можете похвастаться тем, что люди могут самоорганизоваться за 2 дня и выехать на выходные с палатками ⛺️ за город?) Или поехать на горнолыжный курорт 🏂
толпой в 8-12 чел, да и не раз, а из года в год? Всем с кем работал - большой респект, вы в моем сердце навсегда.

Жаль прощаться, но порой стоит остановится, оглянуться и принять решение переходить на следующий уровень, выбить себя из зоны комфорта. Сегодня я перелистываю эту страницу своей биографии!

2️⃣ Еще я успел переболеть короной 🦠... Ну и как настоящий экспериментатор я прошел весь флоу с гос. поликлиниками и семейными врачами. Тут несколько основных поинтов: идиотизм процветает, но с другой стороны, семейные врачи пытаются сделать добро, но система их давит. Примеры идиотизма: только у нас могут догадаться в двух соседних кабинетах принимать коронавирусных с ПЦР тестами положительными на рентген легких, а в соседнем кабинете проводить вакцинацию. Люди рядом в очереди стоят (ну да, куда же без очередей)... Умно, ничего не скажешь. Тем не менее, семейному врачу спасибо, она разделяла прием людей с симптомами и подтвержденным диагнозом от остальных. А что относительно тестов? Делают и делают даже бесплатно, если от семейного врача работающим в государственной поликлинике направление, а если в частной, то никто не принимает в бесплатных лабораториях.

🚑 Никаких специальных карет скорой помощи нет, тех которые должны ездить и у симптомных пациентов делать забор на ПЦР тест. Вместо этого люди должны добираться своим ходом в поликлинику и сдавать сами. Стоит ли упоминать, что большинство с симптомами поедет на общественном транспорте? Т.е. на минуточку... Кафе, рестораны и даже магазины торгующие хозтоварами закрыты, даже те что с антисептиками и замерами температуры на выходе, а общественный транспорт без температурного скрининга и антисептиков осмысленно возит симптомных граждан. Мало того, еще и не гоняют людей с масками на рту и открытым носом... Кстати, на вакцинацию я был еще записан с января, но очередь не дошла до сих пор, а судя по скорости вакцинации, то получу ее между 2042 и 2056 годом (так виджет рассказал).

3️⃣ Пол года я уламывал приятеля из Google записать либо подкаст, либо сделать лайвстрим и поговорить о работе в Google предметно. И этот человек ни разу не средний по рынку специалист, а хардкорный инженер с большим опытом, который работал и работает с софтом камер на телефонах, камерах помощи парковки авто, 360 surround view и тп. Я уже обсудил с ним зоны и свои вопросы, но прошу и вас написать что вам интересно узнать или на какие темы поговорить. Пишите прямо в @noTieInIT_bot или @NoTieInITChat. Анонс будет скоро.

4️⃣ Меня очень часто ввязывают в дискуссии относительно QA Automation vs QA Manual. Я однажды работал с командой автоматизаторов (даже 2 попытки были), а потом отказался. У меня свои мысли когда это мешает продукту и бесполезно потраченные деньги. Потому я попросил ребят из QA Guild поучаствовать в лайвшоу, которые занимаются той самой автоматизаций. Вот и будем искать истину на стыке разных мнений. Скоро будет анонс.
источник