Дмитрий Антышев

Дмитрий Антышев

Неделя
Dec 23, 2019 → Dec 29, 2019
Темы

Архив недели

Понедельник


Привет. 👋 Меня зовут Антышев Дмитрий (about.me/antyshev) и я Руководитель направления (iOS) в трайбе PFM(Personal financial management) в Сбербанке. Разработкой под iOS я занимаюсь 5 лет.👨‍💻

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

ПН: Знакомимся, расскажу о одном дне разработчика в Сбере в фичовой команде ВТ: Hard skills - что изменилось в 2019 и к чему готовиться в 2020 СР: Soft skills - к чему готовиться в 2020 ЧТ: Развитие мобильного разработчика. Как стать синьором в 20 лет или надо ждать до 40 лет?

ПТ: Проведем опросы и подведем итоги СБ: Путешествия в 2019, где стоит побывать в 2020? ВС: Свободное общение, готовимся к Новому году 2020.🎄

Многие знают офис Сбербанка - Agile Home. Но не все команды находятся в этом офисе.
notion image

Через дорогу - Poklonka Place. Именно там находится весь наш трайб PFM, а это порядка 70 человек. Но мы часто бываем на Кутузе 😉
notion image

Кстати, iOS разработчиков в нашем трайбе 10 человек
notion image

Начало рабочего дня🙂 в 9 утра - нас совсем немного. Основная часть ребят приходит к 11:00. И да, график каждый разработчик выбирает- сам. Главное, чтобы он устраивал всю команду👨‍💻👨‍💻👨‍💻
notion image

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

В трайбе 8 скрам команд и ещё парочку на этапе формирования. В каждой команде от 1 до 4ех🙈 iOS разработчиков.Так же в каждой команде есть ПО, аналитики, дизайнеры, тестирование. В некоторых командах есть Скрам мастера, Дата сайентисты, QA автоматезаторы

Все iOS разработчики внутри трайба формируют - iOS Chapter🤝, и моя основная задача (помимо написания кода в фичовой команде👨‍💻) - это сделать так, чтобы в PFM iOS Chapter все было хорошо🤗

У нас в трайбе есть iOS разработчик, который любит покушать😋 Поэтому наш завтрак обычно выглядит- так 😃
notion image

В 11:30 у нас дейли стэндап. Где мы обсуждаем текущий прогресс в свой скрам команде.
notion image

С утра было много разных активностей и даже успел чуть чуть 🤏 пописать код. Пришло время - физических нагрузок 💪🏻 Хорошо, что есть спортзал 😍
notion image

Раз в две недели у нас проходит Демо платформы🤘. Ребята с платформы рассказывают, что нового и какие новые инструменты появились для фичовых команд. 👏 А так же обсуждаем разные вопросы iOS комьюнити 🤔
notion image

На демо подымали интересный вопрос о проблеме Thread Explosion 💥 Важно это учитывать если вы используете GCD для работы с многопоточностью. Кол-во потоков в пуле GCD - ограничено! 😔

Во время исследования, стало понятно, что кол-во потоков в пуле = 64. И если вы не влезете, то получите дедлок. В маленьких приложениях верят ли это получится, а вот в больших - всегда пожалуйста 😊 Тут есть пример от нашего инженера с платформы 👍💪🏻 github.com/ozermanious/Th…

Итак, рабочий день закончился и я еду домой.
notion image

Вечернее время я провёл за программированием. Увидимся завтра ✌️

Вторник


Утро доброе 👐 Сегодня вспомним, как изменился мир вокруг iOS разработки в 2019 году и что ждать в 2020.🕑

В 2019 вышла iOS 13, а вместе с ней Dark Mode (Тёмная тема)👨🏿‍💻 До этого момента, наличие поддержки Тёмной темы - было фичей и поддерживалось далеко не всеми приложениями.

В 2020 наличие Тёмной темы у вашего приложения - must have.✊ Помните об этом выпуская приложение в стор. Хочется понять, а какую тему предпочитает большинство мобильных разработчиков👆

Какую тему вы используете?

Для верстки UI мы используем UIKit. Но в 2019 появился SwiftUI. Это фреймворк который использует декларативный подход для верстки пользовательского интерфейса. И используется во всех ОС компании Apple.

Скорее всего большенство уже попробовали его использовать и оценили возможность видеть изменения на UI без пересборки приложения.

Когда я искал свою первую работу в роли iOS разработчика, уже появился язык Swift, но его знание совсем не требовалось для трудоустройства, гоняли по Objective-C. Понимаете к чему это я?

Когда сегодня я провожу интервью, то спрашиваю, пробовал ли кандидат использовать SwiftUI? Поскольку совсем скоро он вытеснит UIKit с рынка, вопрос только в том, сколько долго мы не будем подымать наш Deployment Target.

Знание SwiftUI, будет обязательным критерием работодателей, а значит в 2020 году точно стоит погрузиться в его изучение. Чуть позже напишу, что однозначно стоит изучить. 📚

Тут хотелось бы уточнить, все версии ОС - это iOS, macOS, tvOS и т.д. Про версионность ОС, конечно тоже стоит не забывать
notion image

Начать изучение SwiftUI стоит с туториалов developer.apple.com/tutorials/swif…

Для тех, кто любит видео уроки больше чем статьи, есть набор коротких лекций от Paul Hudson youtube.com/playlist?list=…

В процессе обучения в качестве шпаргалки можно использовать fuckingswiftui.com

Objective-C кстати не депрекейтед, а наоборот развивается!💪🏻 Туда завезли Direct dispatch. @property(nonatomic, direct) BOOL directProperty; Почитать можно на NSHipster nshipster.com/direct/

Конечно же, ещё в 2019, Apple 🍎 порадовал и любителей парадигмы реактивного программирования. developer.apple.com/documentation/…

Лично я, не использовал Combine. Как в коммерческих проектах, так и в Пет проектах. Как вы считаете, стоит ли углубиться его изучение в 2020 году?

Нужно ли изучить Combine в 2020 году?

Еще одно из важных изменений в 2019 стал Catalyst, у нас появилась возможность перенести приложения с iPad на Mac. developer.apple.com/mac-catalyst

Зачем Apple создала Catalyst? Лёгкая точка входа для разработки под Mac Один проект, одна кодовая база, один таргет Мышление в терминах UIKit Меньше затраты на разработку под macOS

Сегодня, мы вспомнили важные моменты для iOS разработки в 2019, если что то упустил - пишите.📝 А так же, на что обратить внимание в 2020, для повышения своей квалификации iOS разработчику. На сегодня у меня всё, увидимся ✌️

Среда


В нашей профессии умение общаться и правильно излагать свои мысли, является очень важным навыком, помимо программирования. А так же ещё ряд качеств которые стоит развивать! Сегодня - поговорим об этом 😉

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

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

Тренируйте свои навыки общения каждый день👆 Всегда можно найти возможность пообщаться. Например: забирая ребёнка с детского сада, можно пообщаться с другими родителями, а стоя на кассе, завязать разговор с кассиром ☺️

Расширяйте свой круг общения и друзей😊 Посещайте разные конференции, к примеру appsconf.ru 😋🙂 Сначала вы вы можете чувствовать волнение и это нормально👌 Со временем оно пройдёт и вы будете получать удовольствие от общения 😀

Ну и конечно, чтобы развивать свои навыки общения- главное практика! Выберите 1-2 навыка которые вы бы хотели подтянуть на этой неделе, и во время общения, старайтесь уделять этому внимание 🤔 Со временем это будет доведено до автоматизма👍

Развитие определенных личных качеств является очень важным навыком для улучшения личной жизни и для выстраивания межличностных отношений. Вот на какие личные качества стоит уделить пристальное внимание:👆

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

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

Интенсивность Способность в течение определенного периода концентрироваться на одной цели и прикладывать максимум усилий для ее скорейшего достижения. Концентрироваться на поддержании высокого темпа производительности.🔥

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

5.Проактивность Способность руководствоваться ценностями, а не чувствами и эмоциями. Искать и находить возможность проявить инициативу, разобраться в ситуации, пытаться предвидеть развитие событий. Действовать, а не рассуждать.🤘

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

В свое время мне очень зашла книга Дейла Карнеги “Как завоевывать друзей и оказывать влияние на людей”. Советую ее прочитать.📖

Ну а я пойду заниматься нетворкингом на корпоратив. 🕺☺️Увидимся завтра 👋

Четверг


✌️Сегодня предлагаю обсудить развитие мобильного разработчика. Пойти поэтапно: Как войти в ИТ😄 и стать Junior, разработчиком. Рост из Junior в Middle Middle 💪🏻🏋️ Senior А в конце разобраться, Seniorом можно стать в 20 или только в 40 лет 😉

Первое приседание🏋️ которое надо сделать, чтобы стать разработчиком, это получить базовые знания языка программирования, платформы на которой будет идти разработка, SDK, и базовые навыки Computer Science 🖥

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

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

Обычно, рассматриваются все основные темы, такие как: Изучаем среду разработки Изучаем языки Изучаем как верстать UI Изучаем как ходить в сеть Изучаем как храненить данные на устройстве Изучаем работу в многопоточной среде И другие темы👌

Можно, конечно все это изучить самостоятельно, но получится дольше и менее эффективно🙁 Разобравшись с основной, вы получите свой первый офер в роли Junior разработчика.👏

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

В этот момент, рекомендую начать писать свои пет проекты, и изучать в момент работы нат проектом, новые инструменты.

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

На этом этапе стоит прочитать такие книги, как: Роберт Мартин - Чистый код Роберт Мартин - Идеальный программист Роберт Мартин - Чистая архитектура Род Стивенс - Алгоритмы. Теория и практическое применение

⚠️ Важно в этот период времени как можно больше практиковаться- писать код ✍️ Как только вы почувствуете, что можете решить практически любую атомарную задачу в рамках своего направления - вы стали разработчиком уровня Middle ✊

Рост до Senior разработчика скорее всего займет больше времени чем от Junior к Middle. Одним из основных отличий Middle и Senior является способность решить задачу от заказчика. Часто она может звучать “Сделать что - то, и вот примерно так - то и чтобы было вот так вот хорошо”

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

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

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

Хорошо изучите HIG, посмотрите другие платформы и iOS и Android, разберитесь в чем их основное отличие и почему одни компоненты легко делать в Android и сложно в iOS, отсюда и разные сроки, и наоборот что то легче в iOS

Прокачивайте свои Soft skills(о них мы говорили вчера), ведь как Senior, вам нужно доносить информацию до ваших руководителей и менеджерить их тоже.

Отвечая на вопрос «Senior в 20 или 40 лет?» Я скажу так: Главное не возраст в паспорте, а ваши профессиональные навыки и жизненный опыт. Мне 28 и я считаю, что в 25 я бы не справился с обязанностями Руководителя направления, как хард так и софт.

Тот жизненный опыт, те технические навыки которые я приобрёл в процессе развития и работы в разных командах - бесценны 🙏

Важно понимать, что у всех у нас разный уровень воспитания и образования, а так же разные таланты, сильные и слабые стороны. Кто то усердно работал с 16 и уже в 25 прошёл 🔥 и 🌊 А кто то в 25 вышел из магистратуры, это 2 разных человека

Закончить сегодняшний день мне бы хотелось вкинув немного мотивации 💪🏻 Развивайтесь, изучайте новое, не останавливайтесь на достигнутом, пишите чистый и тестируемый код. Любите то, чем занимаетесь и тогда все получится в 2020 году🎄 До завтра ✌️

Пятница


Сегодня - пятница🔥 А значит по плану а значит сегодня будет несколько голосований и итоги. Тут мне нужна ваша помощь 🙏 Кидайте в тред этому твитту вопросы, на которые стоит запускать голосование 📊

В начале начала давайте разберёмся для кого, завтра начало новогодних праздников, а кто работает 30-31. Брали ли вы отпуск/отгул на 30-31 декабря 2019

Какие темы вам было бы интересней услышать в 2020 в «Мобильном разработчике» Темы про:

Коллега рекомендовал книгу «Веревка достаточной длины, чтобы выстрелить себе в ногу». Посоветуйте плиз, что почитать в новогодние праздники, ну и в целом, какие книги 📚 прочитать в 2020, чтобы прям зашли 💯 %

Радует, что 69% выбрали харды, может быть подготовлю хороший хардовый доклад в 2020, но не комичусь😃 Хороших выходных!

Суббота


Доброе утро 🤗 Начались выходные, а у 39% из вчерашнего голосования вообще начались новогодние праздники 🥳🎄 Поэтому самое время поговорить о путешествиях ✈️🚖🚄🚃⛵️🚌

Лично, я не так много путешествую, и немного жалею об этом. На это было много причин, одна из них - маленький ребёнок.👶 Совсем недавно моему сыну исполнилось 5 лет, а значит можно начинать больше путешествовать в 2020 году 🤘

В 2019, мы ездили в Тунис, мне очень понравилось. Но я ни в одной стране Европы, кроме России конечно) А где вы были в 2019 году, пишите о своих впечатлениях, фото приветствуется👍

У нас в PFM трайбе есть самая лучшая iOS разработчица ☺️ instagram.com/natalia__volko… И так получилось, что сейчас у неё великолепный трип, и она согласилась поделиться впечатлениями. Лично мне однозначно захотелось посетить эти места в 2020 году.

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

Да, есть проблемы с транспортом, но они легко решаются планированием поездки/ наличием ву/ любовью к пешим прогулкам и минимальным умением "погуглить"

Эльзас: Страсбург, Эгисхайм, Кольмар. Пряничные города как перед Рождеством, так и летом. Игрушки ручной работы, фахверк и узкие улочки🙂
notion image

Португалия. Самая западная точка Европы, где океан нежно обнимает бочок континента, а солнце нежно гладит горные долины. Буйство красок и стихии, горы, укрытые покрывалом из горных цветов, узкие дорогие и почти всегда отличная погода
notion image

Лиссабон - город, уничтоженный стихией, но сохранивший память об арабской культуре, о флоте, сложной и кровавой истории соседства с Испанией. Азулежу - национальная плитка на фасадах зданий - как отдельный вид искусства. Сумасшедше солнечный и легкий город.
notion image

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

Воскресенье


Сегодня мой крайний день в 2019 году в «Мобильном разработчике» Скорее всего я проведу в бесконечных пробках т.к. буду очень много бегать по магазинам и покупать подарки родным и друзьям.🛍🎁 Если у вас есть вопросы, предлагаю их обсудить в течение дня. Пишите✍️ в тред к твитту.

С наступающим 2020 годом🎄 Пусть все задуманное - получится. Увидимся ✌️ 👋

Ссылки