Системный администратор: Каких Android-разработчиков охотно берут на работу?

Android-программисты очень востребованы сегодня, что немудрено: система занимает первое место среди мобильных ОС. По просьбе редакции журнала «Системный администратор» Олег Иванов, руководитель группы Android-разработки «Рексофт», рассказал, каким должен быть хороший Android-разработчик.

– Какими знаниями и навыками должен обладать Android-разработчик?

– Самый главный навык современного Android-разработчика заключается в умении адаптироваться под новые реалии. Если раньше Android-разработка велась в основном на Java, то сейчас главный язык – это Kotlin. То же самое происходит с библиотеками и подходами к разработке. Когда-то на проектах использовали такие шаблоны проектирования, как MVC (Model View Controller) и MVP (Model View Presenter), сейчас же большее предпочтение отдается MVI (Model View Intent) и MVVM (Model View View-Model). MVVM особенно поддерживает Google.

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

Также немаловажно разбираться в версиях Android, особенностях устройств различных производителей, в типах устройств (смартфоны, планшеты, TV, Android Auto и т. д.), размерах экранов и во многом другом.

В больших компаниях нужно уметь работать с многомодульными android-приложениями. Обычно выделяют app-модуль, core-модуль, различные feature-модули. Монолитные приложения сходят на нет.

Не стоит забывать про Soft Skills. Android-программист должен уметь работать в команде с другими разработчиками, общаться с дизайнерами, аналитиками, тестировщиками, предлагать качественные и аргументированные решения проблем, в общем – быть коммуникабельным. Уметь работать по методологии Scrum/Agile. Будет полезным знание английского – можно читать техническую литературу из первоисточника, быстрее находить ответы на форумах, появится возможность участвовать в иностранных проектах.

– Каков инструментарий Android-разработчика?

– Если говорить про инструментарий Android-разработчика, то главное – это библиотеки. Сейчас всё чаще ищут программистов со знанием Coroutines, которые пришли на смену RxJava, с навыками работы с View Binding и реже с Data Binding.

Необходимо уметь пользоваться механизмами внедрения зависимостей, самый популярный из которых Dagger. Никуда не уйти от библиотеки сетевого взаимодействия Retrofit и клиента для работы с базами данных – Room. Также в последнее время стало важно знать библиотеки навигации – такие как Navigation Architecture Component или Cicerone. Полезен опыт создания кастомных элементов разметки, знание многопоточности, опыт написания тестов.

– Каковы требования компании к уровню образования соискателей на эту позицию?

– Для соискателей желательно иметь профильное высшее техническое образование. Вообще, у программистов образование играет не такую большую роль, как у других профессий. Но я считаю, если вы хотите добиться определенных успехов в карьере – оно необходимо.

Профильное высшее образование дает хорошую базу, учит правильно мыслить, позволяет самому искать нужную информацию в книгах или Интернете. Обучаясь в университете или институте, вы будете понимать устройство компьютера (смартфон, по факту, это компактный компьютер), в частности устройство процессора или памяти, узнаете основные алгоритмы и структуры данных, познакомитесь с другими операционными системами, получите навыки работы с сетями, базами данных, научитесь программировать, улучшите свои знания математики. Хотя непосредственно мобильная разработка редко встречается в вузах. Из-за нехватки разработчиков в компаниях часто рассматриваются кандидаты без профильного высшего образование, но всё же приветствуется, чтобы за плечами был технический вуз.

Для начальных позиций подойдет среднее техническое образование и профильные курсы.

– Какие требования предъявляются к опыту работы?

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

– Есть ли особые требования, которые обусловлены спецификой деятельности компании?

– В «Рексофт» нет каких-либо общих специфических требований. Такие требования есть на конкретных проектах, куда компания планирует нанять разработчика. Например, где-то необходимо уметь работать с USB-устройствами, с камерой, где-то уметь отрисовывать объекты на карте, где-то нужен опыт работы с банковскими приложениями и т.

Источник: Системный администратор

Изображение: Unsplash

ЕЩЕ НОВОСТИ