Developer iOS (Kaspersky Password Manager)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
О компании и команде
На данный момент мобильный штаб компании Kaspersky насчитывает более 150 человек и включает в себя Android- и iOS-разработчиков, отдел тестирования и менеджеров. Также с нами работают аналитики, дизайнеры, технические писатели, sales & marketing и другие. Команда iOS-разработчиков насчитывает около 30 человек.
О проекте:
Kaspersky Password Manager — это сервисный продукт, который позволяет удобно и безопасно хранить различные "чувствительные" данные, такие как пароли от сайтов и приложений, банковские карты, сканы документов и т.п. Продукт разрабатывается для всех основных ОС (iOS, Android, macOS и Windows) и синхронизирует данные пользователя между всеми его устройствами. Помимо хранения пользовательских данных, наш менеджер паролей позволяет генерировать стойкие пароли, а также предупреждает о скомпрометированных и небезопасных паролях.
Продукт был запущен в 2013 году и с тех пор активно развивается и пополняется новой функциональностью.
Стек:
- Основные языки: Swift, Objective-C;
- Основные фреймворки: UIKit, SwiftUI, AuthenticationServices, etc.;
- Многопоточность: NSOperation, GCD;
- Unit-тестирование: XCTest;
- UI-тестирование: XCUITest, собственная библиотека снятия скриншотов для лингвистического тестирования;
- Контроль качества кода: Code Style Guide, SwiftLint, Code Review;
- Система контроля версий: Git;
- Code Review: Azure Repos Pull Requests;
- СI&CD: Azure Build & Release Pipelines, собственные системы сборки и тестирования уровня компании, TestFlight;
- Аналитика: Firebase Analytics, AppsFlyer;
- Feature Toggling: Firebase Remote Config + собственные инструменты;
- A/B тестирование: Firebase A/B Testing + собственные инструменты;
- Подходы: RIBs, SOLID, Monorepo, Feature Toggling;
- Поддерживаемые версии iOS: 14+.
Ожидания от кандидата
- Опыт коммерческой разработки на языке Swift (знание Objective-C будет плюсом);
- Знания основных фреймворков iOS SDK (UIKit, Foundation);
- Знания в области проектировании архитектуры приложений;
- Уверенные навыки работы с многопоточностью;
- Понимание принципов построения пользовательского интерфейса в соответствии с Human Interface Guidelines.
Что НЕ обязательно для работы у нас:
- Быть специалистом в вирусах и антивирусах;
- Иметь знания в области информационной безопасности и криптографии;
- Заниматься реверс-инжинирингом, дизассемблированием и динамическим анализом приложений.
Условия работы
Что будет входить в ваши задачи:
- Написание кода приложения и unit-тестов;
- Участие в проектировании архитектуры;
- Ревью требований и макетов для новой функциональности;
- Взаимодействие с менеджерами, дизайнерами, аналитиками, тестировщиками, техническими писателями и смежными командами.