- Откроете архитектуру распределенных систем - Получите навыки решения архитектурных задач - Узнаете способы коммуникации об архитектуре
Senior
Увидите новые факторы, влияющие на архитектуру решения
Систематизируете свой инженерный опыт
Узнаете как решать проблемы в коммуникациях
Architect
Откроете новые варианты решения архитектурных задач
Получите видение проекта как системы со многими обратными связями
Освоите процессы проектирования и согласования
Необходимые требования для прохождения курса опыт работы в роли senior engineer от 2х лет
[ Цели курса ]
1. Организовать технический опыт
Структурировать и расширить опыт технического специалиста
2. Принимать эффективные решения
4. Находить оптимальные решения
Поделиться с коллегами своими задачами и найти их оптимальное, для вашего проекта и контекста, решение
Выстроить базу для принятия сложных технических и архитектурных решений
3. Органично расти как специалист
Предоставить большое количество технических решений, приемов, примеров и задач, что позволит специалисту перескочить через несколько ступенек в своем развитии, избежав ошибок в реальных проектах
5. Структурировать базовые принципы разработки
Систематизировать ограничения, которые приходится преодолевать при разработке продукта, и структурировать базовые принципы разработки и проектирования систем
6. Продуктивно общаться на всех этапах
Наладить процесс коммуникации архитектора на всех этапах проекта
[ Что будет на курсе ]
1
Узнаем кто такой технический лидер, его границы, обязанности и тд.
Рассмотрим современные наиболее часто используемые инструменты и решения: библиотеки, фреймворки, базы данных различного типа, очереди, кэши, системы управления фоновыми задачами и тд. Для каждого инструмента рассмотрим его принципиальные ограничения и достоинства, а также применимость для различных задач
2
Переосмыслим и структурируем коммуникации архитектора и архитектурной документации, а также процессы и роли вокруг архитектуры
На начальных фазах проекта - RFC, presale, discovery
Во время implementation phase
При определении roadmap на будущие периоды для стрима/отдела
Во время радикальных изменений архитектуры
А также управление техническим долгом, архитектурное ревью, согласования и прочие коммуникации вокруг архитектуры
3
Разберем следующие аспекты процесса разработки и роль архитектора в них:
Миграции и deployment, включая zero-downtime
Управление конфигурациями
Управления качеством
Подходы и мониторингу и инструменты
4
Разберем реальные архитектурные задачи и проблемы
Начиная от простых учебных примеров и до масштабных реальных проектов. Ваши собственные реальные проекты и задачи на курсе мы тоже разберем.
Разбираете тему и обсуждаете ее
с преподавателем.
Изучаете материал
Выполняете ДЗ
Решаете учебные задачи, подготовленные для курса.
Получаете обратную связь
Разбираете с преподавателем ошибки и пути их решения.
После прохождения курса Вы получите сертификат на двух языках RU и ENG
[ Как проходит обучение ]
1
2
3
4
[ Практика]
Обновлённая практика:
Разделы шаблона включают в себя:
вопросы к бизнесу по функциональным и нефункциональным требованиям
выводы и предположения по ответам бизнеса
оценки объема данных, нагрузки, bandwidth и других узких мест
потенциальные подходы к преодолению узких мест системы
system design для системы
обоснование отдельных инструментов и подходов
(опционально) оценка стоимости инфраструктуры системы
Задачи включают в себя: Сокращатель ссылок Счетчик посещений для рунета Чат на 500 млн пользователей Zoom
Структура коммуникаций и процессы тимлида
4 задачи разных уровней сложности на создание документа Architecture Proposal
Architecture Proposal создается по обобщенному шаблону для задач по проектированию. Шаблон используется в различных компаниях, и его разделы и шаги написаны большими деньгами и нервами.
При решении задач можно пользоваться любыми доступными материалами, а также просить помощи у любых доступных архитекторов
[ Программа курса ]
теории
12 занятий
практики
12 занятий
Ожидания от техлида. Границы роли техлида.
Карьерный путь технаря.
Чем отличается техлид от архитектора?
Какие навыки и знания нужны техлиду?
Что такое архитектура и чем она отличается от system design?
Функциональные, нефункциональные требования и ограничения.
Quality Attributes, виды Quality Attributes.
Часто встречающиеся Quality Attributes: Avalability, Performance, Scalability, Scalability, Security и тактики их достижения.
Разница в понимании нефункциональных требований у PO, BA, разработчика, техлида и архитектора.
SLA и для чего он нужен, контракт между сервисами.
Ограничения техники и железа
Ограничения алгоритмов
Ограничения сложности
Принципы написания кода
Критерии и эталоны программных систем
Транзакции и особенности распределенных систем, CAP, PACELC
Описание шаблона решения архитектурных задач
Постановка задач
Вопросы участников курса
Оптимизации и переписывание системы
CQS/CQRS, уровни изоляции транзакций
Ограничения команды/организации/компетентности и отстаивание решений
Сложность как таковая
Выбор технологии и роль архитектора
Компромиссы (trade-offs)
Шаблоны Availability, идемпотентность
Шаблоны Scalability
Шаблоны Stability
Что такое интеграция
Подходы к обмену данными между системами
Какие бывают архитектуры интеграции
SOA vs microservices vs MOM
Шаблоны интеграции
Мастер-класс по проектированию сокращателя ссылок на основе шаблона решения архитектурных задач
Что такое компонент? Какие компоненты архитектуры бывают?
Коротко про каждый тип компонентов
Особенности разных типов баз данных
Реляционные базы данных
Key-value storages
Сolumn family storages
Document stores
Event storages
Time series storages
Graph databases
Columnar (column-oriented) database
Использование нескольких баз данных в проекте
20 критериев выбора базы данных для проекта
Что такое очередь сообщений
Различия очередей сообщений
Какие есть очереди сообщений
Архитектуры и отличия Apache Kafka и RabbitMQ
13 критериев выбора очередей для проекта
Для чего используется кэш
Стратегии обновления записей кэша
Стратегия удаления записей из кэша
Какие есть кэши
Популярные кэши и их особенности и баги
17 критериев выбора кэша для проекта
Что такое Load Balancing
Производительность HAProxy и Nginx
Hardware load balancer
DNS load balancing
Client-side load balancing
Что такое распределенная файловая система (Distributed File System)
Популярные DFS
Специфические критерии выбора DFS для проекта
Способы распределенной обработки данных
Apache Hadoop, Apache Spark и некоторые другие инструменты
Специфические критерии выбора инструментов распределенной обработки данных
Отличия реляционной и ОО парадигм
Альтернативы ORM
Наиболее популярные ORM фреймворки и другие подходы
ORM как антипаттерн
Процессы при работе с ORM
Что такое мониторинг
Процесс настройки и использования мониторинга
Пример отправки сообщений в соседний микросервис
Инструменты мониторинга
Логирование
Что такое управление качеством
Тест-дизайн
Пирамида автоматизированного тестирования
Тестовое покрытие
Chaos testing и Chaos Monkey Netflix и почему вам это не надо
Процесс релизов
Управление версиями API, контракты API и SLA
Feature flags как способ релизить
Канареечные релизы
Zero downtime и миграции
Blue-green deployment и миграции
Atomic deployment
Что такое монолит, его проблемы, плюсы и минусы. Модульный монолит.
Что такое микросервисы и что нужно знать о нем, а также плюсы и минусы микросервисов
Как развивается система? Когда и зачем пилить монолит?
Подходы к разделению монолита
На что обратить внимание при распиливании монолита?
План перехода на микросервисы
Закон Конвея и обратный маневр Конвея. Время жизни компонента или системы. Размер/этап развития организации
Примеры миграций монолита на микросервисы
Методы завоевания доверия в команде
Что такое организационная структура и как ее понимать
Множественность организационных иерархий
Как понять ваше место в организационной структуре
Культура компании, виды культуры: адхократия, клановая, иерархическая, market-oriented.
ОКR vs. KPI
Как выстраивать эффективные коммуникации. Документация как часть процессов и коммуникации.
Как организация влияет на архитектуру (Закон Конвея)
Документацию как часть коммуникации
Как входить в новую компанию в роли архитектора и как относиться к документации
[ Преподаватель курса ]
"Развитие разработчика невозможно без понимания интересов бизнеса"
—Павел Вейник, Founder Hard&Soft Skills
Founding Architect at Hard & Soft Skills
Павел Вейник
Разработчик с 2003 года, занимается обучением с 2008, обучением сеньоров и архитекторов с 2018. Делился экспертизой на более чем 100 митапах и конференциях.
Выполнял роли разработчика, тимлида, архитектора, СТО в небольших стартапах, крупных корпорациях и продуктовых компаниях:
Специализации: архитектура распределенных систем, highload, микросервисные архитектуры, системная инженерия, рост инженера, коммуникации в организации.
Architect: Miro, EPAM
CTO: AmadoAd Ltd., SplitMetrics, Leverice
Founder: Hard&Soft Skills, ITStart, Amadoad Ltd.
Выстраивал архитектуру для крупнейших мировых корпораций в рамках EPAM
Обучил более 1K разработчиков за последние 15 лет. Обучил более 300 архитекторов. Создает и проводит обучающие курсы для любых технических направлений.
Запишитесь на консультацию с ex-Architect Miro и EPAM и преподавателем курса Павлом Вейником
Теория
Живые лекции в Zoom
Доступ ко всем записям и материалам курса на неограниченное время
Теория
Career
$1100
$3000 единовременным платежом
/месяц
Практика
Дополнительные Бонусы
Практические занятия в Zoom
Общение в групповом чате вашего потока онлайн
Индивидуальная обратная связь по задачам
Электронный сертификат об окончании курса на EN и RU языках
Практика
Дополнительные Бонусы
Консультирование
Практические занятия в Zoom
Общение в групповом чате вашего потока онлайн
Несколько сессий карьерного консультирования с Павлом Вейником общей длительностью 3 часа
Индивидуальная обратная связь по задачам
Электронный сертификат об окончании курса на EN и RU языках
Доступ к закрытому сообществу выпускников и бесплатным мероприятиям
Доступ к закрытому сообществу выпускников и бесплатным мероприятиям
Standard
$800
$2200 единовременным платежом
/месяц
[ Стоимость курса ]
Теория
Живые лекции в Zoom
Доступ ко всем записям и материалам курса на неограниченное время
Текстовые конспекты
Текстовые конспекты
Architect
$1250
$3500 единовременным платежом
/месяц
Практика
Дополнительные Бонусы
Консультирование
Практические занятия в Zoom
Общение в групповом чате вашего потока онлайн
Несколько сессий архитектурного консультирования с Павлом Вейником общей длительностью 5 часов
Индивидуальная обратная связь по задачам
Электронный сертификат об окончании курса на EN и RU языках
Доступ к закрытому сообществу выпускников и бесплатным мероприятиям
Живые лекции в Zoom
Доступ ко всем записям и материалам курса на неограниченное время
После прохождения курса прокачал и получил новые знания в области архитектуры распределенных систем, узнал новые подходы к решению типичных проблем проектирования: шаблоны, паттерны, очереди и многое другое. Научился видеть узкие места архитектуры на ранних этапах развития систем и расширил список вариантов решения подобных проблем. Получил навык прогнозирования рисков развития архитектуры и управления ими.
Я пришел на курс не как разработчик, а как менеджер продукта. Моей целью было более глубоко разобраться в технической стороне разработки продукта: подборе стеков, архитектуры, устойчивости систем, базах данных и так далее.
Несмотря на то что курс сфокусирован на разработчиков, информация структурирована и последовательно, что дает возможность оперативно в ней разобраться. Уже в процессе прохождения курса, мне удалось сразу же применять полученные знания на практике внутри проекта, ориентируя разработчиков и обращая их внимание на важные аспекты.
Я пришла на курс, чтобы прокачаться технически. Мне очень понравилась фраза Паши в начале курса "возьмите максимум того, что вы можете". Я так и сделала. Были темы, которые, конечно, я не знала, и, я понимала, что мне пару дней или недельку маловато. Для таких тем я выделила доску в трелло и записывала туда пометки, поэтому на ближайшее время есть планы, задачи, которые планирую посмотреть и разобраться детальнее.Также мне было сложно самой себе ставить цели для ...
Я на первом занятии для себя сформулировал свои ожидания. Первое я назвал "закрепить фундамент", то есть, фундамент распределенных систем, баз данных и прочее. Понять, как собирать и формировать требования. В принципе, некий фундамент закрепился: есть понимание, как это работает и, в случае чего, что гуглить - я знаю. Где-то хотелось бы углубиться в теоретическую основу, но это, скорее, мой личный запрос...
Идя на курсы у меня было несколько запросов. Первый, и наверное самый важный - это систематизация знаний, приобретенных за годы работы. По опыту работы получалось, что знаний много, но четкой системы в них не было. И эту задачу в рамках курсов у меня получилось "закрыть". Безусловно мне есть еще куда расти, но теперь на многие вещи я смотрю куда увереннее и уже получилось начать применять этот систематизированный подход на работе при решении проблем и задач...
Хотел сказать огромное спасибо за курс. То, что преподавалось на курсе, имею в виду программу, Павел рассказал на установочном звонке и на курсе было всё, что обсудили. Что мне дал курс: более структурное, организованное, рациональное мышление. Многие вещи, которые были у меня на проекте, принципы которым следовал, какие-то умозаключения на которых основывался - многое из всего этого пересмотрел...
От курса ожидал узнать как подходить к решению архитектурных задача (какие вопросы задавать, на что обращать внимание). Также хотел получить новые знания и посмотреть как архитектурные задачи решают другие. По завершении курса могу сказать, что все мои ожидания оправдались. Было очень много нового для меня, а задачи которые мы рассматривали, позволили проработать часть теории, которую мы прошли. Также очень полезным ...
На курсе я точно расширил технический кругозор. Посмотрел, какие есть решения, с какой стороны подходить к архитектуре распределённых систем. Как минимум, сейчас не страшно начинать, уже понятно куда смотреть, за что браться в первую очередь, что стоит посчитать, чтобы набросать примерно то, что нам надо. Удалось систематизировать и структурировать свои знания ещё лучше. Получилось определиться с некоторыми определениями ролей и ...
Можно начать с того, что я не девелопер, а QA автоматизатор сильно стремящийся в sdet. Для меня курс был крайне интересен. В его процессе я стал исполнять роль технического лида в своей команде, что можно считать успешным прохождением курса. Помимо проектирования систем для тестирования внутри компании, в целом более осознанно стал читать техническую документацию , понимать почему выбрано такое решение и задавать правильные вопросы ...
Мне вроде как все понравилось. Систематизация инструментов была, + она была улучшена вопросами со стороны группы и дискуссией в лайве по схеме вопрос - ответ. Очень понравились уроки где мы рисовали и решали задачи в лайве с Пашей. Было пару уроков где мы как студенты не подготовились, а Паша рассчитывал на нас, и пришлось импровизировать. Вот здесь наверное Паше нужно ...
Мои ожидания полностью оправдались. High-scale для меня скорее минус, чем плюс. Никогда не была интересна архитектура, где задача стоит и вопрос только в том, как это смаштабировать. Мне нужно было обсудить с другими людьми, понять, как они мыслят, потому что для меня пока не было общего представления об обосновании архитектуры, не было опыта создания архитектур с нуля, чтобы понять, что делается и почему так делается. Самое, сложное ...
Как и у всех, моя цель была систематизация знаний, плюс, хотелось как-то расширить свой кругозор об инструментах, которые можно применять, как применять, в каких случаях какой будет лучше, и как-то смотреть на принцип построения больших, нагруженных, распределенных систем. В целом, из тех задач, которые я себе ставил, неплохо прошлись по всем. То есть, на наших лекционных занятиях рассмотрели все возможные кэши ...
На курс я пришёл мидл плюс-минус. То есть, я, в принципе, умел решать задачи, я работал с командами, умел управлять процессом разработки. В общем, получалось. И совершенно не было перспектив на тему того, чтобы понимать, как двигаться дальше в профессии, какие есть варианты, в принципе. Курс дал возможность разобраться в том, что такое проектирование сложных систем в принципе, из чего состоит, как к этому вообще подходит, какие есть ...
Читать отзыв полностью
Middle developer
Дмитрий Лозюк
Курс понравился тем, что затрагивает не только широкую сферу знаний, но и достаточно глубоко. Чего мне хватило: - понимания где и при каких условиях применять различные типы баз данных - внутреннее устройство баз данных Чего не хватило: - практики устройства распределенных систем. например конфига k8s с описанием всех сервисов. я привык все делать руками ...
Читать отзыв полностью
Igor Atroshkin
Сформировал подходы как браться за архитектуру, появилось больше смелости. Если будет какая-то сложная архитектура, я понял как подходить к ней, как развивать, как действовать. Очень полезный курс был в плане того, что у меня была нехватка базовых знаний в архитектуре. Я понял, какие бывают базы, типы и критерии их использования, чтобы выбрать базу, архитектурные компоненты. Очень понравилось совместное обсуждение с ребятами архитектур, домашнего задания, систем, решений. Это было очень круто, спасибо!
Кругозор однозначно расширился. Раньше недостаток был везде: старался применять реляционный подход баз данных, даже когда были оптимальнее другие базы, а сейчас посмотрел на решение задач с разными подходами и теперь не всё будет опираться в реляционный подход. Единственное, что недооценивал свои возможности в плане времени. В идеале, было бы выделять часов 10 на домашку и занятия.. А так, в основном, доволен, что очень много понял и расширил кругозор
Я до этого про архитектуру теоретически что-то слышала, но было очень интересно посмотреть на реальные примеры. Хотя в начале было очень тяжело и не было понятно вообще что и как, и что от меня хотят, а потом втянулась и получалось что-то сделать с личным проектом. Было очень полезно посмотреть как что-то подобное мы проектируем и сделаем на практике. я не на 100% сделала то что собиралась, но я поняла, что под разные задачи есть свои ...
Когда я пришел на курс и говорил, что моя первая цель - это расширить кругозор, и что ещё существует кроме того, что я сейчас использую… В этом плане ожидания мои оправдались на 100%. Особенно очень мне хорошо зашла первая часть курса про базы данных, сколько их, что есть, такое разнообразие. Про очереди: то, что углубились в архитектуру кафки - это раз. Второе, у меня сейчас есть понимание, как начинать, от чего отталкиваться, когда ...
Читать отзыв полностью
Андрей Шинкоренко
Действительно очень расширился кругозор. Курс позволил посмотреть на архитектурные задачи с другого угла с другого ракурса. Конечно, я не рассчитал запал вначале.. был очень амбициозно настроен на выполнение домашних заданий и реализацию собственного проекта, но со временем запал немножко приуменьшился, но это не убавило интереса от курса. Проект который я задумал, я уверен, что я реализую, вопрос лишь времени
Когда я пришел на курс и говорил, что моя первая цель - это расширить кругозор, и что ещё существует кроме того, что я сейчас использую… В этом плане ожидания мои оправдались на 100%. Особенно очень мне хорошо зашла первая часть курса про базы данных, сколько их, что есть, такое разнообразие. Про очереди: то, что углубились в архитектуру кафки - это раз. Второе, у меня сейчас есть понимание, как начинать, от чего отталкиваться, когда создаем архитектуру проекта, особенно если это Highload проект. До курса у меня не было такого понимания, а сейчас даже есть какой-то примерный template. В течение курса я свой проект показал и домашние задания сделал c Pinterest, социальной сетью. Мне очень понравилась тема про системную инженерию, совсем открытие для меня было, что есть такая тема. Сам понимаю, что немного мало времени уделял курсу: лекции я все просмотрел, но стоило больше делать домашних заданий. Но, в принципе, я доволен полностью. Остаются ссылки. Особенно, очень полезная ссылочка, которую давали на GitHub про System design. Как итог, я доволен, полностью оправдались мои ожидания от курса. Как рекомендация, на мой взгляд было бы лучше, если бы несколько человек объединялись в группы и делали это вместе. Т.к мы все работаем в команде, а один человек не делает такие проекты.
Иван Бобылев
Я пришел на курс не как разработчик, а как менеджер продукта. Моей целью было более глубоко разобраться в технической стороне разработки продукта: подборе стеков, архитектуры, устойчивости систем, базах данных и так далее. Несмотря на то что курс сфокусирован на разработчиков, информация структурирована и последовательно, что дает возможность оперативно в ней разобраться. Уже в процессе прохождения курса, мне удалось сразу же применять полученные знания на практике внутри проекта, ориентируя разработчиков и обращая их внимание на важные аспекты. Курс был для меня очень полезным, я полностью достиг своих целей. Я закончил курс раньше, на этапе когда начались узкоспециализированные темы, которые мне как не-разработчику были не нужны и softskills с которыми у меня нет проблем. До того как я попал на курс, я не знал Павла, не видел вебинаров, я просто загуглил "обучение техлида" и нашел HardSoft Skills. По сути, это был единственный курс полноценно отвечающим моей цели в более глубоком и целостном погружения в проектирование и создание IT-продукта. На мой взгляд, данный курс будет крайне полезным для всех, кто работает в IT. Рекомендую!
Юлия Долгун
Я до этого про архитектуру теоретически что-то слышала, но было очень интересно посмотреть на реальные примеры. Хотя в начале было очень тяжело и не было понятно вообще что и как, и что от меня хотят, а потом втянулась и получалось что-то сделать с личным проектом. Было очень полезно посмотреть как что-то подобное мы проектируем и сделаем на практике. я не на 100% сделала то что собиралась, но я поняла, что под разные задачи есть свои инструменты и нет самых лучших баз данных. Что под каждые данные есть что-то своё оптимизированное. Еще я поняла, что можно изучать дальше, так как раньше был ограниченный горизонт интересов, а сейчас очень расширился, на несколько лет вперёд точно
Роман Малинин
На курс я пришёл мидл плюс-минус. То есть, я, в принципе, умел решать задачи, я работал с командами, умел управлять процессом разработки. В общем, получалось. И совершенно не было перспектив на тему того, чтобы понимать, как двигаться дальше в профессии, какие есть варианты, в принципе. Курс дал возможность разобраться в том, что такое проектирование сложных систем в принципе, из чего состоит, как к этому вообще подходит, какие есть варианты. В какой-то степени я стал себя более уверенно чувствовать перед работодателем, перед потенциальным новым работодателем, ну, или ещё что-нибудь в этом роде. Вот, я ответил на свои вопросы по поводу того, как проектировать сложные системы, где могут быть проблемы, как они могут падать, на что нужно смотреть и т.д. В целом, обзор того, что есть, как этим пользоваться, понимание того, как это устроено в сложных системах, как проектировать сложные системы. Ну, и некоторый небольшой опыт самостоятельной работы, самостоятельного проектирования…
Мне понравилась работа, когда мы делали какой-то живой проект. То есть, ставились задачи, мы вместе обсуждали, предлагали какие-то варианты. Это работает хорошо как и на самостоятельной работе, так и на групповом обсуждении. Когда я занимался исключительно проектами сам, дома, то я оперировал теми знаниями, которые у меня есть. Понятно, что можно ещё нагуглить, ещё посмотреть, но подготовить домашнее задание к следующему занятию гуглинием не всегда получается, потому что сложно узнать то, чего ты не знаешь, и быстренько в этом стать квалифицированным. А вот эти вот групповые занятия, они позволяли услышать в реальном времени большое количество вариантов, посмотреть, как это может развиваться на каждом этапе, в какую сторону. И это даёт такой кругозор мышления. А, по поводу ожиданий: ни разу не было такого, чтобы я пожалел о том, что я заплатил эти деньги. Хотя деньги не маленькие. У меня до этого был... когда я входил в профессию, у меня был годовалый курс в GeekBrains. Я отдал за него примерно такие же деньги, и, вот, очень сильно переживал по этому поводу. А здесь я даже не вспоминал об этом. Было бы интересно, в будущем какие-то варианты других курсов тоже с твоим участием посетить. И, вообще, спасибо за курс. Определённая уверенность благодаря этому курсу у меня появилась.
Я теперь уже даже мечу в архитекторы и понимаю, что у меня уже есть одна дверь, через которую в архитекторы можно войти
Владимир Ламейко
Мои ожидания полностью оправдались. High-scale для меня скорее минус, чем плюс. Никогда не была интересна архитектура, где задача стоит и вопрос только в том, как это смаштабировать. Мне нужно было обсудить с другими людьми, понять, как они мыслят, потому что для меня пока не было общего представления об обосновании архитектуры, не было опыта создания архитектур с нуля, чтобы понять, что делается и почему так делается. Самое, наверное, сложное для меня было понять то, что архитектура из простого API и базы данных - это тоже архитектура со своими плюсами и минусами. И так тоже можно, и это всё что необходимо, больше ничего не надо. Нужно обосновать, почему ты больше ничего не используешь. Курс для меня полностью оправдался, и я хотел погрузиться в это, понять, заходит мне такие задачи или не заходят. Моя задача была расширить знания в принятии архитектурных решений, оставаясь на прикладном уровне, и я этого достиг. Всё равно по ходу деятельности я решаю архитектурные задачи, возникают архитектурные вопросы, но и теперь я больше понимаю как их принимать и как мыслить
Александр Гокк
Как и у всех, моя цель была систематизация знаний, плюс, хотелось как-то расширить свой кругозор об инструментах, которые можно применять, как применять, в каких случаях какой будет лучше, и как-то смотреть на принцип построения больших, нагруженных, распределенных систем. В целом, из тех задач, которые я себе ставил, неплохо прошлись по всем. То есть, на наших лекционных занятиях рассмотрели все возможные кэши, очереди и прочее. Я далеко не всё это знал, в голове отложилось. По крайней мере, я смогу и буду знать что и где искать, когда это понадобится. Мне ещё очень хотелось, как одна из целей, security. К сожалению, тут мы не затронули вообще. Вот именно security во взаимодействии компонентов, систем, не только внешне, но и внутри, когда разные компоненты разные команды разрабатывают. Вот этого не хватало. Также очень понравилось, и очень было полезным, когда мы разбирали какие-то конкретные задачки. Это классно. Как Илья говорил, классно было бы иметь такой вот справочник, который бы говорил, как и что делать. Естественно, такого справочника нету, но вот это вот занятие, когда мы разбирали какие-то задачки, пытались что-то вместе проектировать, это и есть составление таких частей этого справочника у нас в голове, что, как мне верится, облегчит в будущем составление проектов для других систем, которые, возможно, в чём-то похожи, ну, или даже отличаются. Полезно было даже не только посмотреть на то, как мы строили системы, а какими вопросами задавались: с чего начать, на чем фокусироваться. Это тоже очень важно. Именно весь интерактив с группой, самое интересное и, мне кажется, полезное. Больше всего откладывается в голове. Хотелось бы иметь возможность больше уделять времени домашнему заданию, потому что это классная штука, к сожалению, мало у кого получалось. У меня в том числе.
+ разумное соотношение теоретических и практических занятий + практические занятия (совместное обсуждение, проектирование) вообще супер! - секьюрити не затрагивали совсем (но этого и не было в программе курса, просто моя хотелка :)
Артём Шклярик
На курсе я точно расширил технический кругозор. Посмотрел, какие есть решения, с какой стороны подходить к архитектуре распределённых систем. Как минимум, сейчас не страшно начинать, уже понятно куда смотреть, за что браться в первую очередь, что стоит посчитать, чтобы набросать примерно то, что нам надо. Удалось систематизировать и структурировать свои знания ещё лучше. Получилось определиться с некоторыми определениями ролей и что от них требуется. Это сейчас очень помогает, потому что зачастую у людей разное субъективное понимание что это такое и что от этого ожидать. Понравилось то, что было очень много домашки и какие задачи ставились - заставляет изучать совсем новые для себя области и думать. По соотношению теории и практики, мне кажется, в самый раз. Весь вопрос в том, как ты выделяешь под это свое время, а его нужно выделять. Что немаловажно, ещё посмотрел и понял, как ребята более опытные, чем я, рассуждают при решении таких задач. Очень много для себя подчёркиваешь, именно как работает мышление в таких задачах у людей более опытных. Например на что стоит обратить большее внимание, а чем можно пренебречь. Какие подводные камни, которые я с ходу не заметил, могут всплыть. Полезный обмен опытом!
Анна Андреевна
Я пришла на курс, чтобы прокачаться технически. Мне очень понравилась фраза Паши в начале курса "возьмите максимум того, что вы можете". Я так и сделала. Были темы, которые, конечно, я не знала, и, я понимала, что мне пару дней или недельку маловато. Для таких тем я выделила доску в трелло и записывала туда пометки, поэтому на ближайшее время есть планы, задачи, которые планирую посмотреть и разобраться детальнее.Также мне было сложно самой себе ставить цели для развития. После курса я понимаю, на каком я сейчас уровне, вижу, куда расти и как. А еще теперь я знаю много классных, достоверных ресурсов, на которых можно искать качественную информацию, что во многом ускоряет процесс поиска ответов )) Из того, что хотелось бы улучшить. Для меня занятие больше 2 часов без перерыва было долгим, к концу было сложновато сконцентрироваться, поэтому хотелось бы небольшие перерывы во время занятия. В начале курса были рассчеты, я с таким до курсы не сталкивалась и мне было непонятно откуда брать правильную информацию, т к когда ищешь сам, находишь не одно решение, и сложно понять, на какое нужно ориентироваться. Хотелось бы чтобы вначале это объяснили или подсказали где чего посмотреть) Спасибо большое Паше. И вообще всем ребятам за участие. Было интересно!
Роман Черняков
Можно начать с того, что я не девелопер, а QA автоматизатор сильно стремящийся в sdet. Для меня курс был крайне интересен. В его процессе я стал исполнять роль технического лида в своей команде, что можно считать успешным прохождением курса. Помимо проектирования систем для тестирования внутри компании, в целом более осознанно стал читать техническую документацию, понимать почему выбрано такое решение и задавать правильные вопросы. Такие темы, как, например, системная инженерия заставили переосмыслить некоторые вещи и позволили мыслить более системно, а графическое представление 7-ми альф стало моем «затертой сохраненкой». Если подытожить все вышесказанное, то мои ожидания от курса оправдались, результатом я доволен. Я расширил свой кругозор, закрыл часть своих пробелов в технологиях, узнал о новых подходах и принципах.
Андрей Потёмкин
Мне вроде как все понравилось. Систематизация инструментов была, + она была улучшена вопросами со стороны группы и дискуссией в лайве по схеме вопрос - ответ. Очень понравились уроки где мы рисовали и решали задачи в лайве с Пашей. Было пару уроков где мы как студенты не подготовились, а Паша рассчитывал на нас, и пришлось импровизировать. Вот здесь наверное Паше нужно наготове пару тем держать что их вкинуть и провести интересный урок ( ибо такие случаи я думаю были, есть и будут ). Возможно даже заранее на первых занятиях, предложить, спросить, темы ( бэкап темы на такие случаи)А так курс топ, я получил что хотел и на сохранял информации и задач ( где углубится, где почитать что я не понял, в какую сторону копать и т.д ). Вам огромное спасибо за курс, за организацию!
Александр Ничипорович
От курса ожидал узнать как подходить к решению архитектурных задача (какие вопросы задавать, на что обращать внимание). Также хотел получить новые знания и посмотреть как архитектурные задачи решают другие. По завершении курса могу сказать, что все мои ожидания оправдались. Было очень много нового для меня, а задачи которые мы рассматривали, позволили проработать часть теории, которую мы прошли. Также очень полезным оказалось посмотреть как решают те же вопросы другие ребята и зачастую более удачно. Компания ребят попалась отличная.
Что касается теории, то ряд тем не только интересны, но и для меня оказались сложными. К примеру, когда было несколько лекций по системе инженерии, для меня это была настолько сложная тема, что пришлось раза три пересматривать видео и еще изучать в дополнительные источники, чтобы понять основы. Аналогично и с лекциями по базам данных - очень хорошо расширяет кругозор. Как пример Kafka с которой не работал и примеры БД для высоконагруженных систем как ClickHouse.
Для себя решил дальше двигаться в этом направлении и хочу получить практический опыт работы с высоконагруженными системами и поработать с другими технологиями (сейчас у меня привязка к Microsoft стеку).
Илья Шкиренко
После прохождения курса прокачал и получил новые знания в области архитектуры распределенных систем, узнал новые подходы к решению типичных проблем проектирования: шаблоны, паттерны, очереди и многое другое. Научился видеть узкие места архитектуры на ранних этапах развития систем и расширил список вариантов решения подобных проблем. Получил навык прогнозирования рисков развития архитектуры и управления ими. Курс помог определить фокус в развитии карьеры и дал много полезной информации и знакомств. Спасибо, Павел!
Заневский Виталий
Идя на курсы у меня было несколько запросов. Первый, и наверное самый важный - это систематизация знаний, приобретенных за годы работы. По опыту работы получалось, что знаний много, но четкой системы в них не было. И эту задачу в рамках курсов у меня получилось "закрыть". Безусловно мне есть еще куда расти, но теперь на многие вещи я смотрю куда увереннее и уже получилось начать применять этот систематизированный подход на работе при решении проблем и задач. Второй запрос, а он был немного необычный - это эмоциональный, когда работа забирает много времени и сил, то далеко не всегда можно найти их на обучение, поэтому сам тот факт, что ты учишься не один, а в компании таких же увлеченных людей как и ты, заряжает тебя энергией и желанием даже усталым продолжать заниматься. В этом плане курс "Технический лидер" отработал на все 100%. В качестве дополнительного неожиданного и приятного бонуса могу отметить то, что далеко не все поставленные передо мной технические задачи я мог решить сходу, поэтому пришлось параллельно пройти еще ряд других обучающих курсов ориентированных на технологии, до которых раньше не доходили руки. Резюмируя все, я хочу сказать "спасибо" Павлу и Виктории за организацию курса и всем тем парням, с кем я его проходил. Это было действительно интересно
Олег Строкачук
Я на первом занятии для себя сформулировал свои ожидания. Первое я назвал "закрепить фундамент", то есть, фундамент распределенных систем, баз данных и прочее. Понять, как собирать и формировать требования. В принципе, некий фундамент закрепился: есть понимание, как это работает и, в случае чего, что гуглить - я знаю. Где-то хотелось бы углубиться в теоретическую основу, но это, скорее, мой личный запрос. У меня был такой пункт "избавиться от синдрома самозванца". Кажется, он больше не прогрессирует :). Из следующих, я хотел бы получить "менториг/коучинг с зонами роста". Здесь, наверное, с моей стороны я запрашивал какого-то фидбэка и т.д. По техническим решениям зоны роста были обозначены, что не маловажно. Еще одно ожидание - обмен знаниями с другими участниками курса. Очень интересно обсудить реальные проекты: во-первых, кто и чем живет, какие идеи, языки и технологии применяет. На курсе нет про теорию конкретных технологий - у нас не говорилось, что стоит использовать такой язык программирования, здесь такой паттерн, а вот здесь такой-то фреймворк. Нам давали фундаментальные знания, которые позволяют сделать выбор самостоятельно. А далее в общем обсуждении уже рождалось технические решения и это очень круто. И, наверное, самое полезное, что я вынес, это тот факт, что технических знаний будет всегда где-то не хватать и это можно компенсировать - почитать, разобраться и делегировать. А вот работать с людьми на самом деле намного сложнее - уметь договариваться, задать нужные вопросы, построить беседу, понять роли людей и их мотивы. Наверное, этот курс для меня в первую очередь стал очередным открытием того, что технические знания часто не на первом месте. Нужно играть в "Игру престолов", нужно уметь разговаривать, договариваться, добиваться авторитета, становиться лидером. Можно проектировать говно, но если разобраться, что нужно заказчиками, завоевывать доверие и уметь вести людей вперед - то все получится.
Виталий Апетёнок
Хотел сказать огромное спасибо за курс. То, что преподавалось на курсе, имею в виду программу, Павел рассказал на установочном звонке и на курсе было всё, что обсудили. Что мне дал курс: более структурное, организованное, рациональное мышление. Многие вещи, которые были у меня на проекте, принципы которым следовал, какие-то умозаключения на которых основывался - многое из всего этого пересмотрел. Пришло понимание и осознание того, что при обсуждении в команде сложных, а порой и спорных, технических решений многие вещи упускались. И многое. будь то архитектурные решения или организация работы в команде, можно делать проще и совсем по-другому. Понравилось то, что обсуждение походов сводилось не к конкретным техническим решениям, а к обсуждения чего-то абстрактного, с вытекающим объяснением подхода к выбору технологий и их детальному изучению, плюсов/минусов. Это очень здорово и, на самом деле, тоже мне очень помогло. Курс очень интересный. Благодаря тому, что в группе достаточно много слушателей, можно получить бесценный опыт решений, которые применены на проектах у других. Ребятам тоже за это большое спасибо. Увидеть, как люди думают, какие-то вещи, возможно, для себя отметить. Каких-то минусов я не назову, потому что получил даже больше для себя, чем было на повестке. Единственное - со своей стороны всё-таки нужно было больше времени уделить. Чтобы получить максимум пользы - понадобится выделить достаточно много своего времени. Всё было очень круто и, безусловно, стоит того. Планирую продолжить сотрудничество с HardSoftSkills. Безусловно стоит отметить преподавательские и ораторские способности Павла. Чётко построенное повествование с акцентами на более важных моментах. Очень интеренсо следить за ходом мыслей и обсуждать с ним различные рещения. Курсом полностью доволен! Спасибо.
Все занятия записываются. К записям предоставляется доступ на неограниченное количество времени. Поэтому вы сможете пересматривать в удобное время и в удобном темпе, а также при необходимости просматривать после окончания курса
Консультация — это неформальный диалог с преподавателем курса, где вы знакомитесь, делитесь информацией о себе, о своем опыте, а также запросом и пожеланием от курса. Цель консультации — определить, будет ли полезен и релевантен курс для вас
Практика — основополагающая часть курса. Практика проводится 1 раз в неделю, где проходит обсуждение ваших домашних заданий и преподаватель дает обязательно обратную связь по ней. Кроме того у вас всегда есть возможность обсудить домашнее задание и вопросы по нему не только на практическом занятии, а также в чате курса. Также вы можете написать преподавателю и получить ответы и рекомендации по выполнению
Продолжительность занятий: 1 час в неделю. Помимо этого мы рекомендуем уделять внимание домашним заданиям для получения более высокого результата от обучения. В среднем на домашнее задание уходит около 3-4 часов. Таким образом, в неделю на обучение необходимо уделять от 4 часов
Дни и время занятий участники курса выбирают вместе путем голосования на первом организационном собрании. Занятия проводятся 2 раза в неделю.
Рассрочка платежа есть. Вы можете оплатить курс ежемесячно 3-мя равными долями, в зависимости от выбранного вами пакета
Да, вы получите сертификат после окончания обучения на русском и английском языках
Соглашение на обработку персональных данных
Присоединяясь к настоящему Соглашению и оставляя свои данные на Сайте Hard&Soft Skills, путем заполнения полей онлайн-заявки (оформления заказа) Пользователь:
– подтверждает, что указанные им персональные данные принадлежат лично ему; признает и подтверждает, что он внимательно и в полном объеме ознакомился с настоящим Соглашением и содержащимися в нем условиями обработки его персональных данных, указываемых им в полях онлайн заявки (регистрации) на Сайте; – признает и подтверждает, что все положения настоящего Соглашения и условия обработки его персональных данных ему понятны; – дает согласие на обработку Сайтом предоставляемых персональных данных в целях регистрации Пользователя на Сайте; – выражает согласие с условиями обработки персональных данных без каких-либо оговорок и ограничений.
Пользователь дает свое согласие на обработку его персональных данных, а именно совершение действий, предусмотренных законом «О персональных данных» Республики Беларусь, и подтверждает, что, давая такое согласие, он действует свободно, своей волей и в своем интересе. Согласие Пользователя на обработку персональных данных является конкретным, информированным и сознательным.
Настоящее согласие Пользователя применяется в отношении обработки следующих персональных данных: – фамилия, имя, отчество; – номера телефонов; – адресах электронной почты (E-mail); – данные о профессиональных навыках.
Пользователь предоставляет сервису https://hardsoftskills.dev право осуществлять следующие действия (операции) с персональными данными:
– сбор, накопление и хранение данных; – уточнение (обновление, изменение); – использование в целях регистрации Пользователя на Сайте; – удаление.
Указанное согласие действует бессрочно с момента предоставления данных и может быть отозвано Вами путем обращения через «Форму обратной связи» или по e-mail info@hardsoftskills.dev.
Сайт имеет право вносить изменения в настоящее Соглашение. При внесении изменений будет указываться дата последнего обновления. Последнее обновление: 22/09/2023