Овладеете базовой терминологией, которую используют в процессе создания программного обеспечения. Познакомитесь с популярными методологиями разработки и поймёте их отличия. Узнаете, зачем нужны инфраструктурные архитекторы и чем они занимаются.
Узнаете, какие бывают типы операционных систем, какие функции они обеспечивают. Поймёте, как устроено взаимодействие внутри ОС, как приложения обращаются к системе. Детально разберёте ОС Linux и принципы работы системного администратора с ней. Научитесь управлять процессами, потоками, сигналами, хранением данных.
Изучите основы работы компьютерных сетей, команды для конфигурации сетевых устройств и служб, инструменты настройки и диагностики сетей, а также самые распространённые сетевые приложения. Рассмотрите модель OSI, работу сетей TCP/IP на втором, третьем и четвёртом уровнях. Узнаете, как работать с VPN, Firewall, NAT.
Узнаете, почему и как возникли системы управления версиями исходного кода. Получите практические навыки глубокой работы с Git-репозиториями. Научитесь работать одновременно с несколькими репозиториями, синхронизировать их и создавать резервные копии. Познакомитесь со способами интеграции репозиториев со внешними системами. Узнаете, как контролировать процесс разработки ещё на уровне отправки кода в репозиторий.
Узнаете, чем различаются базы данных SQL и NoSQL, и научитесь выбирать нужную из всего многообразия существующих решений. Разберётесь, что такое кеш, зачем он нужен и как его использовать. Научитесь складывать и смотреть логи приложений в Elasticsearch, а также настраивать и использовать менеджер очередей RabbitMQ.
Узнаете принципы работы реляционных баз данных. Научитесь писать SQL-запросы к базе данных. Научитесь работать с индексами и оптимизировать выполнение запросов. Освоите репликацию и масштабирование баз данных, а также научитесь делать резервное копирование.
Узнаете различия видов виртуализации и контейнеризации. Научитесь управлять виртуальными машинами с помощью libvirtd. Напишете несколько Dockerfile, которые можно будет использовать в дальнейших проектах как примеры. Научитесь запускать несколько контейнеров одновременно и объединять их в виртуальную сеть.
Узнаете, что такое облака и зачем они нужны. Изучите основы виртуализации. Познакомитесь с системой оркестрации Kubernetes и научитесь с её помощью разворачивать приложения. Сможете поднять облачный сервер с помощью Terraform и сконфигурировать его с помощью Ansible. Узнаете, что такое DevOps, и познакомитесь с основными задачами и инструментами DevOps. Получите практические навыки работы с системой контроля версий Git.
Научитесь описывать конфигурацию любых сервисов, имеющих API, в виде кода при помощи Terraform. Поймёте, как выстраивать командные процессы работы над инфраструктурой. Овладеете навыками написания скриптов на Golang. Научитесь писать собственные расширения для Terraform.
Научитесь описывать инфраструктуру в виде кода. Сможете настроить удалённый сервер и восстановить его конфигурацию в случае необходимости. Получите набор готовых шаблонов для решения типовых задач конфигурирования серверов.
Подробно разберём все этапы жизни ПО. Вы узнаете, как организовать взаимодействие между разработчиками, тестировщиками и системными администраторами. Получите практические навыки работы с Jenkins, TeamCity и Gitlab CI.
Узнаете, как обеспечивается отказоустойчивая работа приложений. Изучите основные иструменты кластеризации и балансировки. Изучите принципы и инструменты резервного копирования операционной системы, баз данных и приложений. Узнаете, что такое disaster recovery и как его можно реализовать.
Подробно разберётесь, зачем нужен мониторинг и какие параметры нужно контролировать. Узнаете, как организовать систему оповещения о различных событиях, чтобы узнавать о сбоях первым, а не от заказчика. Научитесь организовывать логирование всех действий приложений и анализировать эти логи. Овладеете навыками работы с elasticsearch, Logstash, Kibana и Graylog. Научитесь настраивать связку Prometehus + Grafana + Alertmanager. Познакомитесь с Zabbix для мониторинга физических и виртуальных машин.
Узнаете, в каких случаях выгодно использовать микросервисы вместо монолитного приложения. Научитесь проектировать отказоустойчивые системы. Познакомитесь с популярными веб-серверами и балансировщиками нагрузок.
Научитесь разворачивать кластер Kubernetes на собственных мощностях. Поймёте, из каких компонентов состоит control plane и на что нужно обращать внимание при администрировании собственного кластера Kubernetes. Узнаете, как с помощью навыков автоматизированного управления конфигурациями добавлять и удалять узлы, менять конфигурацию имеющихся нод.
С помощью полученных теоретических знаний развернёте stateless-приложение. Добавите обавив stateful-зависимости. Воспользуетесь готовыми манифестами для установки приложений в кластер.
Разберётесь, как хранить и использовать пароли внутри кластера и передавать конкретным приложениям. Узнаете, как управлять уровнем доступов контейнеров и подов. Научитесь контролировать взаимодействия подов между собой.
Освоите общие принципы создания проектов в облачных сервисах. Познакомитесь с основными инструментами, которые предоставляют облачные провайдеры.
Познакомитесь с решениями для полнотекстового поиска. Освоите навыки по установке и настройке кеш-систем. Научитесь устанавливать и настраивать базы данных для нужд разработки. Познакомитесь с технологиями создания отказоустойчивых кластеров баз данных и кеш-систем при помощи кластеризации и шардинга. Научитесь писать простые SQL-запросы и запросы для работы с NoSQL-базами данных.
Начнёте быстрее понимать техническую лексику, код и терминологию в вашем направлении. Сможете ориентироваться в профессиональном англоязычном контенте. Узнаете, как техническому специалисту подготовиться к собеседованию. Получите примеры прохождения интервью для разных специальностей.
Научитесь формулировать карьерные цели, создавать резюме, собирать портфолио и готовиться к собеседованиям. Создадите пошаговый план поиска работы, запишете видеопрезентацию и пройдёте карьерную консультацию с HR-экспертом.
Изучите один из самых востребованных и простых в освоении языков программирования. Научитесь описывать алгоритмы для решения повседневных задач и работы с данными.