На сегодняшний день, наши продукты ежемесячно используют более 600 тысяч пользователей платформы iOS и их количество постоянно увеличивается. Учитывая другие платформы – это число достигает нескольких миллионов.
Вам предстоит принять участие в развитии продукта Kaspersky Security Cloud и его компонентов.
Kaspersky Security Cloud - флагманский продукт компании на платформе iOS.
Основной стек технологий и подходов:
· Язык разработки: Swift;
· Основные фреймворки: UIKit, Foundation, StoreKit, CoreData, NetworkExtenstion, e.t.c.;
· Многопоточность: NSOperation, GCD;
· Unit Testing: XCTest;
· UI Testing: Собственная библиотека для автоматического снятия скриншотов, необходимых как для лингвистического тестирования, так и публикации в AppStore;
· Контроль качества кода: Coding Style Guide, SwiftLint, CodeReview, собственные инструменты анализа;
· Version Control: Git;
· Code Review: TFS Pull Requests;
· СI&CD: TFS build & release pipelines, собственные системы сборки и тестирования уровня компании, TestFlight, App Center;
· Analytics: Firebase Analytics, AppsFlyer;
· Feature Toggling: Firebase Remote Config + собственные инструменты;
· A/B Testing: Firebase A/B Testing + собственные инструменты;
· Philosophy: RIB, чистая архитектура, SOLID, Monorepo, feature-toggling;
· Task Tracker: TFS;
В ваши задачи будет входить:
· Написание кода приложения, документации, и Unit-тестов к нему;
· Участие в проектировании архитектуры;
· Взаимодействие с менеджерами, дизайнерами, аналитиками, тестировщиками, техническими писателями, смежными командами и др.;
Основные качества успешного кандидата:
· Опыт коммерческой разработки на языке Swift;
· Знания основных фреймворков iOS SDK (Foundation, UIKit);
· Знания в области проектировании архитектуры приложений;
· Уверенные навыки работы с многопоточностью;
· Понимание принципов построения пользовательского интерфейса в соответствии с Human Interface Guidelines;
Что НЕ обязательно для работы у нас:
· Быть специалистом в вирусах и антивирусах;
· Иметь знания в области информационной безопасности;
· Разбираться в криптографии;
· Заниматься реверс-инжинирингом, дизассемблированием и динамическим анализом приложений.
ВАЖНО: данная вакансия предполагает возможность удаленной работы.