В этом практическом курсе вы научитесь проектировать системы, которые масштабируются для миллионов пользователей ежедневно и обрабатывают петабайты данных. Если вы стремитесь стать архитектором программного обеспечения или уже являетесь им, но нуждаетесь в хорошем обновлении знаний, то это ваш лучший ресурс. Это также идеальное место для подготовки и набора уверенности перед предстоящим собеседованием по системному проектированию.
В рамках этого курса вы изучите следующие навыки:
- Определение технических требований системы без упущения каких-либо деталей.
- Создание простых в использовании и надежных API.
- Применение современных архитектурных строительных блоков и техник для обеспечения масштабируемости, доступности и производительности.
- Соблюдение проверенных временем паттернов архитектуры программного обеспечения и передовых практик.
- Проектирование высокомасштабируемых систем для обработки массового интернет-трафика и обработки больших объемов данных.
- Принятие решений и балансировка компромиссов, как истинный профессиональный архитектор программного обеспечения.
К концу курса вы обладаете всеми необходимыми навыками, чтобы реализовывать неоднозначные и высокоуровневые требования и проходить через все этапы проектирования системы, вплоть до ее конечной архитектуры программного обеспечения.
Хотя в этом курсе нет программирования, он является чрезвычайно практичным и дает вам фундаментальные знания для создания систем реального мира.
Все техники и паттерны, рассмотренные в курсе, используются ведущими компаниями в области программного обеспечения.
В дополнение к видеолекциям, вы также найдете:
- Множество ресурсов, связанных с темами, рассмотренными в курсе.
- Викторины, которые помогут вам проверить свой прогресс и повторить материал курса.
- Внешние ссылки на соответствующие статьи и видеоматериалы для расширения вашего опыта обучения.
Этот курс идеально подходит для вас, если:
- Вы хотите овладеть навыками архитектуры программного обеспечения, которые обычно не преподаются в колледжах или школах программирования.
- Вы хотите стать архитектором программного обеспечения или высокопоставленным членом технического персонала, таким как старший/главный инженер программного обеспечения или технический лидер.
- Вы готовитесь к собеседованию по системному проектированию и хотите увеличить свои шансы на успех, а также выделиться среди множества кандидатов.
FAQ
Нужно ли мне быть архитектором программного обеспечения, чтобы пройти этот курс?
Определенно нет! Архитектор программного обеспечения - это всего лишь должность. Фактически, многие компании не назначают эту официальную должность никому. Большинство архитектуры программного обеспечения и проектирования систем выполняется доверенными инженерами внутри организации. Чтобы получить это доверие от руководителей, вам необходимо продемонстрировать твердые знания архитектуры программного обеспечения и проектирования систем. Именно это вы изучите в этом курсе.
Какова важность архитектуры программного обеспечения и почему мне нужно ее изучать?
Современная разработка программного обеспечения для масштабных систем очень сложна. Обычно она включает в себя многие месяцы работы нескольких программных инженеров. Точно так же, как никто не предпримет строительство небоскреба без надежного плана и архитектуры, невозможно взяться за большой программный проект без должного проектирования и утвержденной архитектуры программного обеспечения. Если архитектура программного обеспечения системы выполнена плохо, проект вряд ли будет успешным. Однако, если архитектура программного обеспечения выполнена правильно, это может иметь огромный положительный эффект на жизни многих людей и помочь вашей организации расти и процветать.
Есть ли в курсе написание кода?
Архитектура программного обеспечения является частью фазы проектирования масштабной системы. Написание кода выполняется только после завершения архитектуры программного обеспечения. Определенный переход мысли требуется, чтобы понять, что программирование является лишь небольшой частью программной инженерии. Если архитектура программного обеспечения и проектирование выполнены правильно, задача написания кода и все, что следует за ней, могут быть очень простыми и прямолинейными. С другой стороны, если архитектура программного обеспечения выполнена неправильно, фаза реализации может стать большим вызовом.
Следует ли каждому программному инженеру стремиться стать архитектором программного обеспечения?
Да и нет. С накоплением опыта от вас ожидается, что вы будете выполнять все больше задач по архитектуре и проектированию программного обеспечения. Роль старшего программного инженера в большинстве организаций требует навыков архитектуры программного обеспечения, даже если в вашей должности нет термина "архитектор программного обеспечения". Кроме того, даже если вы хотите продолжать программировать, ваш код всегда должен учитывать общую архитектуру программного обеспечения. В противном случае он не будет эффективным. Однако, если вы все же решите стать архитектором программного обеспечения, вы получите больше ответственности и влияния, что обычно сопровождается большей удовлетворенностью от работы, стабильностью и более высокой оплатой труда.