Size: a a a

2018 November 30
xpinjection
источник
xpinjection
Ну и давайте добавим интерактива. Кто видит это постоянно в аутсорсинговых компаниях, ставим 🔥. Если ложь и провокация, то ставим 🤦‍♂️. Если это ваша личная боль, то ставим 😱.
источник
xpinjection
источник
2018 December 11
xpinjection
Прошла конференция XP Days Ukraine 2018 и появилось чуть больше времени написать что-то интересное в канал. Сегодня я вернусь к теме собеседований и поделюсь своим видением второго этапа под названием «оценка профессиональных навыков». Данный этап следует за оценкой попадания в контекст найма, о котором я писал месяца 2 назад.

Итак, перед данным этапом собеседования я ставлю следующие цели:

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

Чтобы эффективно достигнуть всех целей, собеседование должно быть построено очень чётко, разбито по тематике и содержать разнотипные вопросы/задания. Обычно я за 1.5 часа успеваю затронуть 5-6 крупных тем.

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

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

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

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

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

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

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

Пост получился длинным, поэтому в следующий раз я расскажу об оценках и выводах по результатам такого собеседования. Удачных собеседований! :)
источник
2018 December 12
xpinjection
На соседнем DevOps канале проскочила новость, мимо которой я не мог пройти. Официально вышла поддержка Docker Compose для Kubernetes:

https://blog.docker.com/2018/12/simplifying-kubernetes-with-docker-compose-and-friends/

Новость однозначно крутая, но неоднозначная по выводам. С одной стороны, это даёт возможность проще переехать на Kubernetes тем, кто использует Docker Swarm, что может быть истолковано как начало конца Docker Swarm. С другой стороны, эта опция позволяет избежать локальной работы с Kubernetes в некоторых случаях и использовать более простой Docker Swarm, а на серьезных окружениях деплоить то же самое в Kubernetes.

Понятное дело, с помощью «родного» синтаксиса Kubernetes можно настроить много чего. Вот только порог входа повыше и многим попросту хватает возможностей Docker Compose на определённом этапе, особенно на старте.

В любом случае, события развиваются интересно. :) Репу можно пощупать тут:

https://github.com/docker/compose-on-kubernetes
источник
2018 December 19
xpinjection
Вот казалось бы, некуда уже улучшать такой CI/CD сервер как TeamCity, но новые полезные фичи продолжают выходить:

- поддержка GitHub пул реквестов;
- добавление аттачментов к тестам;
- дублирующий сервер для масштабирования.

Jenkins выглядит поделкой из 2000-х. :)

https://m.habr.com/company/jetbrains/blog/433558/
источник
xpinjection
Некоторое время назад мы анонсировали первый E-Healthcare доменный митап в Киеве от компании Whirl Software. И я совсем забыл поделиться материалами. Слайды и видео всех докладов доступны тут. Хорошего просмотра и до встречи на следующих митапах! http://domain-meetups.whirl.sg/#rec76129072
источник
2018 December 20
xpinjection
источник
xpinjection
Во времена моей молодости одним из стандартных вопросов на собеседовании был про отличия inner и left join. После этой картинки вопрос стает неактуальным. ;)
источник
xpinjection
Приближаются длинные выходные и мы приняли решение опубликовать пораньше для всех желающих видео с прошедшей конференции XP Days Ukraine 2018. Причин сразу несколько:

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

В общем, от слов к делу! Смотрите с удовольствием!

https://www.youtube.com/playlist?list=PLrw9xNHk9SGQdBS8wKrKyMYP_XxUXszq1
источник
2018 December 21
xpinjection
Похоже, другие организаторы конференций начали следовать нашему примеру и открывать видеозаписи куда раньше обычного. Вот вам доклады QA Fest 2018: https://www.youtube.com/playlist?list=PLuOBDBq7MW73zWBY2FX2SQXyOCJWFDq2U
источник
2018 December 24
xpinjection
В далеком 2011 году Apache Kafka появилась как аналог существующим брокерам обмена сообщениями. Но решение оказалось таким удачным, что применений с каждым годом становилось все больше и больше. В 2018 Kafka можно смело называть интеграционной стриминговой платформой с кучей дополнительных возможностей и интеграцией с большинством технологий, фреймворков и тулов. В данном видео отлично рассказано почему: https://www.youtube.com/watch?v=bapHWhtf6fE
источник
xpinjection
С незапамятных времен целью производителей инструментов было обеспечение среды разработки, где разработчики могли бы фокусироваться на бизнес-фичах, а не на инфраструктурных вопросах как масштабируемость, балансировка нагрузки и т.д. Поэтому в Java мире долгое время были популярны application servers. С переходом на микросервисные подходы возникла совершенно новая ниша аналогичного назначения, которая занимается разными игроками от PaaS типа Cloud Foundry до AWS с сервисами для чего угодно. Но уже видно что Kubernetes + Istio в ближайшее время будут чуть ли не серебряной пулей для большинства. В общем, новый тип application server уже здесь! :)

https://www.youtube.com/watch?v=T7swgJzx4a4
https://www.youtube.com/watch?v=9Jb3WFTl_zY
источник
xpinjection
У меня уже лет 7-8 как есть любимая стратегия работы с дефектами. Мы ее опробовали на многих командах за это время и она чудесно работает, если у вас хватает смелости начать и честно выполнять условия по НЕЗАВЕДЕНИЮ новых бессмысленных дефектов, которые никому не мешают и никогда не должны быть исправлены. И вот ребята из Додо-Пиццы описали свой опыт работы по этой стратегии: https://www.facebook.com/notes/dodo-pizza-engineering/zerobugpolicy-%D0%B8%D0%BB%D0%B8-%D0%BA%D0%B0%D0%BA-%D0%BC%D1%8B-%D0%B1%D0%B0%D0%B3%D0%B8-%D1%87%D0%B8%D0%BD%D0%B8%D0%BC/1446732912129727/
источник
2018 December 27
xpinjection
Сегодня затронем такую опасную и неоднозначную тему как бонусы. Есть много людей, которые не видят в бонусах смысла, настаивают сугубо на зарплатных отношениях или попросту завидуют тем, кто их получает. Есть также много сторонников использования бонуса как дополнительного мотиватора в достижении сотрудником результатов или же более «честный» механизм зарплаты. Я работал с разными схемами с разных сторон и в разных ролях, поэтому сформировал определенное мнение, которым и поделюсь с вами.

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

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

В случае индивидуального подхода, существуют определённые критерии или KPI, которые сотрудник должен достичь. Из моего опыта, данный вариант провальный сразу по нескольким причинам:

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

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

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

Цели команды могут быть также выработан в рамках подхода OKR, о котором я уже писал в канале. Тогда можно хорошо привязать их к целям всей компании и вместе с командой проработать более чёткие объективные критерии успеха.

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

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

Желаю всем заслуженных приятных бонусов! :)
источник
2018 December 28
xpinjection
Всем привет! Я постоянно ищу интересные форматы для IT инфопространства, которых нет на просторах Украины. Недавно наткнулся на прикольный формат живых интервью с известными IT личностями. Как думаете, зайдёт у нас? Я готов инвестировать время и деньги, если это интересно сообществу.

https://www.youtube.com/channel/UC25Ol81YfP1wvJG37mTdYww

Итак, давайте чуток проголосуем:

🔥 - отличная идея, я бы смотрел;
🦄 - у нас нет интересных людей в IT;
💩 - идея неудачная, это никому не нужно;
🙏 - мне очень нравится, готов помогать в организации.
источник
2018 December 30
xpinjection
Ну что ж, настало время подвести итоги завершающегося 2018 года. Чего получилось за этот год:

🚀 весь год проработал в желаемом режиме 70/25/5 (70% времени с одной компанией в практической роли, 25% точечные тренинги и консалтинг, 5% бесплатно во благо сообщества), оказалось ооочень утомительно (местами близко к выгоранию в стиле птицы Феникс)

😱 подписали 3 новых масштабных клиента под долгосрочное обучение и инженерную трансформацию

💪 провёл 27 тренингов, из которых 3 даже без программы и подготовленных слайдов, только маркеры и флипчарт

📚 прочитал 10 книг по IT тематике, что сильно меньше поставленного на год плана

📜 завёл Telegram канал xpinjection_channel, куда перевёл весь технический блогинг, сейчас уже набралось 1638 подписчиков

🔍 впервые выступил в роли ревьювера книги, что оказалось сильно сложнее ожидаемого, но результат того стоил

📺 посмотрел около 100 докладов с различных конференций

🎤 выступил всего на 7 конференциях, что очень мало по сравнению с прошлыми годами

✔️ провели очередные сезоны Selenium Camp, XP Days Ukraine и JEEConf, каждая из которых подросла по количеству участников и уровню организации, но мне стало скучно заниматься этим направлением, в 2019 надо будет что-то менять

🏆 весь год выдержал режим 5-6 тренировок в неделю (сквош, футбол, тренажёрный зал, бег, плавание)

🌍 путешествий было откровенно мало (всего 5 стран), зато впервые побывал в Ташкенте и на Байкале

🛠 чтобы было совсем «нескучно» жить, начал ремонт в новой квартире

💜 впервые поучаствовал в построении организации бирюзового типа со всеми сложностями и достижениями

📈 перешагнул рубеж в 4000 фоловеров в Twitter, но писал туда за год очень мало туда

🥳 под конец года впервые попал на «прекрасное IT» в роли Льва Толстого украинского IT, это настоящая победа

😴 очень мало спал...

Вот такой был этот 2018-й. В 2019-м сильно надеюсь больше спать и путешествовать с семьей, а также выделять время на чтение.
источник
2019 January 03
xpinjection
Перед новогодними праздниками мы наконец финализировали даты конференции JEEConf 2019. В этом году она пройдет немного раньше, перед майскими праздниками, 26-27 апреля. С одной стороны, в Киеве будет еще не так жарко и сезон отпусков еще не начнется. С другой стороны, мы ушли от привычных дат, к которым за 7 лет все успели привыкнуть. В общем, будет интересный эксперимент!

Раннюю регистрацию мы еще не открывали, а вот доклады уже принимаем. Прием докладов продлится до середины марта. В первую очередь, мы будем рады увидеть среди докладчиков представителей локального Java сообщества с интересным практическим опытом, которым не стыдно поделиться. Присоединяйтесь к команде докладчиков!

https://jeeconf.com/speakers/
источник
2019 January 08
xpinjection
Вот это новости! После покупки GitHub компанией Microsoft все кричали о плачевном будущем сервиса и массовой миграции пользователей на имеющиеся альтернативы. В основном, из альтернатив все рассматривают GitLab и Bitbucket.

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

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

И тут сразу после новогодних праздников прилетает новость о запуске бесплатных приватных репозиториев на GitHub. Да, с ограничением по количеству участников разработки, но для большинства пользователей из первой группы Bitbucket это не помеха. Вангую массовую миграцию...

https://techcrunch.com/2019/01/07/github-free-users-now-get-unlimited-private-repositories/
источник
xpinjection
А вот вам еще новостей, но на этот раз от нас. Пришло время собирать программу Selenium Camp 2019 и мы уже отобрали первую партию докладчиков. Напоминаем, что пошла последняя неделя, когда вы можете присоединиться к команде докладчиков и поделиться с 650+ участниками своими опытом и знаниями из мира автоматизации тестирования. Мы будем рады помочь с подготовкой доклада! https://seleniumcamp.com/speakers/
источник