Как стать автором
Обновить
137.05
Яндекс Практикум
Помогаем людям расти

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.5K

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

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

Почему это важно

Когда мы получаем знания из разных источников, будь то книги, видео на Youtube, курсы по разработке, Хабр и т.д., мы что-то понимаем и периодически даже запоминаем. Через пару дней информация вылетает из головы, а применить её уже через две недели на проекте будет совсем проблематично.

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

Через пару месяцев на реальном проекте, когда нужно подвинуть очередную кнопку на 2 пикселя влево или написать свой редактор фотографий, мы уже можем это реализовать. Благо в мире мобильной разработки у нас огромное количество возможностей для практики. Давайте разберёмся, что можно делать.

Пет-проекты

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

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

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

Окей, с сервером понятно, а как быть, если я не дизайнер, макеты сами себя не нарисуют? Рекомендую посмотреть в сторону открытых источников. Например, dribbble.com или behance.net — тут вы сможете найти огромное количество макетов, которые могут быть полезны в вашем пет-проекте.

Вроде бы звучит неплохо, с бэкендом разобрались, с дизайном тоже. А что делать, если идей нет, но попрактиковаться хочется? Рекомендую прибегнуть к способу, которым часто пользуются компании при составлении тестового задания для кандидатов, — найдите открытую API и попробуйте на основе данных придумать мобильное приложение! 

Например, можно сделать приложение, которое будет выводить всех героев «Звёздных войн». Ещё одна нестареющая классика — приложение, показывающее погоду. В сети доступно большое количество открытых API, поэтому, просто почитав их документацию, вы точно найдёте то, что вам будет интересно. 

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

Известные приложения

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

Хорошей практикой будет попробовать скопировать эти приложения (конечно, не всё целиком, например главный экран или какой-то пользовательский путь). Скорее всего, тут вы больше будете работать с UI, поэтому старайтесь выбрать что-то более сложное — нестандартные view, сложные анимации. Например, можно посмотреть в сторону Яндекс.Go, Uber; на приложения, связанные с медитацией или с изучением языков. 

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

Вклад в Open Source

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

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

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

Хакатоны

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

Тестовые задания

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

Часто, откликаясь на разные вакансии уровня стажер или junior, вы можете получить тестовое задание. Это тестовое задание – отличный способ попрактиковаться. Задачу уже придумают за вас, дадут разные материалы, возможно даже шаблон кода — то есть проведут всю подготовительную работу. 

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

Стажировки

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

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

Ещё добавляется и работа в команде, погружение в процессы разработки, новые знакомства! Рекомендую следить за стажировками на карьерных сайтах крупных компаний и в телеграм-каналах по мобильной разработке. 

Решение алгоритмических задач

Есть такая штука в мире разработки — алгоритмические задачи. Ими часто пренебрегают, а зря. Такие задачи помогут вам структурировать свои мысли во время решения разных проблем и изучить оптимальные способы этих решений. Пожалуй, самые популярные ресурсы — Leetcode и HackerRank.

Портфолио на Github

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


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

Теги:
Хабы:
Всего голосов 11: ↑9 и ↓2+9
Комментарии1

Публикации

Информация

Сайт
practicum.yandex.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
Ира Ко