Настоящее и будущее iOS-разработки
По данным портала Superjob в сфере информационных технологий наиболее востребованы iOS разработчики — те, кто создает программное обеспечение для устройств экосистемы Apple: iPhone, iPad и других. Среди таких специалистов встречаются совсем юные.
Студент МГТУ им. Баумана Шамиль Иманов занимается iOS-разработкой в «ВТБ» — банке, который в мире на 70-м месте по размеру капитала (The Banker Top 10 World Banks, июль 2020) и 35-м среди крупнейших эквайеров (Nilson Report, сентябрь 2020).
Сегодня Шамиль расскажет о том, что такое iOS-разработка, какие тенденции в ней отмечаются и как, еще не имея диплома о высшем образовании, войти в профессию.
- Шамиль, почему iOS-разработчики так востребованы?
- Думаю, потому что число пользователей Apple растет, а для каждого типа гаджетов нужно создавать много разных приложений, которые применяются людьми всего мира для облегчения повседневной жизни.
- Например, чем облегчают повседневную жизнь цифровые решения, разработанные под вашим руководством или при вашем участии?
- Одно приложение, которое создано мной во время стажировки в банке, помогает человеку найти ближайшие к нему банкоматы; кроме того, оно сохраняет список банкоматов, которыми он часто пользуется. Это полезно меняющим место жительства, тем, у кого разъездной характер работы, тем, кто много путешествует, и так далее.
Потом, когда меня взяли в штат банка, в Департамент технологического развития розничного бизнеса, стал заниматься iOS-разработкой группы сбережений и инвестиций Управления фронтальных решений розничного бизнеса. Здесь мы помогаем пользователям увеличивать капитал, который они зачисляют на накопительный счет, отслеживать прогресс, визуализировать успехи в достижении финансовых целей.
Еще мне понравился инклюзивный проект, над которым наша команда работала. Мы добавили в приложение функцию VoiceOver, которая позволяет программе проговаривать содержимое экрана. В разработке участвовали незрячие тестировщики. Такая функция дала людям, лишенным зрения, возможность пользоваться приложением, и я рад, что нам удалось что-то полезное сделать для них.
- «ВТБ» — это крупный банк не просто в масштабе России, а на уровне мира. Туда всегда серьезная конкуренция, даже на стажировку. Вы прошли отбор, являясь студентом. Сложно ли было участвовать в конкурсе?
- Такой отбор требует серьезной теоретической подготовки, но тем людям, кто обладает и практическим опытом, легче. Думаю, мне удалось выдержать конкуренцию, потому что целенаправленно выбрал специализацию и все силы тратил на свое профессиональное развитие. Еще в 2019 году, до начала пандемии ковида, посещал митапы iOS-разработчиков, где получал необходимый опыт, узнавал новое, перенимал опыт других. Во время пандемии все это перешло в онлайн-формат. Таким образом, в 2020 году я уже ориентировался в теме iOS-разработки и ряд вещей умел делать самостоятельно.
Еще, на мой взгляд, помогает опыт серьезных конкурсов. Я ранее участвовал в хакатоне IBM, поэтому при отборе на стажировки в банках волновался меньше.
- Вы в этом хакатоне IBM заняли призовое место. Можете рассказать, в чем была ценность вашего решения?
Да, конечно. Это был медицинский совместный хакатон IBM и Сеченовского университета: он касался диагностики сахарного диабета, онкологических, сердечно-сосудистых заболеваний, выявления факторов, продлевающих жизнь.
Участники должны были разработать концепцию проекта в одной из этих областей. Мы с командой взялись за обнаружение факторов активного долголетия. Суть идеи состояла в том, чтобы найти человека по некоторым атрибутам лица, замечу, исключительно визуальным: прическа, цвет глаз, форма лица и т.д. Мы хотели, чтобы пользователь даже мог в текстовом формате описать лицо человека, а программа формировала бы изображение. Такой проект актуален как в криминалистике, так и в некоторых областях медицины.
- Ваш случай, конечно, уникален: в студенческом возрасте нечасто становятся профессионалами с таким внушительным опытом. Что вам интересно изучать в сфере iOS-разработки в дальнейшем?
Стремлюсь больше заниматься техническими моментами в разработке приложения, которые визуально незаметны пользователю, но необходимы, чтобы работа в приложении приносила ему удовольствие. Также мне интересно улучшать технологии и процессы, чтобы сделать самую сложную часть разработки - создание новых функционалов в приложении - более удобной для программистов. Конечно же, по визуалу хотелось бы попробовать реализовывать какие-нибудь интересные нестандартные анимации и тому подобное, которые помогут больше изучать подкапотные возможности.
- Подкапотные - от слов «под капотом»? Автомобилестроением повеяло…
Да, это выражение по аналогии и возникло. Когда не едет авто, приходится «лезть под капот» и пытаться выявить неисправность. В нашей профессии подкапотными называются возможности, которых нет в базовых инструментах. В этом случае программисту приходится самому спускаться «на уровни вниз» и разрабатывать новые инструменты самостоятельно. Приведу грубый пример, понятный любому пользователю: допустим, вы купили ноутбук, он отлично работает. Однако вы захотели, чтобы клавиатура, когда на нее нажимают, подсвечивалась фиолетовым. Производители ноутбуков этого не предлагают. Вам нужно будет покупать маленькие лампочки, светящиеся фиолетовым, разбирать ноутбук («лезть под капот») и пытаться создать такую опцию самостоятельно.
- Вы уже давно в iOS-разработке: являясь опытным специалистом, какие тенденции в этой сфере вы можете выделить?
В первую очередь, конечно, язык программирования Swift 5.5, который недавно анонсировали на WWDC 2021. Это обновление привнесло много новшеств, самые большие из них связаны с механизмом параллельного выполнения задач.
Swift Evolution — это публичный репозиторий, где принимаются предложения по развитию и улучшению языка Swift. Так вот, впервые за все время большинство предложений Swift Evolution стали тесно связаны между собой. Наконец-то обновлена работа с параллелизмом, что давно хотели видеть разработчики.
Во-вторых, в iOS-разработку немало возможностей привносит машинное обучение. Например, в банке мы научили наше приложение считывать данные с банковской карты, когда пользователь наводит на нее камеру (использовали для этого технологии, называемые фреймворками Core ML и Vision). Это помогает автоматически добавить в приложение информацию карты.
В последнее время актуальнее и полезнее, чем физические накопители, становятся облачные хранилища (облака). Многие могли это заметить: когда, сделав фотографию на одном устройстве Apple, вы почти моментально можете открыть его на любом другом «эппловском» гаджете. Или, авторизовавшись в приложении на одном устройстве, вы заходите в это же приложение на другом гаджете, и не надо повторно вводить логин и пароль.
Отдельное направление инноваций — AR (дополненная реальность) и VR (виртуальная реальность). Наша команда в банке решила попробовать AR и сделала опцию проецирования данных о карте. Думаю, в этой области нас ждет много чего интересного.