Рубрики
Без рубрики

Мой опыт работы с разработчиком Android Nanodegree

В прошлом году с марта по август я участвовал в программе Udacity для разработчиков Android Nanodegree и h… С тегами android, java, программирование, карьера.

В прошлом году с марта по август я участвовал в программе Udacity Android-разработчик Nanodegree и здесь я хочу поделиться своим опытом.

Первоначально я получил объявление на Facebook, чтобы подать заявку на стипендию, предлагаемую Google и Udacity для программы Nanodegree, которая обычно стоит ~ 900 евро. До этого я очень мало занимался разработкой Android, и хотя мне не особенно хотелось готовиться к карьере разработчика Android, я определенно был заинтересован в более тщательном изучении Android. Однако, как мы все знаем, очень трудно найти мотивацию для изучения новой технологии, не имея реального, серьезного проекта для создания. Следовательно, я подал заявку на стипендию, и мне повезло (спасибо Google и Udacity за эту возможность!).

Управление Временем

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

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

Структура

Эта специфическая программа нанодегрессии состояла из пяти основных разделов.

  1. Разработка приложений для Android
  2. Продвинутая Разработка приложений для Android
  3. Gradle для Android и Java
  4. Дизайн материалов для разработчиков Android
  5. Завершающий проект

Каждый раздел состоит из нескольких (1) видеоуроков , в которых разработчики Udacity объясняют концепции и выполняют живое кодирование. Между уроками есть (2) викторины для проверки ваших полученных знаний, однако, викторины обычно были довольно простыми и очевидными. В дополнение к этому, существует несколько (3) задач кодирования , которые требуют от вас практического применения недавно изученных концепций. Каждая задача кодирования начинается с незаконченного небольшого игрушечного приложения и списка задач, которые вы должны выполнить, чтобы завершить ее. Задачи довольно точно говорят вам, что нужно делать, так что иногда это не было действительно сложной задачей. Кроме того, вам вообще не нужно выполнять задачи по кодированию, если вы этого не хотите, потому что никто не проверяет ваши результаты. Но очевидно, что это имеет смысл делать, и это очень помогает для (4) проектного подхода в конце каждого раздела (иногда их несколько). Для этого проекта вам предлагается реализовать приложение с определенной функциональностью (например, менеджер рецептов приготовления пищи, менеджер коллекции фильмов, программа чтения RSS и т.д.). Обычно он начинается с необработанного каркаса приложения, который вы должны закончить – на этот раз без конкретных задач или инструкций. В конце вы отправляете свой код либо через репозиторий GitHub, либо в виде ZIP-файла, и наставник Audacity рассмотрит ваш код и даст вам полезные отзывы о функциональности, дизайне и стиле кода.

Вот три моих приложения для проектов в конце раздела:

  1. популярные-фильмы-android : Приложение для отображения информации о фильме, извлеченной из онлайн-базы данных фильмов. Основное внимание было уделено взаимодействию с внешним, сторонним веб-API.
  2. выпечка-время-android : Приложение для показа рецептов выпечки и инструкций. Основное внимание было уделено виджетам, адаптивному дизайну и интеграции видеоплеера.
  3. xyz-читалка-android : Базовое приложение для чтения текстовых статей. Основное внимание было уделено правильной реализации дизайна материалов, анимации и UX.

Сообщество

Наверное, самым лучшим во всем курсе было сообщество. Существует официальный канал Slack и форум, полный разработчиков-единомышленников буквально со всего мира, которые проходят через то же самое, что и вы. Люди задают вопросы, обсуждают определенные задачи или технологии в целом, и вы сразу же чувствуете себя чрезвычайно желанным гостем. Независимо от того, уверены ли вы в какой-либо задаче или не можете исправить определенную ошибку, есть люди, которые вам помогут. Кроме того, многие наставники Udacity тусуются на Slack и на форуме, а также оказывают поддержку, например, в форме еженедельных ИГРОВЫХ сессий. В дополнение к этому, каждому участнику курса назначается личный наставник, который является наставником aUdacity, с которым вы можете связаться напрямую, если у вас возникнут вопросы. На самом деле, я никогда не связывался со своими, но я уверен, что они готовы помочь.

Карьерный Рост

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

Проект “Краеугольный камень”

В самом конце курса есть так называемый Проект Capstone и это была самая забавная часть за весь Нанодегресс (а также самые большие усилия). Вам дается задание свободно реализовать любое приложение, которое вам нравится, с учетом некоторых требований, например, чтобы вы использовали по крайней мере три сторонние библиотеки, следовали рекомендациям по дизайну материалов, предоставляли виджет рабочего стола и еще несколько.

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

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

Я потратил около двух недель почти полного рабочего дня на разработку этого окончательного проекта и, наконец, создал свое приложение под названием QuizNerd. Он реализован на чистом Android (с использованием Java) без каких-либо структурных рамок (например, таких как Кинжал ) и использует Google Firebase в качестве серверной части. Точнее, я использовал аутентификацию Firebase для управления пользователями, Firestore как база данных документов в реальном времени, FCM для уведомлений и и Firebase Облачные функции как бессерверная платформа для внутренней логики.

Если вы разработчик, которому нравятся такие игры, как QuizClash , , Я бы хотел, чтобы ты попробовал себя в викторине Ботаник! Вы можете найти его в Игровом магазине

Это было весело! Я многому научился во время Нанодеревни и теперь с уверенностью называю себя разработчиком Android. Большинство концепций были объяснены очень подробно. Например, одной из моих любимых глав была глава о Gradle, где они точно объясняли, как работает Gradle, как писать собственные задачи Gradle и как применить это к Android.

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

Однако есть две вещи, которые я хотел бы критиковать. Во-первых, в настоящее время Java стремительно становится все менее популярной для разработки Android, в то время как Kotlin считается будущим. Многие профессиональные разработчики, с которыми я разговаривал, утверждают, что сегодня нет особого смысла начинать новый проект Android с Java вместо Kotlin, поэтому я хотел бы, чтобы Nandogree был основан на Kotlin, чтобы быть еще более надежным в будущем. Кроме того, де-факто стандартные фреймворки, такие как Dagger, не упоминались на протяжении всего курса, в то время как (на мой взгляд) менее полезные вещи, такие как виджет рабочего стола, были вытеснены Udacity. Возможно, это изменится в более новых версиях курса.

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

Тем не менее, я бы рекомендовал нанодегре Udacity всем, кто заинтересован в том, чтобы стать разработчиком Android. Получайте удовольствие!

РЕДАКТИРОВАТЬ: Не стесняйтесь бросить мне вызов в викторине “Ботаник”. Мой ник такой же, как здесь на dev.to .

Оригинал: “https://dev.to/n1try/quiznerd—my-experiences-with-the-android-developer-nanodegree-19h3”