Николай Крылов

Николай Крылов

Неделя
Sep 20, 2021 → Sep 26, 2021
Темы

Архив недели

Понедельник


🙋‍♂️ Привет, я Николай Крылов, лид Android из Альфа-банка. Помимо работы учусь в школе искусств Родченко, увлекаюсь фотографией и генеративным артом. Найти меня можно в инсте instagram.com/nklkrlv/

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

Android-разработкой я начал заниматься в далеком😨 2012 году, хотелось узнать много ли тут олдов 👴 ?
🤔 32.1% Застал Android 2.1
🤔 28.3% Android 2.3-4.x
🤔 25.2% Android 4.x и далее
🤔 14.5% от Android 5 и выше

В Москве вечер, пожар в рабочих чятиках утихает, значит настало время для первого треда — "Чем занимаются лиды в Альфе"
notion image

Мой стандартный день — это куча созвонов, уйма чятиков, где постоянно что-то пишут, бесконечное код-ревью и пермаментное тушение пожаров 😂😂😂😂 но обо всем по порядку 😅

С конца прошлого года в Альфе началась реструктуризация мобильной разработки, центры компетенций Android и iOs объединили в единый центр мобильной разработки и разграничили по бизнес-направлениям.

У каждого бизнес направления есть руководитель - менеджер, которые управляет наймом, зарплатами, взаимодействием с бизнесом и решает различные оргвопросы. Руководитель направления отвечает одновременно за обе платформы.

Так же есть роль лида — это нечто среднее между техлидом и тимлидом, у нас как менеджерские функции, так и технические. Лид отвечает за одну платформу — Android или iOs. За каждым лидом закреплено несколько продуктовых команд — в среднем от 6 до 9.

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

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

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

Так же я ежденевно делаю код-ревью. Для прохождения ревью у нас надо набрать 4 аппрува, 3 от любого члена команды и 1 от "обязательного" — в основном "обязательными" аппруверами как раз являются лиды. А сколько аппрувов нужно у вас?
🤔 6.8% Нет ревью 😎
🤔 40.5% Одного достаточно 👻
🤔 51.4% от 1 до 4 🦾
🤔 1.4% Больше 4 🙈

Ещё я провожу 1-2-1 с разработчиками, для каждого заранее поставлена в календаре встреча, с периодичностью раз в три недели.

Период для 1-2-1 определил эмпирически 😂 если ставить чаще - то часто нет тем для обсуждения, если реже - то наоборот можно упустить какую-то проблему, либо вопросов для обсуждения накапливается немерено 😅

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

Правда пока мои разработчики не слишком активно горят желанием составлять индивидуальные планы развития 😅😅😅
notion image

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

Пока писал это - понял, что очередной квартал на исходе, а значит скоро надо будет оценивать процент выполнения техзадач.
notion image

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

Ещё принимаю участие в проектировании общемобайловских архитектурных решений, внедрении новых библиотек/фреймворков

Плюс пермаментные созвоны по поводу и без повода и тушение пожаров — куда ж без этого 😅😅😅
notion image

И иногда у меня остается немного свободного времени - тогда я пишу код. Правда такое случается довольно редко 😭 😭 😭
notion image

🔥Тред (Николай Крылов)

Вторник


@mobileunderhood Как сохранять высокий уровень кода, когда пишешь довольно редко?
Спасибо за вопрос, начал писать ответ и понял, что все мысли не помещаются в один твит 😅 Поэтому стартуем тред twitter.com/sagus_helgy/st…

Первое время, как я перешёл в лиды в Альфе, меня постоянно тревожила мысль, что пишу мало кода и поэтому деградирую, как специалист 🙈
notion image

Когда я был в продуктовой команде у меня был вполне определённый бэклог, конкретные цели, работа была более предсказуемой и проще было оценивать свой вклад в проект

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

Какое-то время это даже довольно сильно меня демотивировало, я смотрел на других разработчиков и завидовал им, вот они пишут код по кайфу, а я в очередной раз сижу на какой-то скучной встрече 😂😂😂
notion image

Однако поразмыслив на эту тему некоторое время, я понял, что на самом деле не все так плохо, как кажется на первый взгляд

Я постоянно провожу довольно много код-ревью, это позволяет мне быть в курсе изменений в проекте, правда я тут уже больше не "писатель", а скорее "редактор" :) Но все равно ежедневная работа с кодом имеется имхо

Приобретая что-то -- ты всегда чем-то жертвуешь, в сутках 24 часах и мой ресурс ограничен, невозможно успевать всё, везде и сразу

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

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

Получается в каком-то смысле я потерял в "качестве кода", но должен же я был что-то приобрести взамен по закону сохранения энергии ? 😂😅 Что же я приобрел?

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

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

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

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

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

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

Вопрос для лидов, а сколько кода пишете вы?
🤔 14.5% Не пишу код вообще 😎
🤔 53.2% Пишу код минимально🤏
🤔 32.3% Пишу на равне со всеми 🦾

🔥Тред (Николай Крылов)
Немного мемов под вечер 😂😂😂 Не могу перестать орать над такой расшифровкой аббревиатуры КПРФ == Котлин Программисты Российской Федерации
notion image

X.V.XXX съезд партии постановил добавить новые фичи в язык 😂😂😂 Впёред, товарищи! В светлое будущее!
notion image

Среда


Вопрос для лидов, а сколько кода пишете вы?
30% лидов, ответивших в опросе, пишут код на равне с разрабами, а как вы это успеваете? 🧐 Секретные техники ультрапродуктивности, овертаймы или бесконечный запас энергетиков? twitter.com/mobileunderhoo…

@mobileunderhood Скорее секретная техника игнорить любые вопросы разработчиков и брасать на произвол судьба, видел такое)
Кстати такая техника действительно помогает 😂 Главное не злоупотреблять этим дзюцу😎 Вообще первое время я всегда старался отвечать в чятиках сразу и поэтому меня постоянно разрывало на мелкие контексты и микроменеджмент twitter.com/KuDjij/status/…

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

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

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

Очень ещё помогает, что слак я оставил только на рабочих девайсах, а в телеграме все рабочие контакты и чяты положил в папку "Работа", замьютил и закинул в архив - так они только в этой папке отображаются и не всплывают из архива, если пришло уведомление

🔥Тред (Николай Крылов)

Четверг


Когда проревьюил и смержил 5 пулл-реквестов, а уже создали 10 новых
notion image

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

У нас подключен detekt и lint, для проверки покрытия тестами юзаем jacoco, на частые ошибки пишем правило в код-стайл/доку и стараемся написать правило для автоматического анализатора

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

Но все равно многое приходится проверять руками 😅
notion image

Мотивируете ли вы как-то разработчиков активнее принимать участие в код-ревью?

🔥Тред (Николай Крылов)

Пятница


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

Как было раньше: - два интервьюера, - длительность полтора-два часа - стандартные теоретические вопросы по языкам и Android SDK Собес проходил так - знакомство с кандидатом, блок тех.интервью, рассказ про техничекие особенности проекта и ответы на вопросы кандидата

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

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

В то же время у ребят из айос-команды процесс был интереснее и были хорошие отзывы от кандидатов. Поэтому мы решили перенять этот опыт и адаптировать для Android 🦾

Во-первых, мы добавили скрининг - при знакомстве с кандидатом эйчар задает небольшой список простых вопросов, чтоб отсеять кандидатов с совсем нерелевантны для нас опытом. Используете ли вы скриннинг?
🤔 38.0% Используем скрининг
🤔 17.7% Не испольщуем скрининг
🤔 44.3% Посмотреть результаты

В ноушене мы завели таблицу с кандидатами и сделали шаблон, для создания нового собеседования. Таблица выглядит так
notion image

Каждая запись в таблице создается с помощью предзаполненнного шаблона. Шаблон состоит из следующих блоков: "О кандидате", заполняется рекрутером при знакомстве, можно дописать какую-то информацию во время интервью, есть ссылка на вики с памяткой "Как начать собеседование"
notion image

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

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

Пока один интервьюер задает задачу, другой записывает ход решения в краткой форме, это позволяет потом лучше оценить кандидата и не дает интервьюерам отвлекаться от процесса 😅

Шаблон для задачи выглядит так. Задача может быть либо теоретическим вопросом, либо задачей на написание какого-то кода или исправление ошибок в написанном коде
notion image

Задачи стараемся делать чисто практическими, за алгоритмы не душим. Если кандидат не помнит точного синтаксиса - можно писать на псевдокоде, главное объяснить идею решения и рассказать как оно работает. А вы даёте задачи на алгоритмы?
🤔 10.3% Есть несколько задач
🤔 14.7% Есть отдельное интревью
🤔 36.8% Нет
🤔 38.2% Посмотреть результат

После технической части рассказываем о наших проектах и процессах, отвечаем на вопросы кандидата.

Дальше идет блок оценки, тут все достаточно стандартно
notion image

И финальный блок для фидбэка, стараемся вводить практику описания точек роста для кандидата, если ему по каким-то причинам пришлось отказать
notion image

Что планируем сделать дальше: Собрать еще больше интересных задач Сделать готовые сценарии для джуниоров, стажёров и лидов

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

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

Для меня особенно сложным оказалось придумывать задачи по Android SDK 😅 прям тяжело сделать задачку, которую можно решить за вменяемое время и она бы покрывала несколько тем сразу 🧐

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

Плюс интервьюеру проще - уже есть готовый шаблон, готовый сценарий, все необходимые памятки и ссылки на вики

В итоге уже есть позитивный фидбэк, как от интервьюеров, так и от кандидатов 😎 🦾 Бывают и недочёты - их стараемся оперативно фиксить.

🔥Тред (Николай Крылов)

Суббота


Когда ты предупреждал бизнес, что поставленные сроки нереальны, а теперь тебя просят выйти в овертайм на выходные, но ты отказываешься 😂😂😂
notion image

Тред про генеративный арт. В этом треде расскажу, как я пришел к генеративному арту и дам несколько ссылок для изучения темы. #generativeart

Впервые я столкнулся с генеративным искусством когда делал лабораторные работы в универе и с помощью программ рисовал фракталы и параметризованные графики, правда тогда этого термина я ещё не знал😅

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

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

Сперва я пытался пилить какие-то сторонние проекты, присматривался к open source, но как-то это меня не зацепило. Я смотрел на активность других разработчикв на github и чувствовал себя самозванцем 😅 Мне совершенно не хотелось кодить после работы 😅

Я даже стал думать, что возможно мне нужно сменить профессиональную область и из мобильной разработки уйти куда-нибудь ещё. А у вас возникала мысль, что мобильная разработка достала и надо сменить деятельность?
🤔 10.3% Да, сменил деятельность
🤔 44.8% Да, но поа держусь
🤔 20.7% Нет,mobile forever!
🤔 24.1% Посмотреть результат

Я пощупал немного фронтенд, бекенд, почитал статьи про data science, machine learning, поковырялся в нейросетях, но все это приходилось делать с чувством внутренннего сопротивления и через силу.

Раз есть внутреннее сопротивление - то не стоит себя заставлять, решил я, и на какое-то время забил на ситуацию и програмирование оставил только для работы.

Примерно в то же время на рынке стало появляться куча приложений, которые использовали нейросети для рисования, типа Prizma, Oilist и тд.

Идея совместить искусство и программирование зацепила меня, я стал изучать информацию на эту тему и наткнулся на термин generative art

Про сам термин и истоки можно прочитать в хорошей статье на сигме - syg.ma/@alexander-ser…
notion image

Ещё одна обширная статья с учей ссылок на материалы и имена художников, работающих в этом направлении aiartists.org/generative-art…

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

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

Так же мне приглянулся фреймворк для креативного кодинга на Kotlin - OPENRNDR openrndr.org тоже стоит в планах на изучение, надеюсь найду время 😅

Еще довольно интересно выглядит процессинг для андроид android.processing.org/index.html

Но самым простым и доступным для меня вариантом оказалось приложения Glitch Art Studio дла айпада apps.apple.com/ru/app/glitch-…

В этом приложении очень гибкая настройка эффектов, которая дает широкий простор для творчества и воображения, например можно сгенерировать что-то такое instagram.com/p/CMxOx3RjZ8h/

Так же сейчас я активно пытаюсь сочетать в своей творческой практике генеративность с фотографией, техникой коллажа и видео.

Вот пример связки фотография+генеративный арт instagram.com/p/CLxIi_VDN5W/ instagram.com/p/CTZzHuSKijh/

Генеративный арт+коллаж instagram.com/p/CSzPfzPKhGj/

Генеративный арт+видео instagram.com/p/CSHqSo4qF1Q/

🔥Тред (Николай Крылов)

Воскресенье


Тема сегодняшнего треда - как я поступил в школу Родченко на онлайн-мастерскую и что из этого вышло 😎
notion image

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

В инстаграме я наткнулся на профиль казанской фотохудожницы Саши Гром - instagram.com/sascha_grom/ и у неё в сторис увидел информацию о фотошколе "Докдокдок" docdocdoc.ru/about

Но пока я размышлял какое направление выбрать - прием заявок на обучение закончился 😅😅😅

Я стал искать похожие варианты и увидел, что московская школа мультимедиа и фотографии им. Родченко открыла мастерские в онлайн-формате rodchenko.sredaobuchenia.ru

При поступлении выбирал между двумя мастерскими "Авторский стиль в фотографии" у Игоря Мухина и "Медиа и технологическое искусство" Алексея Шульгина.

в итоге выбрал "Авторский стиль в фотографии", потому что это совсем новая для меня область, далекая от програмирования 😂 rodchenko.sredaobuchenia.ru/authorphoto

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

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

Из минусов можно отметить то, что у нас по сути был самый первый поток, когда мастерские вывели в онлайн, поэтому мы оказались своеобразными бета-тестерами и поймали кучу багов 👻👻👻

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

Часть предметов оказалась слишком сложной для меня лично - всякие теоретические изыскания по искусству, с кучей культурологических терминов 😅 Читаешь одну страницу в конспекте и потом еще несколько часов гуглишь, чтоб понять, что там написано 😂😂😂

А самое главное, что всю эту сложносочиненную теорию искусств совершенно непонятно как применить и куда приложить 😅😅😅 ну можно сказатб, что для общего развития кругозора 😅

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

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

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

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

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

Ещё я подсел на коллекционирование фотокниг 😂 с ужасом думаю, как сложно будет это все паковать при переезде
notion image

🔥Тред (Николай Крылов)
Ну что, неделя подошла к концу, надеюсь было интересно 😅 Найти меня можно в инсте - instagram.com/nklkrlv/ или телеграме - t.me/nklkrlv, так же попробую оживить свой твиттер - @nklkrlv 😎 Всем быстрых билдов и стабильных релизов ❤️
notion image

В Москве вечер, пожар в рабочих чятиках утихает, значит настало время для первого треда — "Чем занимаются лиды в Альфе" pic.twitter.com/hl8kdCTWJZ
перечислю в треде все темы, что были на неделе Понедельник - "Роль лида в Альфе" twitter.com/mobileunderhoo…

Спасибо за вопрос, начал писать ответ и понял, что все мысли не помещаются в один твит 😅 Поэтому стартуем тред twitter.com/sagus_helgy/st…
Вторник - продолжение рассуждении о роли лида twitter.com/mobileunderhoo…

Сегодня хочу поделиться тем, как мы меняем процесс техничекого интервью в Альфе.
Пятница - опыт переформатирования технических собесов twitter.com/mobileunderhoo…

Тред про генеративный арт. В этом треде расскажу, как я пришел к генеративному арту и дам несколько ссылок для изучения темы. #generativeart
Суббота - про generative art twitter.com/mobileunderhoo…

Тема сегодняшнего треда - как я поступил в школу Родченко на онлайн-мастерскую и что из этого вышло 😎 pic.twitter.com/FJ3dbChGQj
Воскресенье - про обучение в школе мультимедиа и фотографии им. Родченко twitter.com/mobileunderhoo…

🔥Тред (Николай Крылов)

Ссылки