Чему вы научитесь
- Принимать решения исходя из своих знаний устройства языка.
- Анализировать поведение рантайма.
- Лучше понимать реальную стоимость аллокаций.
- Работать с внутренней структурой слайсов, интерфейсов и новых map (на Swiss Tables).
- Проектировать эффективную асинхронность.
- Применять паттерны конкурентности не по шаблонам из статей, а исходя из задач системы, чтобы не было в приложении никаких гонок данных и утечек горутин.
- Строить HTTP-серверы и клиенты.
- Создавать CLI-приложения и работать с JSON/файлами так, как это делается в реальных высоконагруженных проектах.
- Работать со временем и данными корректно.
- Осознанно выбирать абстракции, сравнивать подходы и понимать trade-offs между удобством кода и его эффективностью на уровне памяти и CPU.
- Мыслить как инженер, не просто писать работающий код, а создавать системы, предсказуемые под нагрузкой и поддерживаемые в долгосрочной перспективе.
О курсе
Углубленный курс по Go для тех, кто хочет понимать язык на уровне runtime и компилятора. Разбираем внутреннее устройство слайсов, мап (Swiss Tables), интерфейсов и асинхронности. Учимся писать эффективный backend, CLI и HTTP-серверы, опираясь на знание того, как код работает в памяти. Только Hard skills и архитектура production-систем. Это второй уровень после базового курса от Павла Тарасова.
Для кого этот курс
Курс предназначен для начинающих Go-разработчиков, которые хотят расти и работать с серьезными приложениями, backend-системами.
Вам этот курс нужен,:
Вы только начали изучать Go, или пишете на Go 1+ год, но чувствуете, что не понимаете, что происходит "под капотом", и хотите устранить этот пробел.
Вы планируете переходить в команду, работающую с высоконагруженными сервисами, микросервисами или инфраструктурными инструментами.
Вы столкнулись с проблемами производительности, гонками данных или необъяснимым поведением кода и хотите научиться диагностировать их системно.
Вы прошли базовый курс по Go и ищете логичное продолжение без повторения основ.
Вы готовитесь к собеседованиям на позиции Go Developer и хотите уверенно отвечать на вопросы про runtime, память и конкурентность.
Курс подойдет и новичкам, которые ничего не понимают в программировании, но вам придется начать с базового курса, где будет вводный материал по синтаксису.
Начальные требования
Для успешного освоения курса необходимо:
- Знание синтаксиса Go и стандартной библиотеки.
- Прохождение базового курса по Go (или эквивалентные знания).
Если сомневаетесь - начните с базового курса по Go.
Преподаватели курса
Как проходит обучение
Обучение строится вокруг практики и глубокого понимания, а не пассивного просмотра видео.
Что входит в курс:
- Видеолекции с детальными разборами тем и демонстрацией кода.
- Тестовые задания, где вы будете закреплять знания, которые были получены в видео.
- Практические задания для закрепления материала. Задачи, зачастую, приближены к реальным backend-сценариям.
- Автоматическая проверка решений с подробными тестами и обратной связью по ошибкам.
- Закрытое Telegram-сообщество для вопросов, обсуждения решений и обмена опытом. Я и другие студенты отвечаем на вопросы и помогаем разобраться в сложных темах.
Формат предполагает самостоятельную работу в удобном темпе с возможностью получить помощь при возникновении трудностей.
Что вы получите
- Глубокое понимание Go, которое отличает инженера от кодера.
- Знание runtime, понимание работы памяти, компилятора и их влияния на архитектуру приложений.
- Умение писать производительный, надежный и поддерживаемый код, работать с асинхронностью и HTTP на уровне реальных проектов.
- Практический опыт через задачи, моделирующие реальные инженерные проблемы, а не академические примеры.
- Доступ к сообществу единомышленников и прямую поддержку автора курса в Telegram.
- Фундамент для дальнейшего роста. Курс готовит к изучению продвинутых тем следующего уровня (БД, тестирование, дженерики, профилирование и другие темы).
- Сертификат об успешном завершении курса.