Летом 2018 года белорусское сообщество GDG Minsk запустило бесплатный «пилотный» курс по разработке под Android на площадке SPACE. В основе — программа Android Academy израильского сообщества во главе с Йонатаном Левином.
После начального уровня сразу стартовал «продвинутый», на который пришло ещё больше слушателей. Уже состоялось 2 занятия, впереди ещё 6 (следующее — 25 февраля). Присоединиться можно в любой момент: регистрация на очередную лекцию открывается во время предыдущей. «Вместимость» лекции — до 200 человек, на занятие 4 февраля пришло 130.
Dev.by расспросил студентов, как проходят занятия и чему они уже научились.
Алёна Диковицкая, Android-разработчица: «Хотя бы одним языком программирования нужно владеть»
Все ребята здесь — опытные, в основном со знаниями в мобильной разработке. На первой лекции преподаватели предупредили, что не будут фокусироваться на языках программирования, ООП и пр. Если ты вообще ничего не знаешь о разработке, курс скорее всего не потянешь. Темы на Android Academy узкоориентированные, поэтому хотя бы одним языком программирования нужно владеть обязательно.
Лекторы так разбили программу, что ты постепенно вливаешься и не теряешься из-за большого количества информации. На первых занятиях, например, рассказывали про саму операционную систему, принципы действия Android-платформы, базы данных (Room), версии API и как с ними работать.
После каждого занятия было домашнее задание и разобранное по шагам пособие, как что делать. На «продвинутом» курсе начали углубляться в клиент-серверные приложения, на втором занятии говорили про корутины (облегчённые потоки), многопоточность, помимо Java немного затронули Kotlin. Преподаватели очень полно, объёмно раскрывают темы, и очень здорово, что их выступления можно потом пересмотреть в записи. Также у нас есть канал, где можно общаться с менторами, задавать им вопросы, консультироваться.
Когда я пришла на Android Academy, то ещё доучивалась в ФПМИ БГУ, и курс сильно помог мне при написании дипломной работы. Я влюбилась в Android и защитила диплом по мобильным приложениям на 9 баллов. Да, Android Academy — это первая проба в Минске, но этот формат занятий уже обкатан в Питере, Израиле.
все видео курса доступны здесь
Андрей Мартыненко, программист: «Джуниорам не обязательно знать, как работает CPU, а вот сеньорам надо»
Труднее всего было с фрагментами: здесь важно понимать тонкости их жизненного цикла и состояний и обрабатывать механизмы обратного вызова (callbacks) таким образом, чтобы приложения «не падали». Если ты не понял эту тему концептуально, то будешь писать плохие приложения. Ещё я не до конца понимал, как взаимодействуют компоненты приложения со службой. Но после нескольких лекций разобрался.
Также на занятиях затронули такие важные темы, как работа CPU, архитектуры. Джуниорам это, наверное, не обязательно знать, а вот опытным разработчикам, чтобы писать внятный, оптимизированный код, желательно. Многие начинающие разработчики по неопытности используют фреймворк для организации потоков данных RxJava для скачивания файлов из интернета или создания запросов к серверам. А ведь это обходится им довольно дорого: на каждый запрос может создаваться несколько десятков объектов «под капотом» и забивать память. То же самое можно сказать и про сборщик мусора — если знаешь, как он работает, то можешь избежать «прожорливых» мест в памяти.
В целом мне всё понравилось, правда, я бы ещё попросил включить в программу анимацию. Когда я учился в университете, мне было важно, что программа умеет делать. А потом для меня стало открытием, что людям, оказывается, важна не только функциональность приложения, но ещё и внешний вид. Тогда я начал заморачиваться на этой теме.
Михаил Кривошеев, фрилансер: «С нетерпением жду лекции про архитектуру»
Сегодня говорили о RxJava и работе с RX API. Всё очень подробно, доходчиво, с предысториями, проблемами, последними обновлениями и пр.
Кое-что из программы курса я уже знал, но всё равно нашлось то, о чём я слышал впервые. С нетерпением жду пятой лекции, там будет хайповая тема про архитектуры и разные подходы при их создании. На этой лекции выступят сразу несколько преподавателей, каждый расскажет про одну из архитектур.
Я по возможности стараюсь посещать все митапы сообщества GDG Minsk. Для меня Android Academy — это хорошая возможность попробовать себя в Android-разработке, систематизировать имеющиеся знания и пообщаться с комьюнити. Несмотря на то, что это был «пилотный» курс, видно, что организаторы хорошо подготовились и вложили душу. Всем своим знакомым буду настойчиво рекомендовать пойти во второй набор этого курса.
Павел Шишаев, Android-разработчик: «После армии тяжело раскачиваться»
Самостоятельно изучал С, Python, Java. После низкоуровневого программирования разработка под Android уже не казалась чем-то суперсложным: прочитал книгу «Философия Java» и разобрался. Android — это тот же Linux. На мой взгляд, Java надо учить после того, как освоил один из процедурных языков, а вот с ООП начинать точно не стоит. Первым делом надо осваивать Computer Science, а потом всё остальное. Про Android Academy я узнал на одном из митапов и сразу решил: иду, это то, что мне сейчас надо.
На курсе я структурировал свои знания. Fundamental уровень начался с основ Android платформы: из чего состоит приложение, какие виды бывают, какие инструменты используются в разработке, как запускать фоновые процессы и пр. На открытии Advance курса основатель Android Academy Йонатан Левин рассказывал про JVM, компиляторы, многопоточность, низкий уровень разработки под Android — как там всё работает «под капотом».
Мне нравится формат занятий в Android Academy: после лекции ты не теряешь связь с преподавателям, у тебя есть ментор, который отвечает на все твои вопросы. Плюс ты получаешь видео выступления и можешь его посмотреть. На базовом курсе было около 50 человек, кто-то даже по его окончании сразу нашёл работу. Но сейчас, на «продвинутом» уровне, нас гораздо больше, зал набит битком, стулья доставляют, кто-то даже стоя слушает.
Павел Щегельский, организатор, лектор: «Люди нашли работу, и это было что-то фееричное»
Первый курс был рассчитан на 11 лекций, а лекторов было только трое. Этого числа людей нам не хватало, и мы привлекли ещё одного, но даже в таком составе было напряжённо. Подготовка к лекциям отнимает немало времени, видимо, мы сильно заморачиваемся на том, какой контент даём людям. Но не все преподаватели выдержали этот темп, некоторые решили сделать перерыв. Поэтому сейчас нас двоё: я и Кирилл Розов. Будем рады, если кто-то к нам присоединится.
Если смотреть по статистике, мы, наверное, первая локация по количеству людей, которые заявились в самом начале и «дожили» до конца курса, — около 70-80%. Мы стараемся объяснять ребятам, что на одно место претендует как минимум 5 человек, и, если они записались и не ходят, то лишают возможности других посещать лекции. На каждый ивент у нас — отдельная регистрация. После каждого занятия делаем рассылку, где атачим презентацию, видео и ссылку на групповой чат. Собирать стадионы у нас пока нет возможности. Мы больше радеем за качество, а не за количество.
В будущем хотелось бы разбавить наш сугубо мужской коллектив девушками-преподавателями. Следующую лекцию, кстати, прочитает разработчица. Зачем мы как организаторы сообщества этим занимаемся? Во-первых, это «прокачивает» нас как специалистов, а, во-вторых, как бы это банально ни звучало, мы творим добро. Закон сохранения энергии никто не отменял. После первого курса некоторые ребята нашли работу, и это было что-то фееричное, это вдохновляет нас.
Кирилл Розов, организатор, лектор: «Мы не маним белорусской мечтой «войти в айти»
Для меня Android Academy — это не только платформа, где люди могут научиться писать под Android. Мы, как преподаватели, находим для себя здесь много нового, готовясь к лекциям. Кажется, что тут сложного: взять программу, разбить её на лекции и рассказать? Но порой некоторые темы даже опытных разработчиков ставят в тупик.
Мне, например, досталась многопоточность, нужно было рассказать базовые вещи, но я никак не мог понять, как это правильно преподнести. В работе вроде всё ясно, а вот как донести другим — непонятно. На тему многопоточности вообще можно отдельный курс делать, потому что она глубокая и большая. В итоге я выбрал фундаментальный и более философский подход в объяснении материала, чем прикладной.
На сегодняшней лекции, мне кажется, в зале было немного людей, которым я рассказал принципиально что-то новое, они уже и до меня многое знали. Я просто поделился своим взглядом, и, мне кажется, мои слова дошли кому-то глубоко в сердце и даже что-то там застучало.
Вообще, я много участвую в общественной жизни, для меня Android — это не просто работа. Это что-то вроде хобби, которое слилось с работой. Чтобы быть хорошим разработчиком, приходится много чего делать. Жена порой взрывается, ей трудно это принять, но она понимает, что у меня горят глаза, и, если у меня это забрать, я буду как человек, который разучился ходить.
По мере карьерного роста деньги как мотиватор теряют своё значение, ты обеспечил себя, и на первый план выходят духовные ценности, хочется внести вклад в стоящий проект, начать строить космические корабли или хотя бы рассказывать про них.
Сертификатов по окончании курса мы не даём. А зачем? Я, например, бросил университет, у меня нет диплома. Иногда о нём спрашивают, но его отсутствие ни разу не было стоп-фактором на собеседовании.
Александр Коблов, ментор: «5-6 часов в неделю трачу на работу со студентами, в зачёт рабочего времени в Jira их не указываю»
Стараюсь смотреть код ребят после лекций, так намного проще разобраться, в чём проблема. Очень запомнилось, как на первой лекции подошли ребята, показали приложение для продажи машин с 3D-моделью автомобиля и спросили, как это сделано. Пришлось лезть внутрь приложения и искать, как это реализовано на клиенте. Большинство вопросов довольно интересные и нетривиальные, иногда даже приходится дополнительно разбираться, чтобы ответить на них.