4 мая 2020 – 10 мая 2020

@kirill_rozov

Minsk, Belarus
4 мая 2020Понедельник
34 твита
5:07

Всем привет! Меня зовут Кирилл Розов, Android Dev. Вы можете знать обо мне по проекту Android Broadcast @andro_broadcast, автором которого я являюсь. На этой неделе буду рассказывать о своем опыте и интересах в Android и Kotlin.

5:44

Темы которые я хотел затронуть за свои 7 дней:

День 1. Опыт развития собственного блога
Я поделюсь опытом ведения Telegram канала Android Broadcast и как можно попробовать начать что-то свое.

Также расскажу про Android Broadcast Podcast и YouTube канал.

5:44

День 2. Kotlin, Coroutine и Android
Kotlin перевернул мою разработку с ног на голову и вывел удовольствие от процесса написания кода на новый уровень, пройти мимо такой темы я не могу.

5:44

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

5:44

День 4. Тренды Android разработки
Современная Android разработка. Куда она развивается, ждать ли чего-то интересного? Android Dev - это застой развития или есть куда развиваться? Обсудим этим темы и позовем в тредик ребят, которые сменили Android на другие направления.

5:44

День 5. Прохождение интервью
Как пройти интервью и бояться отправить CV в большую компанию? Как готовиться? Что думает интервьюере когда задает вопросы и слушает ответы. Расскажу свой опыт с 2 сторон, который актуален в текущее время + мне и самому пришлось искать работу.

5:44

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

5:44

День 7. "Вопрос-ответ" + итоги недели
Поболтаем на разные темы, которые я возможно не задел, но вам было бы интересно затронуть. Также подведем итоги недели

8:51

День 1. Опыт развития собственного блога

1.5 года назад я начал вести свой собственный Telegram канал с новостями из мира Android разработки. Буквально вчера он перешел цифру в 3K подписчиков. Кто-то скажет это немного, но это уже впечатляющие цифры

ttttt.me/android_broadc…

8:51

Появился канал случайно. Я вел команду и мне хотелось стимулировать ребят смотреть на что-то новое и на засиживаться в стеке, который навязывал проект с legacy кодом в 5 лет. Я закидывал разные статейки в канал во внутренний Slack. Но однажды один из разработчиков ушел...

8:51

И он спросил меня: "Как сделать так, чтобы уйти и не потерять доступ к такой информации?". И вот тут я подумал, что слышу подобное не в первый раз и решил что стоит попробовать и сделать канал публичным...

8:51

Так и зародился Telegram канал Android Broadcast, который вы можете читать каждый день. Что стоит вынести из этого

ТО ЧТО У ВАС ПОЛУЧАЕТСЯ ХОРОШО, СТОИТ ПОДЕЛИТЬСЯ ЭТИМ С СООБЩЕСТВОМ

Я даже и не мог представить, что все для меня обернется так

8:51

И не бойтесь что это будет не так как у топовых блоггеров или крутейших специалистов с конференций. Не обращайте внимание на диванных критиков, они будут всегда!

ВЫ НАЧАЛИ ДЕЛАТЬ, ЧТО УЖЕ БОЛЬШЕ ЧЕМ У ДИВАННИКОВ. ВОПРОС ВРЕМЕНИ И УСИЛИЙ КОГДА ВЫЙДЕТЕ В ТОП!

10:02

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

Я всегда дам вам отзыв и помогу. Telegram krlrozov

13:12

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

13:12

Для того чтобы так не случилось с вами вы должны сделать следующее:

13:12

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

13:12

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

14:19

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

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

14:19

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

soundcloud.com/android_broadc…

14:19

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

14:19

В пользу подкастов также сыграло что Android Dev Podcast перестали активно выпускать новый контент.

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

14:19

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

Самым большим удивлением для меня стало, что и на YouTube подкасты слушают лучше и аудитория приходит активнее.

14:19

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

14:19

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

14:32

Если говорить о утилитах для работы с контентом то для создания отложенных постов в Telegram рекомендую сервис telepost.me. Он бесплатный и решает все задачи в Android Broadcast, за исключением поддержки стандартных голосовалок

16:25

Я разочаровался платформой подкастов и понял, что нужно двигаться дальше. После рождения дочки я стал очень скучать по публичным выступлениям. YouTube канал Android Broadcast стал как решение этой проблемы и той, что подкаст - это менее популярный формат.

youtube.com/c/androidBroad…

16:25

Что я понял сразу:

16:25

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

Поэтому рекомендую вам не спешить с таким форматом без четкой уверенности

16:25

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

Будьте готовы стабильно тратить на него время, иначе успеха не добиться.

16:25

На Telegram канал Android Broadcast каждый день уходит 1.5 часа для выбора контента. Подготовка ролика - от 4 часов до 3 дней. Подкаст - 1 день

17:43

И давайте еще немного про монетезацию. Какие способы:

17:43

Я не готов образовательный материал давать за деньги ("платный контент"). Если кто-то считает что стоит поддержать автора, то он имеет право это сделать. Материал и будет так.

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

17:45

Какой способ монетизации для проектов вы считаете лучшими?

5 мая 2020Вторник
27 твитов
6:07

День 2. Kotlin, Coroutine и Android

Продолжаем движение! Сегодня Kotlin перевернул мою разработку с ног на голову и вывел удовольствие от процесса написания кода на новый уровень.

Впервые попробовал Kotlin в январе 2016 до выхода первой версии и мне очень зашло...

6:07

Потренироваться я с ним решил на разработке приложения. Сделал приложение под Android с расписанием для ВУЗа где я учился.

Конечно все зашло и был рад, но стало понятно, что пока не хватает библиотек и скорость компиляции не радовала...

6:07

На сегодня уже на подходе версия 1.4 и множество улучшений в плане скорости и backend-а компилятора. Жду не дождусь новой версии, чтобы порадоваться новым фичам

7:30

Давайте пройдёмся по тому что мне нравится в Kotlin, что нет и чего бы хотелось увидеть. Конечно же не пройдём мимо Android + Kotlin

7:40

Если выделять мою любимую возможность - это особенности системы типов Kotlin:

  • разделение на nullable и non-nullable типы
  • разделение коллекций на mutable и immutable
  • Any, Nothing, Unit

Все это делает вызовы методов безопаснее и более строго типизирует код...

7:57

Следующая крутая возможность - extension functions.
Она самая простая, и вполне возможно самая популярная. Почему?

7:57

Что такое «Минимизация API интерфейсов»? Яркий пример тому Kotlin Flow, который имеет только один метод, а все операторы и другие возможности реализованы через extension function

kotlin.github.io/kotlinx.corout…

7:57

С другой стороны extension function - зло, так как разработчики используют их для всего подряд, когда даже уместнее сделать параметр, вместо ext function

8:50

Стараться делать все immutable:

  • переменные (val предпочтительное var)
  • immutable коллекции
  • final классы по умолчанию
  • final function и property в классах

Хочешь сделать более открытым - делай явно. Конечно часть Java сообщества получила боль из-за этого (например Spring)

8:54

Kotlin Property Delegates - просто супер фича языка. Она позволяет закрыть дублирование кода и упростить его. Я нашёл ей много применений:

  • SharedPreferences
  • Обертки на Java Atomic*
  • Упрощение работы с Android View Binding
  • LiveData

Пишите про свой опыт с этой фичей

10:17

Следующей моей любимой фичей Kotlin стали Coroutine. Почему:

12:54

Идем дальше. Следующим в моем списке стало применение стероидов к enum class - sealed class. Позволило делать классные ограничения иерархий и пробегать все возможные ветки через when

12:54

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

Detekt добавил на это правила, но я не успел его проверить еще

15:55

Банальщину в стиле меньше кода для реализации одного и того же по сравнению с Java, data классы, object и др решил не упоминать.

Давайте двигаться к минусам

15:55

Поговорим про синтаксис. lateinit - ужасный костыль из-за особенностей Android SDK и Dagger. Не используйте его кроме как c inject зависимостей в property. Старайтесь делать inject зависимостей в конструктор. Вместо lateinit используйте lazy, nonNull или nullable property

15:55

Nullable property - это нормально. Не любое property в любой момент имеет значение и его отсутствие, выраженное через null, имеет место быть.

16:23

Те кто использовал LiveData в Android сталкивались с кодом ниже. Знаете как сделать красиво? Пишите в комментах pic.twitter.com/fypyFxDXff

17:15

Как бы я не любил Kotlin Coroutines, но обработка ошибок в них боль ( В зависимости от того как запускаешь Coroutine, исключения могут выбрасывать в разных местах, или их обработка все равно может привести к падению. Грусть и грусть. Жду улучшений в kotlinx.coroutines

17:19

Я говорил, что люблю property delegate, но с другой стороны этот функционал, который работает через обертку объекта + еще и используется рефлексия. Будьте осторожны!

В Kotlin 1.4 ждут улучшения в делегатах - неиспользуемый параметры в getValue()/setValue() будут игнорироваться

17:25

Введение многих новых фичей, которые могут долго висеть в experimental. Для команды Kotlin - это очень важный и серьезный шаг вывести API в stable.

В Kotlin 1.4 команду Kotlin даже попросили приостановиться с новыми фичами и вывести существующие в stable

17:28

Долгая сборка, особенности работы kapt и другие вещи которые негативно влияют на сборку. Однозначно минус, но я уже привык. Отказаться от Kotlin мне дороже чем ускорить сборку на 20% процентов, хотя вопрос еще и времени сколько это будет

17:35

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

17:48

Стоит занести в минусы, но не критичные - отсутствие литералов для коллекций. Например так pic.twitter.com/HbhD7hJvMq

17:50

Я думаю что кто-то скажет что отсутствие тернарного оператора плохо, но мне хватит if...else expression

17:58

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

17:58

Моя главная рекомендация с Kotlin - не используйте Java подходы при работе с ним. Это язык с другими подходами, хоть и основанными на Java, но с избавлением от проблем, которые были найдены за 20 лет и собственным виден

17:58

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

6 мая 2020Среда
38 твитов
9:32

День 3. Публичные выступления

Публичные выступления - это мое хобби и я очень люблю заниматься этим сам и помогать другим подготовить доклады. Давайте обсудим вопросы, которые мне на так давно задал один из подписчиков Android Broadcast

9:32

Зачем вообще делать доклады?

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

9:32

Эти навыки важны с ростом вашего уровня (Middle -> Senior -> Lead) и смещения ваших обязанностей в менеджерские (работа с людьми, заказчиками, участие во встречах между командами)

9:32

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

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

9:51

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

Шаринг знаний - это доклады, статьи, менторинг, ведение курсов, блоги и др, но доклады...

9:51

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

9:52

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

10:05

Стоит ли включать такие вещи в резюме - однозначно да. Это показывает ваши soft skills и для работодателя будет плюсом. Какого размера? Для меня люби которые социализируются и стараются делится знаниями - это плюс, но далеко не главный показатель

10:05

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

10:05

Может ли принести public speaking деньги?... Да, есть спикеры которые на этом зарабатывают (выступают на конференциях за деньги) и вы скорее всего слышали их имена, потому что это звезды IT индустрии.

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

11:34

Мы поняли, зачем стоит таким заниматься. следующе вопросы которые встанут: "О чем рассказать?" и "Где выступить?"

11:44

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

11:44

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

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

12:06

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

Также локальные сообщества (например GDG) очень часто ищут спикеров и вы можете обратиться к ним с тем чтобы сделать доклад, а тему они помогут вам найти или предложат.

12:06

В современном мире оффлайн событий нет и все ушло в онлайн. Например, @krlrozov, @nekdenis и @mike_emelyanov организовали онлайн площадку Android Dev Virtual Meetup...

12:06

...Android Dev Virtual Meetup, где спикерам не нужна усиленная подготовка и в простом и непринужденном формате вы можете выступить и ответить на вопросы аудитории. Также организаторы помогут с подготовкой вашего доклада
youtube.com/c/AndroidDevVi…

12:06

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

12:30

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

Всегда можно взять опыт и перенести его на демо проект для доклада

12:30

Темы копания в глубинах работы каких-то утилит, библиотек и фреймворков - это всегда больная тема. Ее надо уметь преподнести легко для аудитории + зачастую аудитория таких докладов - это матерые разработчики, которые обычно либо сами делают доклады или организовывают конфы/митапы

14:32

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

Делать крутые, но очень тяжелые для восприятия доклады, направленные на узкую аудиторию будут не так хорошо восприняты ☹️

14:41

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

Доклад должен иметь определенную структуру: введение, основная часть, заключение

14:41

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

14:41

Заключение должно резюмировать что вы рассказали за время доклада и высказать основные мысли. Для некоторых докладов уместно дать толчок к действию для слушателей

14:41

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

17:43

Слайды к презентации. Что могу сказать:

17:43

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

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

17:43

Для презентация я использую Apple Keynote. Люблю их простоту, анимацию Magic Move и то что я могу запускать полноценно презы с iPad

17:43

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

17:47

Давайте дальше. У вас есть черновая версия и вам нужно получить обратную связь. И тут вступают в роль прогоны. Я делаю прогоны 2 типов: с аудиторией для которых делается доклад (Android разработчики например) и люди которые вне сферы (жена и дочка).

17:47

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

Хотя моя жена уже стала плохой аудиторией для прогона - получилось ее прокачать в Kotlin и Android 😁

17:59

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

18:07

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

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

18:07

Какая продолжительность доклада хорошая? Я считаю что она должна быть в пределах от 25-40 минут, хотя формат конференции может дать и больше сделать. Все что переходит 50 минут надо разбавлять активнее. Возможно даже делать паузу на вопросы (5 минут)

18:25

Страх начинающих спикеров: "А если мне зададут вопрос, на который я не знаю ответ?". Подготовить доклад != знать абсолютно все в этой сфере. Я отношусь нормально когда спикер говорит: "Я не знаю ответа, но будет хорошо если обсудим после". Сам так делаю, потому что...

18:25

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

18:25

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

18:25

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

18:26

Главное помните - вы уникальны и у вас есть свои сильные места и свой подход. Используйте их, пробуйте делать доклады и смотреть что заходит из ваших приемов, а что нет. Каждый следующий доклад будет лучше, если работать с обратной связью и стараться улучшать себя!

До завтра

7 мая 2020Четверг
22 твита
7:44

День 4. Тренды Android разработки

Сегодня обсуждаем cовременную Android разработку

7:45

Чем примечательна современная разработка? Наверное самое прорывное и обсуждаемое сейчас в ней - это Jetpack Compose, декларативный UI на Android, который пока находится в разработке и все мы можем только гадать когда получим результат, который можно использовать в production

7:45

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

7:45

Хорошим примером является следующие версии androidx.activity и androidx.fragment в которых уберут работу с onActivityResult и сделают нормальный способ коммуникации между Fragment

8:00

Также мне нравится тренд на "закручивание болтов" для разработчиков в ОС. Что только не делают разработчики приложений, чтобы делиться на фоне других. Так что ограничения по получению broadcast, доступ к местоположению и прочее - это хороший поводу приструнить разработчиков.

8:00

Дополнительно ограничения происходят через Google Play и изменения его политик. Например, приложения с доступом к SMS так просто не опубликуешь, хотя получить permission можно любому. Аналогично и вводят проверку на доступ к местоположению

8:00

Какие ограничения в Android для разработчиков хотелось бы увидеть вам? Пишите в комментариях

8:28

Одним из крутых трендов является активная поддержка Kotlin:

8:30

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

8:34

Красивая анимация - это не то, что можно сделать просто так из коробки в Android, хоть API и много. Я очень верю в MotionLayout в связке с Motion Editor в Android Studio

8:53

Будущая Android Studio 4.1 меня радует интеграцией с библиотеками Room и Dagger, инструментов для работы с SQLite БД и встроенный Android Emulator в AS

8:53

Грусть пока вызывает инкрементальная сборка, ныне именуемая Apply Changes, работает плохо и не умеет много чего, поэтому лучше заботиться о модуляризации вашего проекта

10:37

Хотя многое что делается плохо, для выполнения плана или другим внутренним корпоративным меркам. Я думаю многие из вас слышали androidx.biometric, которая создаёт утечки памяти, а сообщество, которое об этом репортило игнорировали.

Какой школьник писал и ревьювил этот код?

10:37

Также у меня есть претензии по androidx.navigation.

Почему нельзя было сделать из коробки так, чтобы я спокойно мог управлять навигацией из ViewModel/Presenter. Но нет, каждый раз при пересоздание Activity/Fragment надо вытягивать заново ссылку на NavController. Грусть☹️

10:37

С какой-то стороны я был рад что не было Google I/O в этом году. Иначе бы гусляры опять клипами кучу библиотек за 2-4 до конференции чтобы показать как у нас все круто и мы работаем но все в очень ранних альфах

15:08

Форматы устройств, в которые пытается развиваться Android пока странные. Я говорю о складных устройствах. Они пока очень дорогие и непонятно что с ними будет в будущем. В какие устройства верите вы?

15:08

Очень грустно что нет достойных конкурентов в сегменте умных часов и планшетов, которые могли бы дать бой Apple Watch и iPad. С планшетами проблема вся понятна - отсутствие нормального софта. разработчики пишут с большей части под телефоны (

17:32

Что нам даст Android 11?

17:33

Еще бы мне хотелось чтобы систему рендеринга перевели с OpenGL на Vulkan (аналог Metal в iOS). Будеьт крутой буст (теоретически). Хотя возможно Jetpack Compose с его работой через код, без XML, сможет решить проблемы

17:34

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

17:56

Все в AndroidX направлено чтобы полечить ее детские болячки и сделать это более гибким. Где-то получается, где-то нет, но стремление неплохое

17:56

Также мне нравится стремление Google на уменьшение размера Android приложений: App Bundle, Dynamic Delivery и Dynamic Features

8 мая 2020Пятница
15 твитов
9:54

День 5. Интервью

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

Я сам побывал в ситуации что недавно мне надо было искать работу, а также имел опыт проведения интервью у кандидатов в Android Dev

9:54

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

Выставьте приоритет между требованиями

12:25

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

13:30

Резюме можно отправлять во все компании которые интересны и которые зовут на собес + площадки поиска работы: linkedin, Headhunter и другие.

13:30

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

Возможно компания вам не подойдет еще по обсуждению позиции с HR

13:37

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

14:21

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

14:21

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

14:35

Как вы относитесь к выполнению тестового задания?

14:42

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

14:42

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

16:26

Не бойтесь сходить на интервью. Я считаю что это абсолютно нормально. Я хожу на интервью раз в 6-8 месяцев. Зачем? Чтобы понять насколько я отстаю от рынка, что спрашивают и что нужно подтянуть.

Также вы можете понять какую ЗП вам готовы предложить.

Ходите так на собесы?

18:33

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

18:34

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

19:29

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

9 мая 2020Суббота
23 твита
9:19

День. 6 Обучение

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

9:19

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

Для себя я выбрал доклады, видео, Telegram канал и статьи. В своем случае определяйте более удобный и комфортный формат для вас

9:19

Также, это может быть и формат ведения курсов (платных и необязательно) и менторинг.

9:19

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

9:19

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

9:19

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

10:32

Один из хороших таких примеров где вы можете потренироваться с лекциями и побыть ментором при поддержке более опытных коллег - Android Academy. Она есть в Тель-Авиве, Москве, Минске и Санкт-Петербурге

10:47

Не хотите работать с людьми? Тогда вам нужен вариант изолированный от них, например статьи, написание библиотеки или pet project, в котором вы будете развиваться и пробовать новые технологии

13:39

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

14:24

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

14:24

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

16:07

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

17:18

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

17:39

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

17:56

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

17:56

Недавно я приостановил новые выпуски подкаста. С вводом карантина прослушивания упали (не у меня одно). Порядка 1/3 всех прослушиваний происходят в дороге в офис на работу. Нет дороги - нет прослушиваний

18:15

Как же без оффлайн мероприятий: митапы и конференции. Если первый зачастую бесплатные и довольно годные, то вот вторые уже не таки дешевый и могут по стоимости билета доходить 1000$ (в РФ).

Быть в сообществе важно, чтобы понимать чем живет сфера. Быть на конференциях...

18:15

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

18:15

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

18:15

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

18:15

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

18:15

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

18:16

Раньше я еще слушал подкасты, а сейчас совсем не хватает времени при работе и создании контента. Поэтому перешёл в режим “write only”

10 мая 2020Воскресенье
4 твита
7:13

День 7. Вопрос-ответ

Писать большие треды в выходной не буду. Задавайте свои вопросы комментарием в этом треде, я постараюсь ответить.

7:13

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

18:59

Понял что тема "Ответ-вопрос" - это не формат для этого аккаунта

19:01

Всем большое спасибо за эту неделю. Надеюсь вам было интересно. Если вам узнать больше про Android и Kotlin разработку - подписывайтесь @kirill_rozov