- Android-разработчик: почему все ринулись изучать мобильную разработку и что на самом деле ждет новобранца
- Стоит ли идти в мобильную разработку
- Кому стоит идти в мобильную разработку
- Какие требования к «железу» для мобильной разработки и нужно ли знать английский
- Как выбрать курс и нужно ли учиться в университете
- Как перейти в мобильную разработку и стоит ли бросать работу
- Как пройти собеседование и найти работу
- Насколько легко в разработке и влияют ли кризисы
- 40+ полезных инструментов для разработчика приложений под Android
Android-разработчик: почему все ринулись изучать мобильную разработку и что на самом деле ждет новобранца
Количество мобильных устройств растет, люди все больше проводят времени с гаджетами. На данный момент у 66% населения планеты есть телефон, 89% из них — смартфоны.
Такое положение вызвало серьезный спрос на специалистов в сфере мобильной разработки. К тому же на фоне пандемий, актуальность еще больше увеличилась, ровно как и уровень ЗП таких специалистов.
Статистика пользования мобильными телефонами, соцсетями и интернетом в мире, Digital 2020
Многие украинцы также подумывают сменить свою профессию на Android- или iOS-разработчика, так как иностранные заказчики охотнее отдадут заказ нам, чем специалисту из Европы и США.
Всему причина — ценник за работы. В Украине он сравнительно ниже, а качество практически не уступает. И все бы ничего: и зарплата высокая, и стабильность, НО с чем на самом деле сталкивается новичок осваивая желанную профессию?
Владимир Анисимов — Mobile App Developer, Android-разработчик
Об этом честно согласился рассказать Владимир Анисимов — Mobile App Developer, практикующий Android-разработчик с более чем 4-летним опытом в кроссплатформенной разработке: Android, iOS, Web, Flutter. Владимир дал интервью и ответил на самые волнующие вопросы.
Стоит ли идти в мобильную разработку
Владимир, скажите: Почему все пошли в мобильную разработку?
Как и любая технология, мобильная разработка сначала не была массовой, но сейчас смартфоны становятся дешевле, и их количество растет.
Если сравнить стоимость мобильного телефона 7 лет назад и сегодня, то сегодня он стоит… скажем, как 15–20 кг мяса. Это не такие большие деньги — отсюда массовость.
Больше мобильных устройств — нужны приложения, отсюда спрос.
Действительно ли спрос такой большой или нас в этом пытаются убедить создатели курсов?
Спрос на мобильную разработку не раздутый, наоборот — неудовлетворенный.
Люди все больше пользуются мобильными телефонами, планшетами, умными часами, играют в игры, сидят в соцсетях. Кому-то все эти программы нужно писать. Поэтому спрос тут — реальный.
Почему выбирают именно мобильную разработку, в чем ее преимущество перед другими IT-специальностями?
Главное преимущество мобильной разработки — она находится в золотой середине по скорости изменений и сложности кода.
Для сравнения, в Web-разработку легко войти, задачи сравнительно несложные, но изменения происходят примерно каждые 2–3 месяца. Не изучили вовремя новые технологии — ваши знания устарели.
Если брать программирование на языках вроде Java и C# — нужно много думать, все логично, структурировано. Но стать таким специалистом непросто.
К тому же, технологии тут не меняются годами, а разработчик часто не видит конечного результата своей работы. Это может демотивировать разработчика, сделать работу скучной для него.
Мобильная разработка находится посредине.
Она сложнее Web-разработки, но не настолько, как C++, чистая Java, C#. При этом проекты не такие большие, чтобы устаревать. Мы находимся на пике технологий но они меняются не раз в 2 месяца, а, например, раз в год.
И вы сразу видите результаты своей работы — приложение на экране своего смартфона.
Что выбрать: Android или iOS?
Я бы не стал говорить, что одно лучше, другое — хуже.
Преимущество Android в том, что его используют в 70% устройств, значит, больше спрос.
Плюс, в iOS есть сложности на старте. Для разработки нужна техника Apple. Чтобы создать и поддерживать аккаунт разработчика, нужно платить примерно $100 в год.
Я бы рекомендовал начать с Android, а позже — доучиться разработке на iOS или кросс-платформенной разработке.
Кому стоит идти в мобильную разработку
Можно ли начать обучаться с 0, не имея опыта и технического образования?
Нужно. Найти свое место может даже гуманитарий: в работе с интерфейсом, дизайном. Конкретно меня некоторые клиенты ценят в том числе за то, что я могу кроме программирования сделать дизайн без привлечения еще одного специалиста-дизайнера.
На первых этапах, конечно, нужно прокачивать технический скил. Когда доходите до уровня Middle, возникает больше требований к гуманитарным вещам: структуре, взаимодействию с командой, поиску информации, креативным решениям.
Стоит ли переходить в мобильную разработку тем, кто уже в программировании?
Если человек выучил старый язык программирования, но понимает, что развития нет, тогда можно перейти, изучить современную технологию.
Когда вы — успешный IT-шник и вас тянет — тоже вперед.
Если текущая область IT приносит удовольствие и финансы, то нет смысла.
Какие требования к «железу» для мобильной разработки и нужно ли знать английский
Какие есть требования к «железу», чтобы разрабатывать мобильные приложения?
Для старта можно использовать компьютер с 4 ГБ оперативной памяти. Нужен будет любой телефон на Android, чтобы на нем запускать и отлаживать программу.
Средний уровень — это 8 ГБ оперативной памяти. В этом случае вы сможете работать с эмулятором, запускать программу на нем, и телефон на Android вам не понадобится.
Процессор рекомендую i3 или i5 любого поколения.
Нужно ли разработчику знать английский?
Если устраиваться в компанию — английский нужен.
Вся документация на английском, на английских ресурсах больше информации.
Второй фактор — нужно общаться с заказчиками, а хорошие заказчики — зарубежные заказчики.
Английский очень важен, но на первых этапах будет достаточно знать его на уровне чтения и перевода. Со временем, чтобы расти, надо будет доучивать.
Как выбрать курс и нужно ли учиться в университете
Насколько хорошо учат программистов в университете?
Мое отношение к университетскому образованию айтишников — среднее. Это не бесполезно, но после университета вы еще не готовы быть разработчиком.
За те 5 лет, которые вы будете учиться в университете, уже 2–3 раза изменятся технологии. Поэтому университет надо рассматривать, как базу, которая учит мыслить и дает фундамент. Потом надо будет доучиваться на курсах.
На что стоит смотреть при выборе курсов?
Я бы смотрел в первую очередь на программу. Второе — познакомился бы с человеком, который будет меня обучать, посмотрел, нравится он мне или нет.
На бренд я бы не рекомендовал смотреть. Есть крупные школы, которые ругают, есть маленькие — которые хвалят.
Что должно быть в курсе, чтобы человек вышел хорошим специалистом?
Должна быть основа, базовая теория, чтобы люди научились программировать в целом. Но обязательно должно быть много практики. Хорошо, если на курсе вы напишете конкретные программы, которые можно положить в портфолио.
Как перейти в мобильную разработку и стоит ли бросать работу
Как выглядит переход в мобильную разработку, какие сложности?
Я сам свитчер. До мобильной разработки преподавал в вузе по специальности, не связанной с программированием.
В какой-то момент решил попробовать. Начал учить Java для саморазвития. Через месяц задумался: куда можно применить знания.
Увидел возможность в Android-разработке. Начал ходить по компаниям, получать опыт, понимать, что от меня требуют и что я недоучил, учиться дальше.
Мой первый проект был волонтерским, я не получил за него денег. Но получил опыт, который у меня просили.
Было долго и не просто. Во время поиска первой работы я уже думал все бросить, но у меня была мотивация, было интересно.
Как можно было бы пройти этот путь эффективнее?
Если бы кто-то мне сказал: это учи, а это надо просто знать, я бы быстрее прогрессировал. Тогда учил все подряд.
Второй момент — важна поддержка, чтобы не бросить. Это необязательно наставник. Может быть друг, который занимается тем же.
Можно учиться параллельно с работой?
Не нужно бросать работу, пока вы еще не зарабатываете, как разработчик. Если вы решили переходить в разработку, нужно просто облегчить рабочий процесс.
На работе — просто выполнять обязанности и ничего сверх. Или найти временную работу, которая будет приносить деньги, чтобы вы могли год спокойно жить и учиться 2–4 часа в день.
Как пройти собеседование и найти работу
Насколько сейчас легко найти работу и стоит ли идти на фриланс?
Надо определиться, чего вы хотите. Если нравится фриланс, нужно идти на фриланс, но там хорошо зарабатывать сложнее. Если нравится в компании — идите в компанию.
Важно понимать, что путь не будет легким. Сначала нужно будет пройти толкучку: когда вы еще молодой специалист, вас много, надо попасть в компанию.
Тем не менее, находить работу становится легче. Если 3 года назад среди Junior’ов была бешеная конкуренция, то сейчас ее меньше. Работы становится больше, люди осмысленнее подходят к тому, хотят ли они стать разработчиками.
Сколько в среднем может уйти времени на поиск первой работы?
От начала обучения 1–1,5 года.
Нельзя играть в быструю: возьму отпуск на 4 месяца и стану программистом. Так не получится. Но если не бросать и заниматься этим, то где-то за год — реально.
Сколько может заработать разработчик мобильных приложений?
Junior — от $800 до $1500.
Не надо пугаться, что это мало. Junior — это не навсегда.
Уже через год можно стать Middle и получать $1500–3500
Senior получает от $5000 до $10 000.
Средняя зарплата Android-разработчика в Украине, по данным портала Work.ua
Как пройти собеседование и получить работу?
На собеседовании смотрят на 3 вещи:
навыки в программировании: на первом этапе важно не ответить на все вопросы, главное — показать, что знания есть;
знание английского: на Junior английский можно знать не в идеале, на старшие позиции он нужен;
психология: если вы супер-программист, хорошо по-английски говорите и понимаете, но на собеседовании видят, что вы конфликтный — ваши шансы уменьшаются.
А чтобы выбрать хорошую компанию, смотрите, как с вами общаются. Если спрашивают, как вы относитесь к переработкам, то с высокой вероятностью они будут.
Насколько легко в разработке и влияют ли кризисы
Получится ли работать удаленно и путешествовать? Правдива ли философия свободной жизни?
Можно работать в путешествиях, отдыхать, работать с Бали. Но люди видят только позитив. Они не думают о том, что на пляже фото красивое получается, а интернет может быть так себе.
Это больше миф о том, что можно сидеть не напрягаясь на пляже или в ресторане. График будет более свободный, вы сможете выходить работать в другие места, работать параллельно с отдыхом, брать заказы или не брать, но не постоянно.
Насколько программирование подвержено кризисам? Можно сказать, что эта сфера — стабильное плато?
Практика показывает, что эта отрасль действительно стабильная. Коронавирус даже в некоторой степени помог нам.
В целом, сфера IT не пострадала, а может даже и выросла.
Когда пришел коронавирус, начался локдаун — люди начали больше проводить времени с телефонами и планшетами. Программы для них создают разработчики. Поэтому на них был большой спрос.
Какое напутственное слово можете сказать тем, кто собирается в мобильную разработку?
Когда вы думаете, хотите или не хотите идти, попробуйте написать что-то на любом языке программирования. Если плохо от этого не стало, тогда идите.
Второе — если решили идти, не ждите быстрого эффекта. Работайте спокойно, планомерно, запаситесь терпением — тогда все получится.
Третье — не мотивируйте себя только деньгами. Если вам нравится еще что-то: проект, формат работы, сфера и плюс деньги, тогда хорошо.
А так — в любом случае нужно развиваться. Пробуйте, если вам это интересно.
Источник
40+ полезных инструментов для разработчика приложений под Android
Для выхода на мобильный рынок не нужно тратить тысячи долларов и месяцы работы. Для создания приложения для собственного бизнеса, продукта или услуги вам нужно лишь знать Java и найти подходящие инструменты. Сейчас таких инструментов уже тысячи. Мы попытались составить из них набор, необходимый для разработки, тестирования, монетизации, анализа и улучшения приложений.
Некоторые приложения требуют покупки для использования всех расширенных возможностей.
Расширение для Firefox, которое позволяет просматривать JSON в браузере. Документ выглядит отформатированным, есть подсветка и можно сворачивать и раскрывать объекты и массивы.
Набор интерфейсов, в который входят и файлы для фотошопа. Главное меню, клавиатура, панель статуса, браузер, слайдер, список контактов, и т.д. и т.п.
39. XAppDbg
developer.sonymobile.com/knowledge-base/tools/xappdbg
XAppDbg инструмент разработки, позволяющий менять параметры кода во время исполнения программы.
38. Android Holo Colors Generator
android-holo-colors.com
Позволяет создавать красивые компоненты интерфейса с настройкой цвета. Автоматически генерит картинки, патчи, XML и стили, которые можно сразу копировать в проект.
Позволяет создать красивый action bar в стиле вашего приложения. Автоматически генерит картинки, патчи, XML и стили, которые можно сразу копировать в проект.
Создание сценариев для тестов, для последующей записи и воспроизведения. Доступ к 120 настоящим Android-устройствам прямо из браузера. Автоматическая регистрация ошибок (security exception, illegal state, null pointer).
Генератор приложений для малого бизнеса. Можно выбрать готовый шаблон или начать с нуля. Можно разработать и внедрить, без единой строки кода, стильные приложения с разными функциями. После этого можно опубликовать приложение и отслеживать по нему различную статистику.
Splunk отслеживает быстродействие и использование приложений. Информация об ошибках, событийная аналитика, транзакции и отчёты по отслеживанию сети.
Бесплатно для приложений с ежемесячным количеством пользователей не более 1000
Инструмент для тестирования – организовывайте, выполняйте, контролируйте и наблюдайте за процессом бета-тестирования. Редактирование ошибок в приложениях, распределение приложений over-the-air (OTA), интеграция с внешними системами багтрекинга.
Бесплатно до 5 пользователей
Превращает XML в набор из деклараций.
Позволяет создать имитацию бэкенда для разработки фронтэнда. Требуется JavaScript фреймворк или мобильное окружение для разработки. Его могут одновременно использовать разработчики, работающие и над клиентом, и над сервисами.
SEO для мобильных приложений. Предлагаются ключевые слова на основе релевантности, сложности и поискового объёма. Отслеживается положение в поисковой выдаче по ключевым словам.
Бесплатно для отслеживания до 10 приложений.
Статический и виртуальный анализ, просмотр архитектуры приложения, зависимостей, ссылок на API и дизассемблер. Изучение пакетов, классов, методов, файлов, декодирование XML-файлов и редактирование APK.
Комбинирует графический git-клиент и agile-планирование, отслеживание ошибок, обзоры кода и другие инструменты. Интегрируется с CloudForge, TeamForge, Jira, BugZilla, GitHub и другими.
Oracle Push Cloud Service платформа уведомлений энтерпрайз-уровня. Предоставляет SDK, API и панель для работы через веб, для юзер-таргетинга на основе геотаргетинга, предпочтений и параметров устройств.
LiveCode простой высокоуровневый язык для разработки приложений под Android и iOS. Можно создавать функциональные рабочие прототипы. Сервис содержит обучающие материалы.
Платформа для публикации приложений, помогающая создать и поддерживать ваше присутствие на всех популярных мобильных устройствах. Графика, изображения, видео, аудио, взаимодействие и возможности монетизации для размещения в приложениях подписок, купонов, рекламы и т.д.
Платформа тестирования. Отзывы от тестеров и пользователей. Сообщения об ошибках, отказах и прочем. Тестерам автоматически передаётся последний билд приложения.
Веб-хостинг для приложений, использующих git или mercurial. Работа в команде, пул-реквесты, обзор кода и приватные репозитории.
Бесплатно для 5 пользователей.
Генерирует из одной картинки начальный экран, иконки и дефолтную графику. Создаёт нужную структуру каталога.
Создание иконок из клипартов, текста и картинок.
Гибкое и простое окружение для создания уведомленческих компаний, которые обращаются к пользователю в нужное время в нужном месте. Таргетинг возможен согласно правилам бизнеса, поведению пользователей, и текущей сегментации пользователей.
Распределяет выполнение тестов и показывает результаты в удобном виде. Можно посмотреть результаты каждого теста на одном устройстве и суммарные результаты одного теста на разных устройствах.
Создание мобильных и веб-приложений через HTML5 и JavaScript. Более 70 jQuery виджетов для интерфейса. Поддержка интеграции с AngularJS, Bootstrap и оффлайновым хранением данных.
Анализатор безопасности приложения. Использует технологию Hailstorm для анализа и поиска уязвимостей в критичных местах – механизмы аутентификации, сессии и шифрование.
Использует фреймворк PhoneGap для создания приложений со стандартным веб-API для нужных платформ. Приложения создаются при помощи JavaScript, HTML и CSS.
Облачный сервис обмена сообщениями для приложений реального времени. Можно отправлять сообщения о событиях и получать их через специальный API.
Бесплатно для объёмов до 1 миллиона сообщений в месяц.
Платформа для создания веб-приложений и нативных Android-приложений. Способна поддерживать любые приложения, от малых до больших. Можно добавлять фотки, видео, аудио, документы, и для всего есть категории и подкатегории.
JavaScript + HTML фреймворк и инструменты, предназначенные для создания приложений, ориентированных на сенсорные экраны. Прототипирование приложений, редактор кода и интерактивные графики.
Веб-сервис для наблюдения и измерения CRM, управления пользователями, анализа и многого другого. Персонализация приложений для пользователь.
Простая и мощная система для создания мобильных приложений без необходимости писать код. Интерфейс drag&drop, CMS, аналитика, монетизация и инструменты для паблишинга.
Веб-сервис для прототипирования мобильных приложений. Более 3500 виджетов для мобильных телефонов, планшетов и носимых гаджетов. Загрузка своих картинок. Превью и тестирование мокапов прямо в браузере и возможность показа прототипов третьим лицам (клиентам).
Облачная платформа для создания, публикации и анализа мобильных приложений. Приложения пишутся на JavaScript. Прототипирование, оптимизация кода, автоматическое тестирование.
Создание приложений при помощи CSS, HTML и JavaScript. При помощи фирменного приложения можно вести разработку на компьютере и мгновенно наблюдать результаты изменений на устройстве. Приложение компилируется в облаке. Открытый исходный код.
Создание интерактивных прототипов без необходимости писать код. Тестирование прототипов на устройствах – анимация, интерактив и поддержка жестов.
CMS для создания настраиваемых приложений и их обновления в реальном времени. Поддержка рекламных компаний с геотаргетингом, анализом пользователей, пуш-уведомлениями и проч.
Платформа для создания многоплатформенных приложений.
Создание API. Прототипирование API, совместная разработка, встроенные примеры кода, автоматическое создание документации, отладка и автоматическое тестирование.
Простая система создания игр, включающая физический движок. Можно создать и протестировать игру без необходимости писать код. Интерфейс drag&drop. Аналитика быстродействия игры.
Быстрый способ создать мобильное приложение через drag&drop, без необходимости писать код. Добавление фоток, видео, карт, интеграция соцсетей.
Эмулятор Android с поддержкой различных уровней API, работает с Android Studio, использует визуализацию архитектуры x86 и содержит 20 предварительно настроенных устройств. Бесплатно для персонального использования.
Источник