Об Android из первых уст

Разработчики о разных аспектах выбора специализации «программист Android».
22 сентября 2015150479Юлия Фролова276318

По данным исследования, доля Android составляет более 80% рынка всех мобильных платформ. Означает ли это, что программисты Android сейчас востребованы или же, наоборот, говорит о непробивной конкуренции? В чем преимущества разработки под эту платформу? Чтобы во всем разобраться, мы поговорили с теми, кто знает ответы из собственного опыта.

Об актуальности, будущем и зарплате

Александр Сорокин, Команда ВКонтакте, в прошлом Senior Android Developer в NEMO TV:

Актуальность разработки мобильных приложений (как минимум, для Android) стала набирать обороты где-то с середины 2011 года. Сейчас уже сложно представить какой-либо веб-сервис или услугу без её "представительства" в мобильной среде, будь то нативное приложение, либо мобильная веб-версия.

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

В скором времени возможна тесная интеграция мобильных устройств с окружающим физическим миром. Я уже не раз слышал идеи сделать Wi-Fi геолокацию в торговых центрах или отслеживать маршрут покупателей в магазинах для анализа "потока покупателей", что позволит определить схему расстановки товаров. Возьмем в пример тот же Wi-Fi в Московском метро. Можно собрать аналитику, кто где входит и выходит и выдать подходящую рекламу. Да и как косвенная оценка трафика тоже вполне подойдет.

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

Но не стоит смотреть на моду, выбирая специализацию Android разработчика. Как по мне, это всего лишь дело вкуса. Так что, в первую очередь, подумайте, что Вам интересно и попробуйте себя в этом. Кому-то интересно писать action-игры для ПК и консолей, кому-то создавать f2p для мобильных девайсов, кому-то заниматься high-load проектами. Главное не быть заложником одного направления и иногда пробовать что-то создавать на других языках и технологиях. Это не только расширит кругозор, но и даст понять, что интересно, а что нет.

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

О нехватке рабочих рук и мощном инструментарии

Дмитрий Попов, Android-разработчик в Kaspersky Lab:

Только в некоторых ВУЗах в учебной программе появляются курсы разработки под мобильные платформы, повсеместно этому пока не учат. Отрасль стремительно развивается, при этом рабочих рук не хватает, она очень молода. Работодатели готовы предлагать хорошие условия, обеспечивать переезд между городами и странами, или же брать перспективных и заинтересованных в мобильной разработке студентов/вчерашних выпускников практически без опыта работы с небольшими базовыми познаниями, терпеливо давая время на профессиональное развитие.

Благодаря относительно недавнему появлению разработка под Android и iOS ведётся на мощных и современных языках программирования: Java, Objective C, Swift. Это удобный инструментарий. Если сравнивать, к примеру, Java EE и Android, то нет необходимости заниматься настройкой различных фреймворков, можно сразу творить.

О преимуществах по сравнению с другими платформами 

Александр Османов, Android-разработчик в Spotify:

С самого начала карьеры я интересовался технологиями от Google. До того, как перейти на Android, несколько лет занимался разработкой большого коммерческого проекта на тогда еще молодом Google Web Toolkit. Когда вышел Android, для меня не было большой проблемой освоить его - я уже был хорошо знаком с Java, осталось только заполучить устройство (эмулятор в те времена - это была боль). Конечно, по началу не было так много информации, готовых библиотек, примеров, как сейчас. Все знания собирались по крупицам, разработчики делились опытом внутри компании. Я писал и читал статьи на Хабре, много экспериментировал. Но это только разжигало интерес - очень хотелось научиться делать “крутые штуки”.Тогда же, сразу, начал писать свое приложение для музыкантов, первую версию которого через месяц опубликовал на Google Play, где оно до сих пор достаточно успешно для своей ниши, и уже имеет более современное приложение-“продолжение”.

У Android есть несколько преимуществ по сравнению с другими платформами. Во-первых, порог вхождения достаточно низок. Когда я начал разрабатывать под Android - я был студентом, у меня не было денег на покупку “мак-устройтв”, чтобы разрабатывать под iOS. Если вы знаете Java - вам будет достаточно просто начать разработку под Android. Все, что нужно было - скачать Java, скачать Eclipse (в те времена официальная IDE для Android), скачать SDK, и вперед. Эмулятор, конечно, был очень медленный, но и с ним можно было работать, если не было возможности купить устройство.

Во-вторых, сейчас у платформы огромное комьюнити. За последние несколько лет Google очень активно продвигает ОС, огромное количество материалов - документация, книги, подкасты, группы в соц. сетях где можно общаться с разработчиками платформы. В этом году мне посчастливилось побывать на Google IO, где можно лично задавать вопросы разработчикам и дизайнерам Google, а также общаться с ними в неформальной обстановке.

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

Также качество ОС очень выросло за эти годы. Google атакует проблемы со всех фронтов: project butter, project volta, project svelte, новая android runtime, новый язык дизайна. Сейчас, в Android Lollipop и Android Marshmallow все старые “претензии” к платформе: медленная, быстро сажает батарейку, страшный дизайн - уже давно перестали быть актуальными. Жалко, правда, что производители устройств не всегда поспевают за прогрессом.

В целом, мобильная разработка (не только под Android), на мой взгляд, предоставляет наибольшую возможность реализовать свои идеи. Подумайте только, для вас уже реализована система доставки Вашего продукта миллионам пользователей, для вас доступно огромное количество API, которые невозможно использовать, например, в веб-приложении: будь то локация, акселерометр, различные датчики, камера. Сейчас ваш телефон может сказать вам, когда вы идете, когда вы бежите, с какой скоростью вы бежите, куда вы забежали. Всю эту информацию можно комбинировать и использовать так, как позволит ваша фантазия и прямота рук.

Если говорить о собственном опыте, то большинство проектов, над которыми я работал - коммерческие, и я не могу разглашать деталей. Но, например, сейчас, в Spotify, над клиентом работает несколько десятков человек, распределенных по нескольким городам, как в Европе, так и в США. Раньше я никогда не работал с мобильными проектами такого масштаба. Это достаточно интересный опыт не только с точки зрения разработки, но и с точки зрения организации процесса: continuous integration, continuous delivery. Качество имеет огромное значение, поэтому у нас после каждого коммита прогоняются многочисленные статические проверки кода, тысячи тестов, свой inhouse фреймворк автоматического тестирования.

Также, кроме работы, в свободное время продолжаю разрабатывать свое приложение “Абсолютный Слух 2”, которое многие годы помогает музыкантам по всему миру. Это тоже интересный опыт - здесь и опыт разработки, и опыт поддержки, общение с пользователями. Мне пишут как новички, так и проф. музыканты: в основном просят реализовать или улучшить то или другое в приложении, сообщают об ошибках, а иногда и просто пишут, чтобы поблагодарить за приложение.

О впечатлениях от программирования под Android и iOS

Павел Вотяков, Технический директор "Work in progress":

Я разрабатывал больше под Android, но был опыт разработки и под iOS. Сначала пробовал на Objective-C, потом был проект на Swift. Скажу, что порог вхождения на iOS куда выше. Потому что нужен компьютер на Mac OS (Hackintosh подойдет), плюс аккаунт разработчика, который стоит 100$ в год. Помимо этого неподготовленному человеку Objective-C может показаться достаточно диким и неудобным. Swift конечно снижает порог, хоть и многие кричат, что не стоит использовать его в рабочих проектах. Разработка под Android заставляет учитывать множество особенностей версий, размеров и плотностей экранов. Хотя сейчас и на iOS стало достаточно разношерстных устройств. В общем выбирать платформу для разработки стоит только из личных взглядов. Я же вернулся к разработке на Android, потому, что когда я разрабатываю под Android, есть какое-то чувство, будто я занимаюсь творчеством. А когда кодил под iOS, казалось что просто пытаюсь выжить.

Хотите заняться разработкой под Android всерьез? Добро пожаловать на профессию «Программист Android».

Популярные статьи

Новые комментарии