Pull to refresh
18
0
Андрей Волков @Kipriz

User

Send message

Трансформация аутстаф команды в смешанную инхаус-аутстаф: практические советы как это пережить

Level of difficultyMedium
Reading time6 min
Views1.5K

Работаю я тимлидом в аутсорсе/аутстафе уже добрый десяток лет. И были у меня в основном команды, которые я сам собирал.

Текущая команда - 8 человек, все из стран СНГ. Плюс архитектор и продакт из США. Внутреннее общение на русском, с заказчиком на английском; вся команда примерно в московском часовом поясе, плюс-минус 3 часа, заказчик в Нью-Йорке и Лос-Анджелесе. Привычная схема работы: утром внутренний звонок, обсуждаем весело текущие дела (я надеюсь), планируем работу на день, вечером встречаемся уже вместе с заказчиком - обсуждаем прогресс, задаем вопросы, планируем.

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

И тут заказчик принимает решение, что рискованно доверять всю разработку одной компании, нужно добавить своих собственных разработчиков (назовём их “инхаус-разработчиками”). Я, конечно, понимаю ход мыслей заказчика, но добавление 3-х разработчиков к 8 уже имеющимся и так-то непростая задача. А тут эти трое из другого часового пояса. И англоговорящие конечно. И менталитет другой.

Хочешь - не хочешь, а проект надо вести дальше.

Читать далее

Уволить за 60 секунд: что мешает нам увольнять людей вовремя

Level of difficultyMedium
Reading time7 min
Views5.4K

В последнее время я стал замечать, что тимлиды, начинающие и не только, испытывают сложности с увольнением сотрудников, компетенция которых не соответствует занимаемой должности. Студенты на лекциях в Отусе на курсе тимлидов, тимлиды на конференциях и митапах, да и я сам, признаться честно, — все сталкивались с ситуациями, когда есть понимание, что человека пора уже уволить, но почему‑то мы оставляем его, даём ему сорок второй шанс, верим, что вот сейчас‑то он исправиться, надеемся, что в этот раз результат будет вовремя и такой, как надо. Результат ожидаем: задание не сделано вовремя, в коде полным полно ошибок, всё поперёк общей архитектуры, всё нужно исправлять, доделывать, переписывать. И снова ‑цать часов потрачено на «разбор полётов», встречи один на один, корректировку планов и смет с заказчиком.

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

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

Читать далее

Как я начал проводить технические собеседования за 30 минут

Level of difficultyMedium
Reading time7 min
Views32K

За последние несколько лет я значительно изменил свой подход к проведению технических собеседований. Если когда-то (лет 7 назад) я мог весело и задорно интервьюировать джавистов два часа, то на текущей позиции у меня нет столько времени на каждого кандидата. При наличии 4 открытых позиций и с результативностью 10% (примерно 10% кандидатов проходят собеседование и готовы принять оффер), получается, что мне нужно провести порядка 40 собеседований. Если тратить хотя бы по часу на собеседование, то это дополнительные 40 рабочих часов, которые где-то надо найти. Плюс накинуть 10 минут на переключение между задачами, получается ещё 400 минут (~6.5 часов).

Поэтому я задумался над вопросом повышения эффективности собеседований.

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

Читать далее как там быстро собеседовать

Как тестировать в Databricks: Nutter Framework

Level of difficultyMedium
Reading time8 min
Views1.2K

Если с тестированием привычных программных продуктов более-менее ясно, то вот с BigData возникает множество вопросов. Если у вас Java - у вас есть как минимум JUnit, а абсолютное большинство фреймворков заботятся о простоте тестирования. Например Spring посвящает этому очень много документации. Тестирование фронтенда тоже хорошо проработано: от Selenium до JestJs. Тестировать блокчейн и смарт-контракты одно удовольствие (хотя бы на Ethereum сети благодаря Truffle Suite)

Что делать, если вы используете Databricks? Обычные библиотеки для тестирования туда плохо заходят, и даже несколько официальных руководств по тестированию не отвечают на все вопросы. Ответ, который нашла наша команда, - Nutter Framework.

Как же его использовать?

К вопросу о внедрении процессов разработки в международные распределённые команды

Reading time7 min
Views1.1K

На текущем проекте я столкнулся с необходимостью внедрения единого процесса разработки и деплоймента для нескольких команд дата-инженеров. “Несколько команд” - это 5 команд дата-инженеров из разных стран (Америка, Индия, СНГ) плюс команда, которая отвечает за DataOps, назовём их админами. Разные часовые пояса, немного разная культура работы, немного разный уровень дисциплины и менеджмента. Мысль о том, что нужно менять процессы работы сразу в 5 командах для 40+ человек, приводила в небольшой трепет. Как разрабатывать и внедрять SDLC (software development lifecycle) для команд разработчиков я знал, но тут и люди другие, и специфика проекта другая. В общем, я ждал сложностей. И они были.

Что там за сложности? Как их преодолели?

33 питона: зоопарк позиций, которые требуют знания python

Reading time7 min
Views13K

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

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

Начну с темы найма. Найма питонистов всех мастей. 

Завораживающее предисловие, не правда ли?

Читать далее про разных питонистов

Впечатления от работы с Play! Framework 2.1 + Java

Reading time13 min
Views62K
Шла четвёртая неделя тяжёлых боёв с Play! Framework 2.1 + Java. Победа неумолимо приближалась, но до полной капитуляции было далеко.
После обнадёживающих новостей про развитие Play! 2.1, например в LinkedIn, было решено попробовать его в одном новом проекте. Испытать его, так сказать, в деле. Что из этого получилось? Я бы сказал, что это была небольшая война между мной и Play! 2.1. Почему? Подробности под катом, а для нетерпеливых:

Краткий вывод

Для штурма надо было брать секретное оружие под кодовым названием Scala. Если встать лицом к лицу с Play! Framework 2.1 и крикнуть со всей силы: «Ты есть Scala-фреймворк!», то он испугается такой прямоты и скромно откроет свои двери в мир больших возможностей.
«Не знаете Scala?» — «Используйте Play 1.2».
«Хорошо разбираетесь в Scala?» — «Обязательно попробуйте Play 2.1. Но всё равно запаситесь терпением».

Подробные сводки с фронтов

RoboGuice или «Андроид подсел на инъекции»

Reading time8 min
Views12K
imageRoboGuice — это библиотека, которая позволяет пользоваться всеми преимуществами Contexts and Dependency Injection при разработке приложений на Андроиде.
Как несложно догадаться, RoboGuice основан на Google Guice.
Сразу оговорюсь, что в качестве перевода слова «injection» я буду использовать слово «инъекция».

Зачем колоться?


Думаю, что у многих читателей сразу возникнет вопрос: «Зачем эти сложности с CDI на мобильной платформе? Наверняка это всё занимает много места и медленно работает.»
Попробую убедить таких читателей в обратном, а именно в том, что CDI на мобильной платформе очень даже жизнеспособен и существенно облегчает жизнь разработчикам.
Читать дальше →

Apache Lenya — необычная opensource CMS на Java

Reading time7 min
Views19K
В комментариях к топику Spring в действии — пробуем opensource CMS на Java я обмолвился об Apache Lenya, одной из opensource CMS на Java, и меня попросили написать о ней подробнее.
Apache Lenya Logo

Почему Apache Lenya


«Почему CMS на Java?» — первый вопрос, который у меня возник, когда поступили требования от заказчика. Ответ оказался простым: заказчик, крупная корпорация, имел опыт разработки проектов на Java, поэтому доверял ей больше всего. «Java EE» звучит для уха бизнесмена серьёзнее и надёжнее, чем, скажем, PHP. Как обстоят дела с надёжностью и серьёзностью на самом деле не суть важно, но всё же стоит учитывать, что крупные корпорации доверяют продуктам других крупных корпораций.
Читать дальше →

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity