Архив недели @phansier
Понедельник
Всем привет!
С вами на этой неделе я, Андрей Бе́рюхов - Android Engineer в Авито Тех.
Эта компания, наверное, не нуждается в представлении. В ней я занимаюсь вопросами авторизации в Android-приложении.
А до этого прошел путь от стажера до Senior Android Developer-а в "Лаборатории Касперского".
Прежде чем начнем, хотелось бы предупредить, что большинство мыслей будут сугубо субъективными и основанными на конкретно моём опыте. А также могут не совпадать с позицией компаний.
У вас может быть другое мнение и это здорово 🤝
На неделе пойдем от работы в сторону лайфхаков и развлечений.
Ловите расписание на следующие дни:
Пн: 1- и кросс- платформенные команды
Вт: про роль образования в IT
Ср: доклады и смежные интересы
Чт: как употреблять Mindmaps
Пт: work-life balance / изба-читальня
Сб: прогулки и путешествия
Вс: общение или что-то дополню
Постараюсь совмещать в твитах полезное и интересное, а также не налажать с тредами - всё-таки первый опыт 😌
Тред (Андрей Берюхов)
Начнем с различий в типах команд разработки: 1- и кросс- платформенных/функциональных.
Насколько интересно для вас сравнение опыта в таких командах и работали ли вы в обоих типах?
🤔
41.2%
Интересно - работал🤔
17.6%
Не интересно - работал🤔
29.4%
Интересно- только в одной🤔
11.8%
Не интересно - только в 1Большинство голосует за "интересно" - продолжаем 😎
Мне удалось поработать и в той и другой.
Интерес к новому для меня формату стал одной из основных причин подтолкнувших к переходу между компаниями.
Начнем с 1-платформенных.
Больше 4 лет я проработал в одной команде разработки Кaspersky Intеrnet Sеcurity 4 Andrоid.
И попал в неё совсем случайно стажёром-тестировщиком (но не про это сейчас).
Постепенно перешел в стажёры-девелоперы, а затем уже вверх по лестнице.
В моём опыте 1-платформенная команда (одного продукта), это когда примерно 6-10 Android-разработчиков, 5 тестировщиков, PM и пара аналитиков делают один продукт под одну платформу.
Конкретно в Лаборатории эта команда входила в большую единицу - Мобильный департамент, где разрабатывают другие приложения под Android, iOS и не только.
Фронт работ в этом департаменте в основном ограничен клиентской разработкой под мобилки. Backend, frontend, десктопные продукты - это отдельные команды, в другом здании.
Даже до Covid было минимальное количество пересечений с ребятами из других функций, а уж тем более понимания, как они работают.
А контракты API приходили к нам обернутыми в C++ библиотеку из третьих команд.
К тому же у бека почти всегда не хватало ресурсов, и часто было проще сделать какую-то логику на клиенте, чем дождаться бек.
От этого клиент становился довольно таким толстым и давал возможность попробовать разные архитектурные подходы.
Если резюмировать, плюсы работы в Android-only команде:
Глубокое понимание платформы
Хорошая возможность для роста - множество коллег одного профиля работают рядом и помогают
2а) В моем случае вообще повезло - т.к. тимлидом был сам @e_matsyuk
Как сейчас - в кросс-функциональной команде:
1-Android, 1-iOS, 1-2 - Web, 1-3 - Back, 2 - аналитики, 1 - product manager.
И все эти люди придумывают и разрабатывают примерно одинаковые части для одной фичи - авторизации.
В силу доменной специфики, большая часть логики - на беке. Основная сложность логики на клиенте - навигация между различными флоу регистрации и авторизации.
Для примера: TFA, вход через социальные сети, восстановление доступа и их различные комбинации.
Теперь к минусам кросс-функциональных команд.
В команде я - один разработчик под Android. Чтобы что-то спросить/узнать - нужно идти в другие команды или на встречи Android Community. Это может быть не очень комфортным на ранних этапах карьеры.
(продолжение минусов кросс-ф.)
2) Зона ответственности ограничивается одной функциональной областью - версткой и логикой в ней. Чтобы узнать что-то больше, нужно идти "помогать" в платформенные команды (для погружения) или брать задачи других продуктовых команд (смена домена).
Плюсы кросс-функциональных команд:
Бек рядом. Можно обсудить удобные для всех контракты, либо реализовать сценарий с меньшими сложностями.
Можно посмотреть, как сделано на беке и узнать про корнер-кейсы.
(продолжение плюсов кросс-ф.)
3) Можно сходить посмотреть, как то же самое сделано у других клиентов (iOS, web), перенять какие-то подходы.
4) Можно задуматься о реюзе кода с клиентами.
5) Легче начать t-shape / отдохнуть от своей платформы.
Тред (Андрей Берюхов)
Вторник
Тему второго дня - роль образования в IT начну тоже с опроса.
Есть ли у вас высшее образование по IT специальности, и жалеете ли вы об этом?
🤔
48.9%
Есть, не жалею🤔
7.6%
Есть, жалею🤔
24.3%
Нет, не жалею🤔
19.2%
Нет, жалеюКажется, что в сообществе сейчас достаточно много разговоров об этом, и в основном вижу мнение, что вышка не дало ничего для конкретной работы.
Отдельные опасения - по поводу выпускников различных курсов, если они приходят в IT только из-за зарплат, желая работать по-минимуму, не сильно погружаясь внутрь.
Я думаю, что нужно разделять понятия: образование в высоком смысле и специализированные курсы; а также отличать проблему качества образования от его практической полезности.
Есть высказывание, которое присваивают Эйнштейну (а он, вроде бы, его цитировал): "Education is that which remains, if one has forgotten everything he learned in school."
По этой логике странно ждать от высшего образования, что оно научит, как красить кнопки в корпоративный цвет компании, в которую вы устроитесь после обучения.
Хорошее высшее образование - это скорее тренировка для мозга, который потом сможет сам научиться чему угодно.
Я бы хотел поделиться своим опытом, почему не считаю моё время обучения потраченным впустую.
Я начал стремиться стать разработчиком примерно с 6 класса, когда попробовал кодом управлять, кажется, муравьем на экране (был такой эмулятор). Хотя интерес к компьютерам появился еще раньше.
И мне очень повезло с образованием на последующих этапах.
В 10 минутах от дома у меня был лучший лицей области. В котором с 7 класса была компьютерная специализация и прекрасные учителя.
Из интересного могу отметить лекционную систему в 10-11 классе и основы мат. анализа. Да, сейчас это мало применимо, но учит мозг работать по-другому.
Лицей и затраченные усилия позволили мне поступить на бакалавриат "Прoграммная инжeнерия" BШЭ (не реклама).
Хотел бы я сейчас сделать что-то по-другому? Нет.
Да и так получилось, что я работаю теперь непосредственно по специальности.
Если коротко о плюсах программы.
1-2 курс - языки: С#, Java (ООП), C++ (алго и стр.данных), Python (основы анализа данных).
Матан, линал, тервер и матстат. Причем без диффуров и физики, что многих привлекало.
3-4 курс - много полезных курсов про Soft Skills и продуктовую составляющую. Из интересного: "Стартаповедение" (unit-экономика и пр.), интеллектуальное право, Scrum, программная инженерия (как код превратить в проект и пр.).
Часть инженерных дисциплин, типа БД, ОС, компиляторы.
Спектр достаточно объемный. Мои однокурсники сейчас работают в самых разных областях IT: разработка (клиенты, бек ...), PM и PrM, аналитики, менеджеры QA, DataScience, ...
Как мне кажется, это хороший показатель качества базы.
В магистратуре BШЭ с похожим названием "Системная и программная инженерия" было более скучно (возможно, после бакалавриата) и склонно в науку чем в практику.
Но основным профитом магистратуры стала англоязычность программы. У большинства преподавателей хороший уровень языка.
Плюс около половины однокурсников приехавших из разных стран.
Их диалекты сильно помогли улучшить распознавание языка на слух.
в целом разговорная практика.
Подытожу. Основной целью последних твитов было желание поделиться опытом. Ни кого ни к чему не побуждаю)
Тем более, что сейчас могут быть другие обстоятельства, чем N лет назад.
Тред (Андрей Берюхов)
Среда
Давайте начнем тему этого дня с немного отвлеченного вопроса.
Как давно вы были на оффлайн митапе/конференции?
🤔
20.7%
Был в этом году🤔
2.9%
Был в прошлом году🤔
58.9%
В доковидье 2019 и раньше🤔
17.4%
Не ходил и не планируюПодойти к теме оффлайн-мероприятий можно с двух сторон. Со стороны посетителя с онлайном ушла необходимость синхронного присутствия.
Зачем, если после можно будет выбрать "выстрелившие" доклады и посмотреть их на большей скорости. Магии общения тоже нет такой, как в оффлайне.
Ни для кого не секрет, наверное, что до кoвидa многие использовали конференции не только для обучения, но и для нетворкинга, отдыха от работы, поездок в командировки.
Сейчас же от онлайн конференций остаются только "люди в телевизоре".
С точки зрения докладчика, потерялось еще кое-что. Огонь в глазах слушателей, когда доклад - огонь.
Ну или любой другой фидбек, например, когда шутка не зашла 💁🏽
Мне в этом году удалось побывать и со стороны слушателя и со стороны спикера оффлайн. И это был новый всплеск год назад забытых эмоций.
В любом случае доклад - это с одной стороны - масса затраченного время (обычно еще и нерабочего).
С другой - возможность систематизировать свои знания или даже посмотреть на что-то новое.
Так было у меня с Подлодкой, когда вместо моей темы организаторы предлагали сделать обзор библиотек из Jetpack.
С WorkManager у меня не было возможности столкнуться раньше - просто не попадалось таких задач. Я копнул поглубже, и потом начал видеть новые места для применения.
Вторая либа - Jetpack DataStore - зашла не так сильно.
Я как-то так и не смог увидеть значительных улучшений по сравнению со старыми подходами.
А при выборе либ я обычно консервативен.
Например, так и использую findViewById()
Ох уж это чувство, когда успеваешь расписать тему дня за несколько минут до полуночи.
А днем пытаюсь успеть в фиче фриз.
Завтра поделюсь моим взглядом на инструмент, который помогает систематизировать инфу для докладов и статей; и не только.
Тред (Андрей Берюхов)
Четверг
По традиции начнем с опроса:
Твиттер не дает выбрать несколько опций, поэтому выберите наиболее частую.
Использовали ли вы Mindmap для:
🤔
14.6%
Подготовки к собесам🤔
5.8%
Управления техдолгом🤔
14.6%
Планов на год🤔
64.9%
Не использовалВ опрос не влезли подготовка статей и докладов, а также планирование любых других проектов.
Как можно догадаться, всё это можно сделать с помощью Mindmaps (или ментальных карт).
картинка, как Mindmap может примерно выглядеть
Для теоретического погружения порекомендую книгу Тони Бьюзена, который считает себя изобретателем интеллект карт.
Там и про то, почему это работает. И про другие примеры применения.
Я начал рисовать что-то похожее на MM по совету ментора на стажировке, когда нужно было осознать и запомнить много тонкостей Java за короткий промежуток времени.
Затем прочитал книжку, купил цветные фломастеры в Икее и поехало. Оказалось очень удобно конспектировать какую-то тему, чтобы возвращаться к ней позднее.
Например, не часто используемые темы для собеседований.
Сейчас у меня лежит несколько бумажных листов, которые я пересматриваю
Про то, как использовать MM для контроля за тех долгом, хорошо рассказал @e_matsyuk тут youtube.com/watch?v=ZD7Jr-… (первые 10 минут)
Насколько я знаю, этот MM используется и сейчас. Лишь только подчищаются закрытые задачи в конце года.
С личными годовыми целями тоже оказалось удобно. На первом уровне - направления, в которых хочешь развиваться.
На втором и дальше - что конкретно для этого нужно сделать.
Эту технику я совмещаю с Getting Things Done - примерно раз в месяц при планировании заглядываю в годовой MM.
Такой план даёт не только больше уверенности в правильном направлении движения, но и поможет в конце года провести ретро и увидеть, что удалось сделать.
Наконец MM для статей и докладов. Начну с статьи за два дня: habr.com/ru/post/471670/
В октябре 2019 Jetpack Compose стал доступен в виде первого Dev Preview в Maven-репозитории Google.
В первый день я потыкал библиотеку, перенес в MM. Во второй - преобразовал MM в статью.
В комменты тогда пришли разработчики Compose и поправили некоторые моменты.
А через неделю Compose официально представили на Dev Summit.
С тех пор я регулярно использовал MM для других тем. Иногда даже приводил его как альтернативный summary в презентациях и примерах кода.
А MM по Compose расширялся. Одна из последних версий
Тред (Андрей Берюхов)
Пятница
Читаете ли вы книги?
🤔
28.1%
читаю бумажные🤔
51.2%
читаю электронные🤔
3.8%
слушаю аудио🤔
17.0%
не читаюДаже опрос вызвал много реакций. Я бы рад дать больше опций, но в твиттере их всего 4.
Дальше я бы хотел поделиться книгами, которые прочитал и нашел для себя полезными.
Если вы согласны - лайк, если нет - альтернативные варианты по теме в ретвитах.
Начнем
"Effective Kotlin"
Помогает писать на Kotlin не только легко, но и понятно для последующего чтения и рефакторинга кода.
Когда использовать именованные параметры, ...
Особенно полезно на PR-ревью.
Getting Things Done и Джедайские техники
Первая - очень подробно про GTD. Вторая про GTD кратко + другие техники.
Прочитал именно в такой последовательности, что, как мне кажется, помогло лучше проникнуться GTD.
@mobileunderhood Не-не-не, вы чего??? Только Swift!!!
А есть книжка про Swift, чтоб он понравился Android-разработчику?) twitter.com/EvgeniyKirillo…
@mobileunderhood А каковы вкусы у Android-разработчиков?)
Сейчас рискую скатить беседу в холивар.
Но лично мне язык не так принципиален, как способ задания параметров сборки в разных окошечках XCode вместо какого-либо текстового вида.
Будь то Gradle, CMake, ... twitter.com/soaltomas/stat…
Собственно называл сегодняшнюю тему work-life balance с оглядкой на эти книги.
Когда начал исполнять обязанности тимлида, переход на эту технику здорово помог с разгребанием задач в спокойном ритме жизни.
Пионеры Кремниевой долины, И ботаники делают бизнес.
Обе книжки одного автора про создание бизнеса в нашей стране в разные периоды. Первую начал читать по главам с рассылки и очень понравился подход автора.
Вторую, кажется, всё ещё можно получить при первом заказе в Додо)
Богатый папа, бедный папа
Хорошая книжка для начала погружения в смысл инвестиций.
Тут прям реквестирую другие книжки для продолжения.
45 татуировок менеджера
Не всем подойдет, но что-то можно применить, даже не являясь менеджером.
Чистая архитектура (Роберт Мартин)
Про сам Clean - всего одна глава. Остальные - повторение из других книг и статей Мартина.
Но для джунов полезно в одном флаконе.
Тред (Андрей Берюхов)
Дальше по традиции жанра должно последовать предложение вступить в пирамиду twitter.com/mobileunderhoo…
Ещё что-то про крипту 🎰
Любую инфу нужно воспринимать через фильтр.
Как думаешь, что лучше почитать по теме? twitter.com/SunFoxx_/statu…
Суббота
Начнем (внезапно) не с опроса.
Если вы давно не были в отпуске - возможно, это знак.
Сходите в отпуск. Там здорово, правда!
Особенно, если получится уехать из серой погоды куда-то в более теплое место.
А теперь опрос)
Во скольких городах вы ночевали (не просто проездом) в 2021.
🤔
45.2%
1-3🤔
29.7%
4-6🤔
12.4%
7-10🤔
12.8%
>10Побуду тут чуть кэпом, с прикрытыми границами стало путешествовать чуть сложнее.
Но, несмотря на это, я в этом году побывал в 9 городах РФ и Стамбуле.
На самом деле, придумывая тему, я хотел рассказать о двух вещах:
Чтобы путешествовать - не всегда нужно выезжать из собственного города
Интереснее всего заезжать в места, от которых особо ничего не ждешь и удивляться новому.
Я живу в Москве и люблю по ней гулять.
Самое впечатляющее - пока обойдешь хоть сколько-то значимую долю города, когда возвращаешься в старые места - появляется что-то новое: парк, кофейня, или другое приятное место.
Конечно, с маленькими городами такое не работает.
На неделе уже успел охватить несколько хейт-реакций.
Давайте, если на предыдущем твите будет больше лайков, чем хейта - накидаю несколько интересных и не банальных локаций.
Самым удивительным городом для меня стал Омск.
Во-первых, спасибо ребятам из GDG Omsk - если бы не позвали, я вряд ли бы сам туда доехал.
Во-вторых, чтобы вообще понять, что там смотреть - посмотрел несколько видео на ютубе и кроме Летова и сбегавшего шара ничего особо не нашел.
От того было интереснее.
Я в основном гулял по центру, но он поинтереснее чем центры многих других городов РФ.
Главное, что запомнилось, Кофе. Оно просто повсюду.
Можно встать в одной точке и насчитать 12 кофеен вокруг - намного больше чем везде.
И это, в основном, хороший кофе.
Хорошее состояние исторических зданий и большое количество модерна.
Самолеты над центром (аэропорт в черте города).
Единственная станция метро, переход которой используется как арт-галерея.
Возвращаясь к Москве.
Главный ботанический сад. Дышится как в лесу, при этом есть дорожки - обувь не пачкается.
Лучше заходить от Владыкино.Если станет скучно - можно уйти на ВДНХ.
И, по сравнению с Лосиным островом - не беспокоят насекомые.
Территория Cкoлково (лучше в теплый сезон).
Есть свои косяки, но в целом интересно: попытка в новую архитектуру, неплохой парк с прудом, свой прокат электросамокатов.
От Курской через Арму и Бауманскую до Красносельской.
Достаточно длинный пешеходный маршрут, но по пути много разнообразной архитектуры (в том числе 2-3-этажной) и её переосмысления под новые места притяжения.
Не в Москве, но тоже рекомендасьон.
Севкабель Порт в Питере. Летом барная стойка на берегу залива с видом на закат - это бомба.
Тред (Андрей Берюхов)
Воскресенье
На этом моя неделя подходит к концу.
Для меня это был интересный опыт ведения Твиттера.
Надеюсь, что вы тоже смогли вынести для себя что-то полезное.
Ограничение в 280 символов - это весело.
Невольно начинаешь писать и сокращать.
А около пяти твитов этой недели умещались ровно в лимит.
Если вы социолог, собрать статистику по мобильным разработчикам можно здесь:
Начнем с различий в типах команд разработки: 1- и кросс- платформенных/функциональных. Насколько интересно для вас сравнение опыта в таких командах и работали ли вы в обоих типах?
В понедельник обсуждали различия в типах команд разработки
twitter.com/mobileunderhoo…
Тему второго дня - роль образования в IT начну тоже с опроса. Есть ли у вас высшее образование по IT специальности, и жалеете ли вы об этом?
Во вторник - мой взгляд на роль образования в IT
twitter.com/mobileunderhoo…
Давайте начнем тему этого дня с немного отвлеченного вопроса. Как давно вы были на оффлайн митапе/конференции?
В среду скучали по оффлайн митапам
twitter.com/mobileunderhoo…
По традиции начнем с опроса: Твиттер не дает выбрать несколько опций, поэтому выберите наиболее частую. Использовали ли вы Mindmap для:
В четверг кто-то узнал про MindMaps
twitter.com/mobileunderhoo…
Читаете ли вы книги?
В пятницу делились книгами
twitter.com/mobileunderhoo…
А теперь опрос) Во скольких городах вы ночевали (не просто проездом) в 2021.
В субботу мечтали об открытии границ и не только
twitter.com/mobileunderhoo…
На сегодня заготовленной темы нет.
Готов поотвечать на вопросы.
Ставьте лайки, подписывайтесь на GitHub @phansier
Тред (Андрей Берюхов)