Написать пост

Советы начинающим мобильным разработчикам от опытных коллег

Логотип компании Яндекс Практикум

Какой подход лучше выбрать на старте обучения? Как эффективнее применять теорию на практике? Когда начинать искать первую работу?

Какой подход лучше выбрать на старте обучения? Как эффективнее применять теорию на практике? Когда начинать искать первую работу?

На эти вопросы ответили наставники и авторы курсов «iOS-разработчик» и «Android-разработчик» Яндекс Практикума.

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

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

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

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

И если бы я вернулась в прошлое, то обязательно потратила больше времени на изучение языка программирования, на котором пишу. Когда я только начала погружение в Android, я довольно поверхностно познакомилась с синтаксисом и основами Java — посчитала, что этого будет достаточно. В результате у меня остались пробелы в знаниях, которые делали мой код громоздким и неповоротливым.

Как правила, основ Java достаточно для того, чтобы начать писать первое приложение самостоятельно. Но всем, кто начинает изучать мобильную разработку, я хочу дать совет: поглубже погрузитесь в изучение языка программирования, который вы собираетесь использовать.

Всегда помните: ошибки неизбежны, они — нормальная часть процесса обучения. Поэтому я не стану советовать их избегать ?

Если бы я вернулся в прошлое и снова оказался перед задачей научиться мобильной разработке, я купил бы курс, где всё рассказывают от А до Я. Нашёл бы роадмап iOS-разработчика, купил всю необходимую литературу.

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

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

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

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

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

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

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

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

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

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

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

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

Также я часто учился больше восьми часов в день без выходных. Это тоже не лучшая идея: через пару недель в таком темпе я ощутил сильную усталость и выгорание. Поэтому не забывайте заботиться о себе!

Следите за новыми постами
Следите за новыми постами по любимым темам
2К открытий2К показов