Hard
Архитектура компьютера и операционных систем, особенно семейства Unix.
Аналитическое мышление. Нужно уметь структурировать сложные проблемы и дробить их на пошаговые понятные подзадачи.
Необходимые навыки
Soft
Языки программирования общего назначения (C, C++, Python, GoLang, Java, Scala, Kotlin). Понимание практических аспектов разработки кода, тестирования и версионирования.
Теории алгоритмов, баз данных, основы реляционных баз, моделирование данных, язык программирования SQL.
Распределенные системы, параллельные вычисления, математический аппарат.
Английский язык для понимания технической документации.
Транзакционные (Oracle, MySQL, MS SQL Server, PostreSQL) и аналитические СУБД (Vertica, Exadata, Greenplum, Teradata, SAP Hana, Exasol).
Файловые хранилища, форматы и движки обработки (Hadoop, S3, Spark, Hive, Impala, Presto, Parquet, ORC, AVRO, JSON, CSV).
Критическое мышление. Необходимо научиться сомневаться в любых не обоснованных фактами вещах, даже заявленных руководством.
Навык командной работы. Важно уметь взаимодействовать с другими специалистами и вовлекать их в решение задач.
Грамотная коммуникация. Преуспеть в профессии поможет способность давать и получать обратную связь, открыто обсуждать слабые стороны и непонятные вещи и искать компромиссы.
Эмоциональный интеллект. Нужно понимать чужие переживания, мотивацию и состояния, чтобы эффективно и слаженно работать.
Key-value и документарное хранение (Cassandra, Elasticsearch, ScyllaDB, Redis, MongoDB).
Виртуализация (Apache Beam, Dremio).
Технологии обработки, транспортировки и оркестрации (Apache Nifi, Apache Kafka, Apache Airflow, Spark, и инструменты Enterprise-класса).
Вспомогательные технологии мониторинга (Prometheus, Grafana, Kibana, Elasticsearch)
Контейнеризация и оркестрация контейнеров (Docker, Kubernetes, OpenShift, Rancher).
Автоматизация поставки и инфраструктура (Gitlab, github, CI/CD, Ansible, Terraform).
Знание принципиальных архитектур и подходов к моделированию данных (3NF, Dimensional modeling, Data Vault, Anchor Modeling, Data Lake).
Профессиональное творчество. Выход за рамки привычных решений и способность к экспериментам помогут справиться с нетривиальными задачами, в которых присутствует высокий уровень неопределенности.
Усидчивость и внимательность к деталям. Кропотливое прописывание кода и выстраивание сложных процессов требуют умения фокусироваться и глубоко погружаться в работу.
Самообучение и насмотренность. Нужно следить за появлением новых практик и методик и быть готовым осваивать незнакомые инструменты и технологии.