Ответ
При выборе компании я оцениваю несколько ключевых технических и организационных аспектов:
1. Технологический стек и качество кода
- Использование современных фреймворков (SwiftUI, Combine, async/await).
- Архитектура (MVVM, VIPER, Clean Architecture).
- Наличие и качество процессов: код-ревью, CI/CD, покрытие unit- и UI-тестами.
2. Продукт и его развитие
- Работа над продуктом с понятной ценностью и долгосрочной перспективой.
- Возможность влиять на технические решения и архитектуру.
3. Команда и процессы
- Уровень экспертизы коллег, возможность менторства и обмена опытом.
- Зрелые процессы разработки (Agile/Scrum), планирование спринтов, ретроспективы.
- Баланс между разработкой новых фич и поддержкой/рефакторингом кодовой базы.
4. Условия работы
- Конкурентная компенсация, соответствующая уровню и рынку.
- Гибкий график, отсутствие регулярных переработок.
Пример красного флага: проект на устаревшем UIKit без автотестов, с ручным деплоем и постоянными «горящими» дедлайнами.
Итог: ищу проект, где смогу профессионально расти, применять лучшие практики и создавать качественный продукт.