← Назад к вопросам

Какие плюсы и минусы прошлого места работы?

1.3 Junior🔥 101 комментариев
#Soft Skills и карьера

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Плюсы и минусы прошлого места работы

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

Основные преимущества

Технологическая экспертиза и современные подходы:

  • Компания активно инвестировала в iOS ecosystem: SwiftUI, Combine, современные архитектуры (микросервисы на бэкенде, модульные приложения на фронте). Это позволило работать с кодом, который выглядит как "living documentation" из официальных туториалов Apple.
// Пример: использование современного подхода с SwiftUI и Combine
struct UserProfileView: View {
    @StateObject private var viewModel = UserProfileViewModel()
    
    var body: some View {
        VStack {
            AsyncImage(url: viewModel.avatarURL)
                .frame(width: 100, height: 100)
            Text(viewModel.username)
                .font(.headline)
        }
        .task {
            await viewModel.loadData()
        }
    }
}

Процессы разработки и инфраструктура:

  • CI/CD был настроен практически идеально: автотесты на каждом коммите, быстрые билды на нескольких машинах, автоматическое распределение сборок по тестовым устройствам. Это резко сокращало цикл "code → review → deploy".
  • Система code review была обязательной и глубокой, с участием архитекторов. Это не только улучшало код, но и создавало постоянный поток знаний внутри команды.

Команда и карьерный рост:

  • Наличие техлидов и principal engineers, которые выступали как внутренние консультанты. Регулярные внутренние мастер-классы по темам типа "Advanced Memory Management in Swift" или "UIKit vs SwiftUI performance deep dive".
  • Четкая карьерная матрица с понятными ожиданиями для каждого уровня (Junior, Middle, Senior, Lead).

Основные проблемы и ограничения

Бюрократия и скорость принятия решений:

  • Процесс внедрения новых технологий (например, переход на новый фреймворк или даже обновление минимальной версии iOS) требовал согласования с 5-7 департаментами. Это приводило к ситуациям, когда технически обоснованное решение "зависало" месяцами.
  • Междепартаментные конфликты: например, команда мобильной разработки и команда бэкенда часто имели разные приоритеты, что создавало "задержки на границах".

Перегруженность legacy и технический долг:

  • Присутствовали крупные модули, написанные на Objective-C, с минимальной документацией. Их рефакторинг постоянно откладывался из-за давления по новым фичам.
// Пример legacy-кода, который создавал проблемы
@interface OldPaymentProcessor : NSObject
@property (nonatomic, strong) NSMutableDictionary *paymentState; // Weak typing, manual memory management
- (void)processPaymentWithCompletion:(void (^)(BOOL, NSError *))completion; // Несовместимо с современными async/await подходами
@end

Баланс между инновациями и стабильностью:

  • Компания часто колебалась между "мы должны экспериментировать с новыми iOS features сразу" и "мы должны обеспечивать 99.99% стабильности для наших пользователей". Это создавало внутренние противоречия в требованиях к код-ревью и тестированию.

Сбалансированный вывод

Это место работы дало мне глубокий опыт в масштабировании iOS приложений, управлении техническим долгом и работе в межфункциональных командах. Однако оно также четко показало, как организационные барьеры могут замедлять даже технически продвинутую команду. Идеальным следующим шагом для меня будет компания, которая сохраняет технологическую продвинутость, но имеет более гибкие процессы и меньшую бюрократическую нагрузку.

Какие плюсы и минусы прошлого места работы? | PrepBro