Летом 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, а вот сеньорам надо»
Я как опытный разработчик взял от курса много фундаментальных вещей, на которые раньше частенько забивал, а потом возвращаться к ним уже было лень. Здесь я закрыл эти пробелы и стал лучше разбираться, как работать с фрагментами, нотификациями, широковещательными сообщениями (Broadcast), View-компонентами (LinearLayout, RelativeLayout и пр.) и разрешениями (permissions).
Труднее всего было с фрагментами: здесь важно понимать тонкости их жизненного цикла и состояний и обрабатывать механизмы обратного вызова (callbacks) таким образом, чтобы приложения «не падали». Если ты не понял эту тему концептуально, то будешь писать плохие приложения. Ещё я не до конца понимал, как взаимодействуют компоненты приложения со службой. Но после нескольких лекций разобрался.
Также на занятиях затронули такие важные темы, как работа CPU, архитектуры. Джуниорам это, наверное, не обязательно знать, а вот опытным разработчикам, чтобы писать внятный, оптимизированный код, желательно. Многие начинающие разработчики по неопытности используют фреймворк для организации потоков данных RxJava для скачивания файлов из интернета или создания запросов к серверам. А ведь это обходится им довольно дорого: на каждый запрос может создаваться несколько десятков объектов «под капотом» и забивать память. То же самое можно сказать и про сборщик мусора — если знаешь, как он работает, то можешь избежать «прожорливых» мест в памяти.
В целом мне всё понравилось, правда, я бы ещё попросил включить в программу анимацию. Когда я учился в университете, мне было важно, что программа умеет делать. А потом для меня стало открытием, что людям, оказывается, важна не только функциональность приложения, но ещё и внешний вид. Тогда я начал заморачиваться на этой теме.
Михаил Кривошеев, фрилансер: «С нетерпением жду лекции про архитектуру»
Лекторы Android Academy — это опытные ребята уровня Senior, Lead из известных компаний: Flo, Viber, EPAM и др. Выделить какой-то лучший доклад за весь курс даже невозможно, у всех была изюминка. Например, Сергей Попков очень интересно рассказывал про сервисы, Кирилл Розов — про потоки, Паша Щегельский — REST-архитектуру, Антон Новиков — реализацию View адаптера.
Сегодня говорили о 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 человек, кто-то даже по его окончании сразу нашёл работу. Но сейчас, на «продвинутом» уровне, нас гораздо больше, зал набит битком, стулья доставляют, кто-то даже стоя слушает.
Павел Щегельский, организатор, лектор: «Люди нашли работу, и это было что-то фееричное»
Программа обучения досталась нам от израильских коллег, но мы переработали её согласно нашему видению. По тематике она не сильно изменилась, а вот содержательно подверглась серьёзной адаптации. Мы знаем наш рынок и наших ребят, поэтому изменяли программу под особенности локации. Антон Новиков, например, делал доклад на тему «списков» и тот пример, который использовали в Израиле, на наш взгляд, был не очень живым, и мы решили его «оживить». В итоге Антон объяснял тему на примере Viber, где он работает.
Первый курс был рассчитан на 11 лекций, а лекторов было только трое. Этого числа людей нам не хватало, и мы привлекли ещё одного, но даже в таком составе было напряжённо. Подготовка к лекциям отнимает немало времени, видимо, мы сильно заморачиваемся на том, какой контент даём людям. Но не все преподаватели выдержали этот темп, некоторые решили сделать перерыв. Поэтому сейчас нас двоё: я и Кирилл Розов. Будем рады, если кто-то к нам присоединится.
Если смотреть по статистике, мы, наверное, первая локация по количеству людей, которые заявились в самом начале и «дожили» до конца курса, — около 70-80%. Мы стараемся объяснять ребятам, что на одно место претендует как минимум 5 человек, и, если они записались и не ходят, то лишают возможности других посещать лекции. На каждый ивент у нас — отдельная регистрация. После каждого занятия делаем рассылку, где атачим презентацию, видео и ссылку на групповой чат. Собирать стадионы у нас пока нет возможности. Мы больше радеем за качество, а не за количество.
В будущем хотелось бы разбавить наш сугубо мужской коллектив девушками-преподавателями. Следующую лекцию, кстати, прочитает разработчица. Зачем мы как организаторы сообщества этим занимаемся? Во-первых, это «прокачивает» нас как специалистов, а, во-вторых, как бы это банально ни звучало, мы творим добро. Закон сохранения энергии никто не отменял. После первого курса некоторые ребята нашли работу, и это было что-то фееричное, это вдохновляет нас.
Кирилл Розов, организатор, лектор: «Мы не маним белорусской мечтой «войти в айти»
Это первая инициатива в Беларуси, когда специалисты без какой-либо финансовой подоплёки действительно хотят научить чему-то людей, а не просто манят звенящим рублём и белорусской мечтой «войти в айти», обещая всем, кто выучится, найти работу. Мы ни разу не про это. Мы просто хотим, чтобы стало больше Android-разработчиков в стране. Наша цель концептуально отличается от частных школ, мы не зарабатываем на людях.
Для меня Android Academy — это не только платформа, где люди могут научиться писать под Android. Мы, как преподаватели, находим для себя здесь много нового, готовясь к лекциям. Кажется, что тут сложного: взять программу, разбить её на лекции и рассказать? Но порой некоторые темы даже опытных разработчиков ставят в тупик.
Мне, например, досталась многопоточность, нужно было рассказать базовые вещи, но я никак не мог понять, как это правильно преподнести. В работе вроде всё ясно, а вот как донести другим — непонятно. На тему многопоточности вообще можно отдельный курс делать, потому что она глубокая и большая. В итоге я выбрал фундаментальный и более философский подход в объяснении материала, чем прикладной.
На сегодняшней лекции, мне кажется, в зале было немного людей, которым я рассказал принципиально что-то новое, они уже и до меня многое знали. Я просто поделился своим взглядом, и, мне кажется, мои слова дошли кому-то глубоко в сердце и даже что-то там застучало.
Вообще, я много участвую в общественной жизни, для меня Android — это не просто работа. Это что-то вроде хобби, которое слилось с работой. Чтобы быть хорошим разработчиком, приходится много чего делать. Жена порой взрывается, ей трудно это принять, но она понимает, что у меня горят глаза, и, если у меня это забрать, я буду как человек, который разучился ходить.
По мере карьерного роста деньги как мотиватор теряют своё значение, ты обеспечил себя, и на первый план выходят духовные ценности, хочется внести вклад в стоящий проект, начать строить космические корабли или хотя бы рассказывать про них.
Сертификатов по окончании курса мы не даём. А зачем? Я, например, бросил университет, у меня нет диплома. Иногда о нём спрашивают, но его отсутствие ни разу не было стоп-фактором на собеседовании.
Александр Коблов, ментор: «5-6 часов в неделю трачу на работу со студентами, в зачёт рабочего времени в Jira их не указываю»
Менторство — моя личная инициатива, и в зачёт рабочего времени в Jira я эти часы не указываю. При этом, в Gismart, где я работаю, очень положительно относятся к таким инициативам. У меня на менторство уходит около 5-6 часов в неделю. Где-то 4 часа — на лекцию + ответы на вопросы в конце лекции (это обычно самая интересная часть). Оставшиеся 1-2 часа — на ответы на вопросы в течение недели и код-ревью.
Стараюсь смотреть код ребят после лекций, так намного проще разобраться, в чём проблема. Очень запомнилось, как на первой лекции подошли ребята, показали приложение для продажи машин с 3D-моделью автомобиля и спросили, как это сделано. Пришлось лезть внутрь приложения и искать, как это реализовано на клиенте. Большинство вопросов довольно интересные и нетривиальные, иногда даже приходится дополнительно разбираться, чтобы ответить на них.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.