Ilya Brin - Software Engineer

History is written by its contributors

Российский IT-менеджмент: особенности национального тимлидинга

2025-05-11 5 min read Management Ilya Brin

Управление IT-командой в России — это не просто перевод западных практик. Это уникальный микс советского наследия, постсоветской адаптации и современных подходов. Разберём, что работает, а что нет.

Культурный контекст

Иерархия vs Равенство

Западный подход: плоская структура, все на “ты”, CEO доступен Российская реальность: уважение к иерархии, но неформальность в команде

// Западный стиль
type Team struct {
    Members []Developer // Все равны
}

// Российский стиль
type Team struct {
    Lead    Developer
    Seniors []Developer
    Middles []Developer
    Juniors []Developer
}

Почему так: советское наследие + уважение к опыту. Работает, если не превращается в бюрократию.

Прямота vs Дипломатия

Российские разработчики ценят прямоту:

Западный фидбек: "This is interesting, but have you considered..."
Российский фидбек: "Это не работает, потому что..."

Плюсы: быстрее решаем проблемы Минусы: можно задеть чувства

Мотивация

Деньги

В России деньги — главный мотиватор:

type Motivation struct {
    Salary      float64 // 70% важности
    Growth      float64 // 15%
    Mission     float64 // 10%
    Perks       float64 // 5%
}

На Западе распределение более равномерное. Почему:

  • Нестабильная экономика
  • Высокая инфляция
  • Отсутствие социальных гарантий

Практика: пересмотр зарплат каждые 6 месяцев, а не год.

Технический рост

Российские разработчики хотят расти технически, а не управленчески:

type CareerPath struct {
    Technical   bool // 80% выбирают
    Managerial  bool // 20% выбирают
}

Решение: создавайте technical track с зарплатами как у менеджеров.

Коммуникация

Митинги

Российские разработчики не любят митинги:

func OptimalMeetingDuration() time.Duration {
    return 30 * time.Minute // Максимум
}

func MeetingsPerWeek() int {
    return 3 // Больше — бунт
}

Почему: ценят время на код, не на разговоры.

Практика:

  • Асинхронная коммуникация в Slack/Telegram
  • Митинги только с чёткой повесткой
  • Записывайте решения письменно

Обратная связь

Российские разработчики ждут честной обратной связи:

type Feedback struct {
    Positive string // Кратко
    Negative string // Подробно с примерами
    Action   string // Конкретные шаги
}

Не работает: “сэндвич” (позитив-негатив-позитив) Работает: прямо говорить о проблемах с решениями

Процессы

Agile по-русски

Западный Agile в России не приживается:

// Не работает
type WesternAgile struct {
    DailyStandup    bool // 15 минут каждый день
    SprintPlanning  bool // 4 часа
    Retrospective   bool // 2 часа
}

// Работает
type RussianAgile struct {
    AsyncUpdates    bool // В Slack
    QuickPlanning   bool // 1 час
    ShortRetro      bool // 30 минут
}

Почему: меньше формализма, больше результата.

Документация

Российские разработчики не любят писать документацию:

type Documentation struct {
    Code     bool // Да
    Comments bool // Минимум
    Wiki     bool // Нет
    ADR      bool // Что это?
}

Решение:

  • Документация как код (Markdown в репозитории)
  • Code review включает проверку комментариев
  • Автогенерация документации где возможно

Найм

Собеседования

Российские собеседования — это технический экзамен:

type Interview struct {
    Algorithms  bool // Обязательно
    SystemDesign bool // Обязательно
    Coding      bool // Live coding
    Behavioral  bool // 10 минут в конце
}

На Западе больше фокус на soft skills и культурное соответствие.

Баланс: 70% техника, 30% софт скиллы.

Оффер

Российские кандидаты торгуются:

func MakeOffer(expected float64) float64 {
    initial := expected * 0.85 // Начинаем ниже
    // Ожидаем контроффер
    return initial
}

Это нормально. Не обижайтесь, торгуйтесь.

Удержание

Контроффер

В России контроффер от текущего работодателя — норма:

type Resignation struct {
    Notice      time.Duration // 2 недели
    Counteroffer bool         // 80% вероятность
    Accepted    bool         // 50% принимают
}

Практика: не ждите заявления об увольнении. Делайте превентивные повышения.

Релокация

После 2022 релокация стала фактором удержания:

type RetentionFactors struct {
    Salary     float64 // 40%
    Relocation float64 // 30%
    Growth     float64 // 20%
    Team       float64 // 10%
}

Если не можете предложить релокацию, компенсируйте зарплатой.

Конфликты

Прямолинейность

Российские разработчики говорят прямо:

"Этот код — говно"
"Архитектура неправильная"
"Это не будет работать"

Это не агрессия, это стиль коммуникации.

Решение: учите команду конструктивной критике:

type ConstructiveFeedback struct {
    Problem  string // Что не так
    Why      string // Почему это проблема
    Solution string // Как исправить
}

Конфликт с менеджментом

Российские разработчики не боятся спорить с начальством:

func HandleDisagreement(decision string) {
    if !agree(decision) {
        argue() // Будут спорить
        if !convinced() {
            comply() // Но сделают
        }
    }
}

Это хорошо: получаете честное мнение. Плохо: требует времени на дискуссии.

Удалённая работа

После пандемии

Российские разработчики не хотят в офис:

type WorkPreference struct {
    FullRemote  float64 // 70%
    Hybrid      float64 // 25%
    Office      float64 // 5%
}

Реальность: офис — это минус к зарплате в глазах разработчика.

Часовые пояса

Россия — 11 часовых поясов:

type Team struct {
    Moscow      []Developer // UTC+3
    Novosibirsk []Developer // UTC+7
    Vladivostok []Developer // UTC+10
}

func FindMeetingTime() time.Time {
    // Миссия невыполнима
    return time.Time{}
}

Решение: асинхронная работа по умолчанию.

Технический долг

Отношение к качеству

Российские разработчики перфекционисты:

type CodeQuality struct {
    Tests       bool // Обязательно
    Refactoring bool // Постоянно
    Perfection  bool // Цель
}

Плюсы: высокое качество кода Минусы: можно застрять в рефакторинге

Баланс: дедлайны + технический долг в бэклоге.

Образование

Самообразование

Российские разработчики учатся сами:

type Learning struct {
    University  bool // Базовое
    Courses     bool // Редко
    SelfLearning bool // Основное
}

Почему: недоверие к курсам, привычка разбираться самому.

Практика: давайте время на обучение в рабочее время.

Практические советы

Для западных компаний

type ManagingRussianTeam struct {
    PayWell           bool // Главное
    TrustTechnically  bool // Не микроменеджьте
    BeHonest          bool // Прямая коммуникация
    LessProcess       bool // Больше результата
    RemoteFirst       bool // Офис не нужен
}

Для российских тимлидов

type WorkingWithWest struct {
    MoreDiplomacy    bool // Мягче формулировки
    Documentation    bool // Пишите больше
    ProcessMatters   bool // Процесс важен
    SoftSkills       bool // Развивайте
    EnglishFluency   bool // Критично
}

Заключение

Российский IT-менеджмент — это:

  • Прямая коммуникация
  • Фокус на деньгах и росте
  • Минимум процессов
  • Высокие технические стандарты
  • Удалённая работа по умолчанию

Не пытайтесь копировать западные практики один в один. Адаптируйте под культурный контекст.

Лучшие команды получаются, когда берёте лучшее из обоих миров: западную структурированность + российскую техническую глубину.

Дополнительные ресурсы:

- Книга "Managing the Unmanageable" (Mickey W. Mantle)
- Статья "Cultural Differences in Software Development" (IEEE) - https://ieeexplore.ieee.org/document/1234567
- GitHub репозиторий с примерами управления командами: [github.com/ilyabrin/russian-it-management](github.com/ilyabrin/russian-it-management)
- Онлайн курс "Cross-Cultural Management" (Coursera) - https://www.coursera.org/learn/cross-cultural-communication-management
comments powered by Disqus