Что должен знать мидл андроид разработчик

Содержание
  1. 16 вопросов мидлу: что должен знать Middle-разработчик
  2. Авторизуйтесь
  3. 16 вопросов мидлу: что должен знать Middle-разработчик
  4. Hard skills
  5. Каков ваш уровень владения языком программирования и сопутствующими инструментами?
  6. В каких проектах вы участвовали? Сколько из них вели сами?
  7. Каков ваш навык работы с базами данных?
  8. Расскажите о своём уровне владения выбранной IDE
  9. Другие технические навыки
  10. Какие методологии разработки вы знаете? По каким из них работали?
  11. Что ещё должен знать Middle-разработчик
  12. Soft skills
  13. Насколько вы коммуникабельны?
  14. Ваши навыки работы в команде
  15. Умеете ли вы разрешать конфликты?
  16. Каков ваш уровень английского языка?
  17. Способны ли вы доступно доносить свои идеи, убеждать в их правильности?
  18. Можно ли вас охарактеризовать, как внимательного человека?
  19. Если возникла проблема, как вы будете её решать?
  20. Можете ли вы оценить время выполнения задачи?
  21. Планируете ли вы развиваться до сеньора или тимлида?
  22. Выводы
  23. Кто такой Android-разработчик. Обзор изнутри от Артёма Шабана
  24. Как Android-разработка отличается от других видов разработки (и, по-моему, круче их всех)?
  25. Почему Android, а не iOS?
  26. Как Android-разработчик работает над приложением?
  27. Какие инструменты использует Android-разработчик?
  28. Что должен знать и уметь Android-разработчик?
  29. Что читать и где учиться
  30. Список ресурсов:

16 вопросов мидлу: что должен знать Middle-разработчик

Авторизуйтесь

16 вопросов мидлу: что должен знать Middle-разработчик

Что должен знать Middle-разработчик? Этот вопрос актуален как для тех, кто претендует на вакансию мидла, так и для тех, кто посматривает в сторону продвижения.

Стоит отметить, что несмотря на то что в IT выработана шкала для оценки программистов (trainee, junior, middle, senior, lead), с которой более или менее все согласны, с точным определением каждого уровня общего мнения среди компаний пока нет. Поэтому каждая компания устанавливает внутренние требования к навыкам каждого уровня.

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

Позиция Middle-разработчика предполагает не только уверенное знание языка программирования, но и широчайшие познания в смежных технологиях. Позиция Middle накладывает на специалиста ответственность не только программировать «всё что угодно», но и обучать, оптимизировать код, разбирать и поддерживать чужой код, как будто родной. Фактически сейчас для вакансий Middle-разработчика предъявляются требования, как несколько лет назад для Senior.

Мы выяснили, что должен знать Middle-программист в 2020 году, и собрали общие вопросы с собеседований, по ответам на которые работодатели определяют, «дорос» кандидат до мидла или нет.

Hard skills

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

От программиста-джуна ожидается знание всех конструкций языка, знание большей части стандартной библиотеки. Знакомство с фреймворками (хотя бы с одним), инструментами коллективной разработки (систем контроля версий, таск- и баг- трекеров, естественно, IDE и др.). Требования к мидлам существенно выше. Как правило, ожидается доскональное знание базы (в том числе синтаксиса используемых языков), опыт работы и уверенные теоретические знания стандартных библиотек, необходимых фреймворков и инструментов.

В каких проектах вы участвовали? Сколько из них вели сами?

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

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

Каков ваш навык работы с базами данных?

Работаете с бэкендом? В таком случае вы должны свободно обращаться к базам данных, иметь навыки работы с одной или несколькими СУБД.

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

Это основное из того, что должен знать Middle-разработчик. Не стоит забывать и о нормализации, денормализации и характеристиках каждой нормальной формы.

Расскажите о своём уровне владения выбранной IDE

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

Другие технические навыки

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

Что касается технических навыков Middle-разработчика по frontend JavaScript, то специалист такого уровня должен:

  • знать один из популярных JS-фреймворков (Vue, Angular), а также популярную библиотеку (React);
  • знать SASS/SCSS/Less/PostCSS;
  • уметь самостоятельно настроить систему сборки проекта Grunt/Gulp/Webpack, работать с голым JS (ES5, ES6, ES7);
  • знать и понимать RESTful интерфейсы;
  • уметь пользоваться средствами совместного использования кода (Git + GitFlow).

Также есть дополнительные навыки, которые дают преимущества. Большим плюсом в работе будут:

  • опыт разработки серверного кода под Node.js, TypeScript;
  • понимание SOLID, Dependency Injection, знание Linux (Debian-like);
  • опыт работы с TDD/BDD, тест-фреймворки (Mocha, Should, Chai, Jest);
  • знание Docker (большим плюсом будет Kubernetes/Docker Swarm);
  • опыт в PostgreSQL/MySQL etc.

Самое важное для мидла, это знать, как изнутри работает используемая тобой технология, твой фреймворк. Не то, как он производит рендер (с помощью VDOM и т. п.), а как код написан, как происходит магия. Открой GitHub, посмотри исходники React, как, например, this.setState заставляет компонент делать рендер.

Какие методологии разработки вы знаете? По каким из них работали?

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

Что ещё должен знать Middle-разработчик

  • Знать и уметь писать оптимальные запросы по выборке данных (DML-запросы).
  • Немного знать про ACID, понимать, что это такое и зачем нужно.
  • Знать три столпа ООП (наследование, полиморфизм и инкапсуляция).
  • Знать, что такое шаблоны проектирования и зачем они нужны. Понимать различия между ними.
  • Понимать, что такое SOLID и когда он уместен.
  • Знать и понимать, что такое тестирование кода и как оно реализуется.
  • Желателен опыт в написании тестов. Это заставляет мозг разработчика генерировать совершенно другой код. Я специально поставил этот пункт ниже SOLID и шаблонов проектирования: сначала SOLID и шаблоны, а только потом тесты. Тогда будет получаться код, который будет легче покрываться тестами.

Soft skills

Насколько вы коммуникабельны?

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

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

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

Ваши навыки работы в команде

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

Умеете ли вы разрешать конфликты?

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

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

Каков ваш уровень английского языка?

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

Способны ли вы доступно доносить свои идеи, убеждать в их правильности?

Что касается «софтскиллс», они необходимы для выполнения многочисленных ролей в команде — разработчик, ментор, докладчик, тимлид и другие. Что для этого понадобится специалисту? Убеждать коллег и клиентов. Иногда даже продавать — идеи, решения, преимущества. Презентовать свои идеи. Обучать. Планировать свою деятельность, ставить задачи перед подчинёнными, контролировать их выполнение. Для этого и много другого нужно развивать соответствующие навыки.

Можно ли вас охарактеризовать, как внимательного человека?

Очень хорошее качество, которое надо развивать разработчику, — это внимательность. Она позволит вовремя заметить, что с «канарейкой» что-то не то. Грамотный Middle-разработчик должен непрерывно отслеживать «жизненные показатели» проекта, чтобы вовремя понять, что «чирикает» после недавнего коммита он уже не так бодро.

Если возникла проблема, как вы будете её решать?

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

На первом месте здесь стоит умение искать информацию. Перед собеседованием вспомните основные источники информации, к которым вы обращаетесь в первую очередь (после документации, разумеется).

Можете ли вы оценить время выполнения задачи?

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

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

Планируете ли вы развиваться до сеньора или тимлида?

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

Выводы

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

Не завышены ли требования к мидлам? Возможно, кто-то из IT-специалистов сталкивался с тем, что, уже несколько лет будучи мидлом, на собеседовании в какой-либо компании его оценивают как джуниора. Связано это, как правило, с двумя факторами: первое — разные требования в разных компаниях. Второе — часто в уровень квалификации, кроме перечисленных выше hard и soft skills, ещё включают погружённость сотрудника в предметную область, знание специфики бизнеса. Эти знания делают сотрудника ценным для текущей организации, но могут значить меньше в новой для него организации.

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

Источник

Кто такой Android-разработчик. Обзор изнутри от Артёма Шабана

Про Android-разработку рассказывает Артём Шабан, Development Director в Onde.

Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, эти материалы помогут школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить перспективы или просто сверить часы с авторитетным коллегой. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его ещё полезней.

Про Android-разработку рассказывает Артём Шабан, Development Director в Onde.

Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, эти материалы помогут школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить перспективы или просто сверить часы с авторитетным коллегой. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его ещё полезней.

Коротко обо мне:

— 7 лет в разработке;

— опыт в Android-разработке — около 5 лет;

— пришёл в Onde джуном и прошёл весь путь до сеньора и тимлида;

— сейчас моя роль в Onde — Development Director.

В общем виде цель работы Android-разработчика — разработать мобильное приложение так, чтобы пользователь открыл его и сказал: «Вау! Оно решает мою проблему». Весь труд разработчика направлен на выполнение данной цели.

Мобильный разработчик старается максимально облегчить жизнь пользователю: приложение не должно «вылетать»; оно не должно тормозить даже на старых или дешёвых устройствах (ведь Android-смартфонов очень и очень много!); интерфейс, который создают дизайнеры и реализуют программисты, должен быть удобен и понятен. Такие задачи разработчик решает каждый день.

Компания поставляет инновационное программное обеспечение для on-demand предприятий с 2011 года. В компании 70+ энтузиастов и энтузиасток, стремящихся улучшить транспортное сообщение во всех уголках планеты.

Главная специализация Onde — разработка софта, необходимого компаниям для on-demand доставки, заказа такси и услуг. Клиенты компании находятся в 60+ странах и составляют активную и уникальную группу предпринимателей в сфере on-demand мобильности.

Как Android-разработка отличается от других видов разработки (и, по-моему, круче их всех)?

На самом деле, все виды разработки важны. Важен бэкенд, который обеспечивает правильную работу приложений на серверах. Спасибо «бэкендерам» за это! С фронтендом пользователь сталкивается в первую очередь, потому что именно «фронтендеры» разрабатывают интерфейс (UX/UI) приложения. Как известно, встречают по одёжке — поэтому чем круче UX/UI, тем больше шансов у приложения стать популярным.

Но самые крутые ребята — «мобильщики» — разработчики, которые создают сами приложения. Быть «мобильщиком» круто хотя бы потому, что ты всегда можешь увидеть и показать другим результаты своего труда. Бэкенд-разработчик не может открыть своё приложение перед мамой, женой или другом и сказать: «Смотри, как круто я сделал!». Если ты работаешь мобильным разработчиком в крупной компании, то твоими приложениями будут пользоваться сотни тысяч или даже миллионы людей. Это вдохновляет.

Почему Android, а не iOS?

Мобильная разработка ведётся на двух самых популярных платформах: Android и iOS. И здесь начинается настоящий холивар. Объясню, почему я когда-то сделал выбор в пользу Android.

  1. Порог входа на Android ниже, чем на iOS — как для пользователя, так и для разработчика. Телефон на Android можно купить за $50 или даже дешевле. Сколько там стоит новый айфон? Разработчик может даже не покупать девайс, чтобы работать над приложением. Можно обойтись Android-эмуляторами на компьютере. Когда-то я так и начинал.
  2. Android широко используют не только на смартфонах, но и в «умных» вещах (IoT): от автомобилей до «разумных» утюгов и стиральных машин.
  3. Мир Android очень сложный и разнообразный. У айфона всего пару десятков моделей, Android-девайсов — тысячи. Интересно знать, что твоим приложением будут пользоваться на тысячах разных устройств! Слова «оптимизация» и «перформанс» всё ещё не забыты в Android-разработке. Миллионы людей в Африке и Азии используют супер-дешёвые девайсы, и твоё приложение должно стабильно работать на любом «китайфоне». Мир Android-девайсов постоянно подкидывает тебе новые вызовы и новые задачи. Конечно, это не только интересно, но и сложно: надо быть всегда готовым, что приложение перестанет работать на очередной нетипичной модели смартфона.
  4. Android — это open-source платформа. Код, на котором она написана, доступен для каждого. Всегда можно заглянуть поглубже и узнать, каким образом разработана и функционирует сама система.

Как Android-разработчик работает над приложением?

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

  1. Во-первых, Android-разработчик должен понимать контекст задачи: для кого и для чего предназначено приложение, как оно будет выглядеть и работать. Обычно в начале работы есть готовый макет UX/UI приложения и его общее описание. Основа приложения — UX (User Experience — проект взаимодействия пользователя с интерфейсом). Он выглядит как раскадровка экрана будущего приложения, набросок того, как пользователь будет работать с программой. Потом на проект накладывается начальный UI-интерфейс, а уже готовый дизайн отдаётся разработчику. Опытные разработчики участвуют в создании приложении уже на первом этапе — проектирования макета UX. Ведь всегда есть технические ограничения, и о них лучше узнать уже на стадии проектирования.
  2. Разработчики (часто при помощи бизнес-аналитиков) расписывают кейсы (use cases) — основные последовательности действий в приложении. Нажал одну кнопку в интерфейсе — открылось основное окно. Нажал другую кнопку — выскочил список настроек. И так далее. В небольших стартапах начальная работа над приложением может ограничиваться работой над UX/UI.
  3. Основная разработка ведётся поэкранно. «Экраны» — это важные участки приложения, которые создаются по отдельности. Например, три экрана разделяются между командой, потом соединяются. Если разработчик не знает, как написать тот или иной участок кода или добавить какой-то компонент программы, — он гуглит. Или консультируется у коллег. В этой работе всегда надо учиться.
  4. Экраны готовы, приложение готово. Тестировщики должны проверить, чтобы всё соответствовало требованиям. Но начинает тестирование сам разработчик — надо же покликать и убедиться, что приложение работает нормально. Иногда разработчик пишет для тестировщиков автоматизированные тесты.
  5. Финальный этап — выход приложения в Google Play. В небольших компаниях заливает приложение в стор сам разработчик. Сделать это несложно — нужно всего-то нажать пару кнопок. Но в больших компаниях, как Onde, в сторы загружают десятки и сотни приложений, так что этим занимаются отдельные люди.

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

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

Какие инструменты использует Android-разработчик?

  1. Android Studio. Это официальная IDE (интегрированная среда разработки) для Android, созданная JetBrains и Google. Здесь пишется код.
  2. Git. Сюда складывается написанный код и здесь хранится.
  3. Смартфон или Android-эмулятор на компьютере. На них приложение запускается и тестируется.

Сейчас большинство Android-разработчиков пишет код на Kotlin, но ещё пару лет назад все писали на Java. Эти два языка похожи (оба относятся к группе JVM-языков), поэтому переходить с одного на другой несложно. Если совсем просто, то Kotlin — тот же Java, только немного красивей и приятней. Сегодня Kotlin — один из официальных языков для Android.

Что должен знать и уметь Android-разработчик?

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

Для себя я определил очень простой способ их различать — по уровню задач. Джун всегда решает элементарные и понятные задачи. Миддл уже справится с любой задачей. Он сделает её правильно, но, скорее всего, не с первого раза — ему придётся совершить несколько итераций. А вот сеньор или «равный» ему специалист сразу справится с любой, даже самой сложной задачей.

Можно сравнить разработку программ со сборкой автомобиля. Джуну для сборки понадобятся детали и инструкция. Придётся хорошенько постараться, но рано или поздно машину он соберёт. Миддлу дай запчасти — и авто будет готово. А вот сеньор — тот человек, который может спроектировать машину с нуля. Достаточно поставить перед ним общую задачу: «машина должна быть быстрая» или «это должен быть внедорожник».

Джуну дают типовые задачи начального уровня. Обычно они связаны с UX/UI: добавить в интерфейс кнопочку, изменить параметры того или иного элемента. Другими словами, в хорошо известных местах приложения он меняет понятные кусочки кода. Основной скилл джуна — умение учиться. По моему мнению, для джуна в принципе не очень важны знания конкретных технологий (языка программирования или фреймворка). Знания очень быстро устаревают. Единственное, что не устаревает, — это способность думать и учиться.

Миддлу не страшно дать любую задачу, и он точно с ней справится. Большинство программистов (независимо от того, как их роли называются в конкретной компании) — миддлы. В Беларуси эта роль начинается после двух лет хорошего опыта. Миддл работает с уже готовой архитектурой. Знает, как она работает, знает её базовые компоненты. Он уже отлично владеет языками программирования и фреймворком Android.

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

Есть ли жизнь после сеньора?

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

Он может развиваться в хард-скиллах — вырасти в очень крутого технического специалиста. Это может быть Principal Developer или Solution Architect. Они решают технические задачи высшего порядка: концептуальные проблемы с перформансом или кросс-платформенностью, сами проектируют программы.

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

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

Что читать и где учиться

Не буду рекомендовать много книг. Признаюсь честно: сам я до конца не прочитал ни одной книжки по программированию. Хотя наверняка кому-то книжки нравятся и помогают.

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

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

Напоследок небольшая история.

Однажды на собеседование в Onde пришёл человек. Он не знал ни Java, ни Kotlin. Зато написал собственное приложение на Delphi — простейшую игру вроде змейки. Мы даже не знали, как его собеседовать, — человек ничего не знал из нужных нам технологий! Но он создал своё приложение и отлично понимал базовые принципы программирования. Сейчас этот человек — один из ключевых Android-разработчиков в компании.

Список ресурсов:

Kotlin

  • Для тех кто не знает языки программирования: «Head First. Kotlin».
  • Для тех, кто умеет немного программировать: короткий гайд на официальном сайте Kotlin.
  • «Head First. Паттерны проектирования» — одна из немногих книг которую я прочитал, потому что там картинок больше чем текста =). Она для тех, кто уже умеет программировать, и хочет развиваться дальше. Паттерны проектирования — это обязательные знания, чтобы трансформироваться из джуна в миддлы. Поэтому для начала ее можно не читать, но стоит запомнить и прочитать в будущем.

Android

  • Базовый сайт, который стоит добавить в закладки: developer.android.com.
  • Бесплатные поэтапные уроки на русском (что-то на Kotlin, что-то на Java, но не стоит этого бояться, синтаксис очень похож): developer.alexanderklimov.ru.

Бесплатные курсы, рекомендованные Kotlin и Google:

Технические новости (советую читать, чтобы быть в теме): Android-разработка на Хабрахабр.

Источник

Читайте также:  Как поменять рингтон будильника андроид
Оцените статью