Сталкивались ли вы с системой грейдов (уровней разработчика) на проектах?

Ответ

Да, на предыдущих проектах использовалась система грейдов (Junior, Middle, Senior, Lead) с четкими инженерными и профессиональными критериями для каждого уровня.

Типичная структура и критерии для iOS-разработчика:

Уровень Ключевые компетенции Пример технических требований
Junior Выполнение задач под руководством. Изучение базовых концепций и инструментов. Знание UIKit/SwiftUI основ, Auto Layout, понимание жизненного цикла UIViewController. Умение писать простые сетевые запросы (URLSession).
Middle Самостоятельное выполнение задач. Участие в планировании и код-ревью. Глубокое знание нативного стека (GCD, Memory Management). Опыт работы с CoreData/Realm, архитектурными паттернами (MVC, MVVM). Умение профилировать и оптимизировать код.
Senior Решение сложных архитектурных задач. Менторинг команды. Экспертиза в области. Проектирование модульной архитектуры (Clean Architecture, VIPER). Экспертиза в Combine/RxSwift. Навыки глубокой оптимизации (Instruments, снижение потребления памяти, ускорение запуска). Ведение технической документации.
Lead Техническое лидерство, планирование развития проекта и команды. Принятие ключевых архитектурных решений, работа с нетехническими стейкхолдерами, расчёт и делегирование задач, рекрутинг.

Практическая польза:

  • Для разработчика: Прозрачный путь карьерного роста и понимание зон развития.
  • Для компании: Унификация требований при найме, объективная оценка перформанса и планирование зарплатных вилок.

Грейды обычно закреплены в внутренней документации и используются во время performance review.

Ответ 18+ 🔞

А, ну это про грейды, да? Блядь, классика жанра, как в том анекдоте про Муму — либо так, либо нихуя. Система, которая либо работает, либо всех ебёт, потому что её внедрил какой-нибудь полупидор из HR, который в коде от силы print("Hello, world!") видел.

Ну ладно, хуй с ним. Смотри, как это обычно выглядит, если по-человечьи.

Junior — это, блядь, птенчик, только из яйца вылупившийся. Ему говорят: «Вася, сделай кнопку, чтобы при нажатии меняла цвет». Он идёт, три дня гуглит, как @IBAction привязать, в итоге делает, но кнопка на половину экрана уезжает, потому что констрейнты ебнул. Его главная задача — не сломать продакшн и не задавать один и тот же вопрос в пятый раз. Знает основы, делает под присмотром, и все за ним, как за ребёнком, перепроверяют. Код его пахнет страхом и надеждой.

Middle — вот это уже рабочий мужик. Ему кидают таску: «Сделай экран списка с пагинацией, фильтрами и сохранением в оффлайн». Он не задаёт лишних вопросов, идёт и делает. Знает, где в проекте лежат сетевые слои, как с памятью работать, чтобы приложение не жрало её, как жопа с ручками. Может сам код-ревью провести, может план по задаче накидать. Основа и становой хребет команды. Уже не боится, но и не выёбывается.

Senior — а вот это уже, сука, интересно. Это тот, кто приходит и говорит: «Бля, ребята, а давайте перепишем этот legacy-модуль, потому что он, как дерьмо в проруби, тянет весь проект на дно». Он не просто задачи делает — он проблемы решает. Архитектуру продумывает, чтобы через год не пришлось всё ебашить заново. Менторит джунов и миддлов, объясняет, почему force unwrap — это путь в ад. Его код — это как рассказ Тургенева, блядь, там всё продумано, красиво, но под этим спокойствием — ебаный ураган ответственности и мыслей.

Lead — это уже, ёпта, не совсем про код. Это про то, чтобы ходить на совещания, где какая-то мартышлюшка из бизнеса орёт, что «фичу надо было вчера». Это про то, чтобы защищать команду, расставлять приоритеты, решать, на какой хуй идти и какой не идти. Он уже не столько пишет, сколько думает, планирует и берёт на себя весь пиздец, чтобы остальные могли спокойно работать. Если команда — это оркестр, то лид — это дирижёр, который ещё и табуретку для скрипача должен найти, и с бухгалтерией за неё согласовать.

А практическая-то польза где? Да вся в этом!

  • Разработчику — понятно, куда расти. Не как Герасим, который только «Муму» мычать может. Сидишь джуном, смотришь на требования к миддлу — о, бля, надо Combine подтянуть. Идешь учить. Прозрачно, как слеза ребёнка.
  • Компании — чтобы не было, что джуну зарплату в три шкуры платят, а сеньор за копейки пашет. Чтобы на собеседовании не гадать, «ну он вроде умный, но сеньор ли он?». Взял бумажку с критериями, приложил — о, да это миддл, блядь, с налётом сеньорства. Всё, ясен пень.

Но главное, блядь, чтобы эта система не стала бюрократической хуйнёй, где ты десять презентаций должен сделать, чтобы на следующий уровень перейти. Иначе это просто пиздопроебибна, а не грейды.