Никаких записей курсов — только живое общение
Курсы
Наши курсы
Программирование
TeachMeSkills в Ютубе
Здесь мы публикуем годный контент, подробные разборы и практический опыт учителей
Мобильная разработка предполагает создание приложений или программ не только для смартфонов и планшетов, но и для смарт-часов, научных аппаратов, компонентов интернета вещей, кассовых аппаратов, банкоматов и других самых разнообразных гаджетов.
Карина Старкова
Редактор новостей об образовании
Пока количество мобильных пользователей продолжает расти (сейчас это почти 70% людей в мире), а бизнес желает буквально находиться в руках своих клиентов — профессия мобильного разработчика будет востребована.
Некоторые из основных направлений деятельности разработчиков:
Как можно видеть, работы много, так как приложение недостаточно просто сделать, его еще нужно поддерживать и регулярно обновлять — а сам процесс разработки включает детальное проектирование, создание сложной архитектуры и т.д.
Мобильную разработку делят на нативную и кроссплатформенную.
Ключевая разница заключается в том, что нативные программы создают под определенную операционную систему: iOS или Android. А кроссплатформенная предназначена сразу для нескольких платформ.
Возникает логичный вопрос — актуальна ли вообще нативная разработка? Ведь для бизнеса быстрее и дешевле реализовывать проекты в рамках кроссплатформенной разработки.
Ответ: актуальна.
Чем сложнее, популярнее (много пользователей), «тяжелее» или уникальнее приложение, тем выше вероятность в необходимости нативной части.
Поэтому все три направления востребованы на рынке — и вам нужно только выбрать, какое из них ближе.
— Говоря о недостатках кроссплатформенности и Flutter, часто отмечают не самое развитое комьюнити. Это так? И если так, как ты с этим справляешься?
— Здесь я не соглашусь, пожалуй. Flutter — довольно молодая технология, но очень быстро набравшая популярность. Поэтому и комьюнити очень быстро выросло. Я занимаюсь разработкой на Flutter примерно 3.5 года и не могу вспомнить такого, чтобы я не мог найти ответы на какие-то вопросы по флаттеру. Довольно много есть различных библиотек для Dart (язык программирования, созданный компанией Google) и Flutter, которые разрабатываются и поддерживаются комьюнити, — делится своим опытом Александр Шинкевич, преподаватель курса Мобильный разработчик на Flutter в TMS.
Рассмотрим требования hard skills, которые выдвигают компании для джуниор-разработчиков в 2023 году.
Для iOS-разработки это:
— Что бы ты посоветовал почитать ребятам до курсов? Возможно, это какие-то книги или просто статьи на определенные темы, которые облегчат процесс обучения?
— Вообще чтение каких-то книг по iOS-разработке перед курсом, тем более с разнящимся планом, может только помешать обучению и навести в голове кашу у неподготовленного ученика, поэтому я рекомендую начинать с чего-то общего.
Если есть небольшой опыт в технических специальностях, может подойти книга «Совершенный код» Стива Макконнелла. В начале книги есть сноска о том, как правильно ее читать. Но если коротко, то для начинающих программистов подойдет система перехода к следующей главе как только в текущей становится что-то непонятно. Знания из этой книги универсальны практически для любой программной специальности и любого языка, поэтому можно заглянуть в книгу даже до выбора конкретного курса, чтобы оценить свои силы и примерно понимать, с чем придется столкнуться во время обучения.
Если это для вас слишком сложно и непонятно, есть книжка про Swift с документацией от разработчиков Apple, называется «Swift Programming Language». Перевод на русский язык можно найти здесь. В этой книжке просто расписаны все основные инструменты языка с документацией к использованию. Достаточно сухая книжка с прямыми инструкциями, но все еще сильно отличается в сторону дружелюбности к начинающим разработчикам относительно документаций других языков. Тут есть много практики с примерами аналогий разработки и подходов из реальной жизни.
Читать советую также, как и совершенный код. Как только перестаете понимать, переходите к следующей теме. Каждая следующая тема, скорее всего, при первом прочтении кончится для вас раньше предыдущей, и это нормально, — советует Юрий Возлеев, преподаватель на курсе iOS разработчик в TMS.
Для джуниор Android-разработчика требования в основном следующие:
— Какая часть на курсе дается ребятам сложнее всего и ты советовала бы обратить на нее особенное внимание? Возможно, почитать что-то заранее.
— Тут есть два сложных момента:
- Когда ребятам надо перейти с java на kotlin, в kotline есть много синтаксического сахара, который лучше заранее разобрать. То есть студенты, которые приходят со знаниями kotlina, им проще разбираться — и есть больше времени изучать Android.
- Последние темы по фоновой работе и реактивному программированию. На этом этапе уже накапливается много тем, и если остаются какие-то вопросы с прошлых лекций, то ребятам трудно. Поэтому так важно задавать вопросы.
Если студент всё делает вовремя, сложностей не возникает, — рассказывает Виолетта Замана, преподаватель курса Android разработчик в TMS.
И требования для джуниор-разработчиков кроссплатформенных приложений:
— Это единственный курс по мобильной разработке, где требуется бэкграунд. Почему?
— Помимо Flutter, мы еще учим язык Dart. Маловероятно, что найдутся те, кто знает Dart, но не знает Flutter, потому что эти 2 вещи по отдельности не живут. Новичку за 3 месяца такой объем освоить нереально, — объясняет Александр, преподаватель курса Мобильный разработчик на Flutter.
Есть и общие требования ко всем трем направлениям:
Подробнее о дипломном проекте будущих iOS-разработчиков рассказал Юрий, один из преподавателей курса:
Проекты, указанные на сайте, это примеры приложений, которые могут быть сделаны на курсе.
Долгое время у нас не было никакой стандартизации по проектам, и каждый преподаватель делал несколько различных приложений со своими студентами. Сейчас мы планируем описать несколько конкретных приложений с определенными критериями и используемыми технологиями, чтобы все студенты создавали проекты, схожие по технологиям и функционалу.
В рамках одного потока приложения на данный момент одинаковые по общей сути, но как правило с разным дизайном, иногда с разными подходами, в среднем это от 3 до 5 полноценных приложений.
К дипломному проекту до недавнего времени тоже был достаточно размытый подход, каждый преподаватель выставлял обязательные темы для диплома, будь то автоматическое тестирование или работа с сервером и базой данных.
По поводу групповых и индивидуальных проектов тоже было на усмотрение преподавателей. Я обычно не против групповых проектов, но больше поддерживаю индивидуальные, так как в групповом делятся обязанности между студентами, и кто-то может плохо усвоить одну из критически важных тем.
Совсем недавно немного обновился подход к дипломным проектам, теперь они оцениваются по общим критериям в системе «уровня готовности». Понятно, что ни одно приложение нельзя считать готовым на 100%, всегда есть что добавить, куда расти и где можно улучшить и ускорить работу.
Для примера можем взять браузер Chrome, которому далеко за 10 лет, над которым работает огромная команда разработчиков, — и он все еще постоянно обновляется, улучшается и получает новый функционал. Даже приложение калькулятора немного обновляется с каждой версией iOS.
Поэтому мы собрали набор тем и критериев для дипломных проектов среди всех преподавателей и оцениваем относительный процент готовности по каждому из пунктов. На основе этих данных уже работает карьерный центр TMS.
По итогу дипломного проекта в нашем понимании у студента должно получиться индивидуальное приложение, которое сделано не на основе какого-то курса или видео, а является плодом деятельности исключительно одного или группы студентов-выпускников. Такой проект, как правило, должен удовлетворять критериям Apple для публикации в AppStore — одним из которых в вольном переводе является что-то вроде «приложение должно нести пользу».
Soft skills
Пожелания компаний здесь можно объединить для всех разработчиков в целом, вне зависимости от стека технологий:
— Насколько важны софт скиллы? Особенно для новичка. Например, кого вероятнее возьмут на работу — человека, хорошо и уверенно освоившего нужный стек, но с которым сложновато общаться, или человека, который чуть менее уверен в технической части, но отлично общается, открытый и т.д.
— Софт скиллы важны всем разработчикам, не только на старших позициях. От джуна ждут, что он будет быстро расти в уровне, а для этого надо уметь четко и понятно излагать свои мысли, задавать понятные вопросы.
Сейчас, когда вся коммуникация в онлайне, крайне необходимо уметь вести диалог в письменной форме. Хард скиллы у джуна сложно оценить, нет коммерческого опыта, поэтому скорее всего возьмут человека у которого лучше софт скиллы, — отмечает важность софт скиллов Виолетта.
В TeachMeSkills мы обучаем профессиям:
Что касается заработной платы, то средние значения по рынку следующие:
Понятно, что многое зависит от ваших навыков, особенно в начале пути. Будьте открыты в первую очередь для получения нового опыта. А уже имея хорошее портфолио за плечами, продать себя как специалиста будет не так трудно.
Есть некоторые технические моменты — и их стоит сразу учесть. Например, для обучения iOS-разработке вам потребуется компьютер на MacOS.
В остальном, опирайтесь на свои личные предпочтения. Посмотрите вакансии, которые наиболее популярны. Или обратитесь к менеджерам TeachMeSkills, которые помогут вам определиться.
“ Плюс, спустя время после получения коммерческого опыта, вы всегда можете освоить другую платформу (или кроссплатформу). Вам уже будет намного легче — и ценность в глазах работодателей будет выше.
Android разработчик
Программа курса программирования на Андроид составлена практикующими Android разработчиками для новичков в Android разработке на основе требований IT компаний.