Что значит «быть Senior» в tech-гигантах?
12 сентября 2023
В 4-ом выпуске подкаста «Горячая линия» был задан вопрос: «Как понять, что ты уже вырос до Senior? Какие есть must have для Senior: минимальное количество архитектурных решений\технологий\паттернов, которые ты должен знать, чтобы уверенно чувствовать себя в разработке?». Ответ можно послушать в нашем телеграм-канале.

Чтобы показать вам более полную картину, мы собрали требования к кандидатам на позицию Senior в больших IT-компаниях. Стоит отметить, что эти требования могут варьироваться от компании к компании. Мы проанализировали большое количество вакансий от каждого работодателя. В качестве примеров приложили по одной конкретной вакансии, в описаниях указали ключевые пункты, встречавшиеся в выборке. Давайте рассмотрим конкретно, какие обязанности у сеньоров в Amazon, EPAM, Microsoft, Google и Dropbox.
Компании FAANG предъявляют похожие требования к разработчикам уровня Senior. Нужен общий опыт разработки не менее 5 лет, также требуется опыт создания высоконагруженных систем, понимание процессов разработки. Всегда в качестве требования указывают наличие образования в области Computer Science или в смежных областях, хотя это условие не является обязательным требованием.

Некоторые требования специфичны для продукта компании, например, создание user-facing интерфейсов для Dropbox.

Сервисные компании (EPAM) предъявляют более размытые требования к уровню Senior. Им важнее получить разработчика и уже позднее определить его на подходящий ему проект, чем заранее отфильтровать неподходящих на конкретный проект инженеров.
Выводы по результатам анализа
Amazon
  • 5+ лет опыта разработки.
  • 2−5+ лет опыта в проектировании и архитектуре (design patterns, reliability and scaling) новых и существующих систем.
  • Опыт менторинга или работы на позиции техлида/тимлида.
  • Опыт руководства проектированием и архитектурой новых и существующих систем.
  • Хорошие навыки коммуникации.
  • Превосходные навыки решения проблем.
  • 5+ лет опыта участия в полном цикле разработки приложений, включая coding standards, code reviews, source control management, build processes, testing, and operations experience.
  • Степень магистра в computer science, математике, физике или смежных областях.
Требования:
Будет плюсом:
Обязанности:
Управление проектированием и архитектурой large-scale, multi-tiered распределенных приложений, инструментов, систем.
Сбор бизнес и функциональных требований от внешних и внутренних клиентов и конечных пользователей. Перевод требований в технические для создания устойчивых, масштабируемых, поддерживаемых решений.
Выполнение роли техлида на протяжении всего цикла разработки от планирования, проектирования, разработки и тестирования, до написания документации, delivery и maintenance.
Проведение design reviews для других инженеров, включая обратную связь о проблемах дизайна и архитектуры, интеграции, производительности и масштабируемости.
Управление ресурсами нескольких технических проектов, обеспечение совместимости сроков, milestones, приоритетов с технологиями и бизнес-целями.

Взаимодействие внутри команды и с другими командами по всему миру.
Менторинг менее опытных членов команды и организация совместных Q&A сессий, воркшопов, презентаций.
Обобщённое описание Software Development Engineer III (SDE III) / Senior Software Development Engineer в Amazon
Сделай первый шаг
к позиции Senior
Регистрируйся на вебинар [Из Middle в Senior] for backend, чтобы узнать всё о переходе на новый уровень
28 сентября
19:00 по Минску (GMT+3)
  • Образование в области Computer Science или смежных.
  • 4-8+ лет опыта профессиональной разработки.
  • Хорошие аналитические навыки и навыки решения проблем.
  • Хорошие навыки коммуникации и работы в команде.
  • Крепкое понимание полного цикла разработки ПО.
  • Хорошие инженерные навыки: создание высококачественного дизайна, кода и тестов.
  • Опыт Software или solutions architecting. History of delivering high quality production systems/services.
  • Опыт с large-scale software engineering
  • Опыт разработки и развертывания приложений в облачных платформах (AWS, Azure).
  • Опыт работы с инструментами Infrastructure as Code.
  • Навыки и майндсет DevOps и автоматизации.
  • Навыки эффективного лидерства и коммуникации.
  • Опыт работы с данными, аналитикой и связанными с этим технологиями.
  • Опыт работы в одной из инженерных областей: scalability, compliance, performance, security, privacy, reliability, accessibility, localization, or globalization.
  • Технические знания и способность к разработке долгоживущего кода/архитектуры.
  • Глубокое понимание методологии тестирования и engineering best practices.
  • Опыт работы с клиентами за пределами компании.
Microsoft
Требования:
Будет плюсом:
Обязанности:
Написание высококачественного, поддерживаемого и reusable кода на основании принципов SOLID.
Решение сложных проблем с system integration при взаимодействии с другими членами команды и другими командами.
Построение ключевой инфраструктуры и сервисов продукта.
Внесение вклада в product/solution architecture и тест-дизайн, выполняя роль technical leader.
Поиск узких мест в DevOps процессах и их улучшение при помощи автоматизации.
Улучшение сервисов и процессов в соответствии с новейшими и лучшими стандартами security and privacy.

Взаимодействие с другими командами инженеров в рамках продукта и всего Microsoft.
Взаимодействие со стейкхолдерами по вопросам требований и получения обратной связи о продукте. Использование обратной связи для улучшения designs or solutions. Измерение customer value, usage patterns, и других метрик ценности.
Обобщённое описание Senior Software Engineer в Microsoft
Google
  • Образование в области Computer Science или смежных или эквивалентный практический опыт.
  • 5+ лет опыта профессиональной разработки и опыта работы со структурами данных и алгоритмами.
  • 3+ лет опыта тестирования, поддержки и запуска продуктов.
  • 1+ лет опыта software design and architecture.
  • Степень магистра или PhD в области Computer Science или смежных.
  • Опыт в разработке доступных технологий (accessible technologies).
  • 1+ лет опыта в роли technical leadership.
Требования:
Будет плюсом:
Обязанности:
Написание продуктового или system development кода (Write and test product or system development code).
Участие или руководство design reviews коллегами и стейкхолдерами для выбора из доступных технологий.
Проведение code review для других разработчиков и предоставление обратной связи для того, чтобы применялись best practices (style guidelines, checking code in, accuracy, testability, and efficiency).
Работа с внутренними командами и внешними партнерами для проектирования и создания архитектуры ключевых возможностей платформы.
Участие в написании документации и обучающего контента, адаптация контента на основе обновлений продукта и обратной связи от пользователей.
Поиск проблем в продукте, их debug/track/resolve на основе анализа источников проблем и влияния hardware, network, or service operations and quality.
Обобщённое описание Senior Software Engineer (L5) в Google
EPAM
  • 3-8+ лет опыта профессиональной разработки.
  • Уверенное знание принципов ООП и экстремального программирования, таких как test-driven development.
  • Хорошее понимание микросервисной архитектуры и Domain Driven Design.
  • Опыт работы с алгоритмами и структурами данных.
  • Опыт написания unit-тестов и автоматизации тестирования.
  • Превосходные навыки коммуникации и работы в команде.
  • Превосходные аналитические навыки и навыки решения проблем.
  • Опыт работы с cloud (Amazon Web Services).
  • Опыт работы с Continuous Delivery and/or Continuous Deployment (Azure DevOps).
Требования:
Будет плюсом:
Обязанности:
Разработка качественных решений технических задач.
Написание качественного кода и участие в code review.
Взаимодействие с инженерами в распределенных командах.
Коммуникации с клиентами, проработка функциональных и нефункциональных требований.
Проведение demo and sharing sessions
Анализ и улучшение производительности, эффективности и стабильности приложений.
Контроль design and specs consistency. Создание паттернов разработки.
Валидация требований относительно технических возможностей по их реализации.
Обобщённое описание Senior Software Engineer (L3) в EPAM
Dropbox
  • Образование в области Computer Science или смежных или эквивалентный практический опыт.
  • 8+ лет опыта профессиональной разработки или релевантного опыта в сфере IT.
  • Опыт разработки и выпуска large-scale приложений.
  • Навыки создания user-facing ПО, а также поддерживающих библиотек и систем.
  • Способность работать в full-stack проектах и быстро создавать minimum viable product.
Требования:
Обязанности:
Трансляция technical vision, работа в кросс-функциональных командах.
Написание кода.
Работа с product managers, дизайнерами и аналитиками для создания продукта, который соответствует потребностям пользователей.
Разработка кратко- и долгосрочных roadmaps, эффективно балансируя business impact, user experience и высококачественной технической основой.
Участие в жизни команды, менторинг, проведение интервью.
Взаимодействие с другими командами в компании.
Обобщённое описание IC3/IC4 Software Engineer / Senior Software Engineer в Dropbox
Сверьте свои навыки с теми, что запрашивают в больших компаниях. Можете ли вы сказать, что соответствуете уровню сеньор?

Если у вас возникли сомнения, не стесняйтесь записаться на консультацию с экспертом Hard&Soft Skills. Инженер с многолетним опытом на сеньорских позициях поможет вам определить, какому уровню соответствуют ваши навыки.
Для backend разработчиков от 2 лет программирования
Подключайся к комьюнити опытных инженеров