Программирование и создание ИТ-продуктов

Продвинутый Go-разработчик

Яндекс
390,00 часов длительность
Онлайн формат
Продвинутый уровень
1 поток (закрыт) 27.07.2022-26.02.2023
2 поток (закрыт) 24.08.2022-26.03.2023
3 поток (закрыт) 21.09.2022-26.04.2023
4 поток (закрыт) 19.10.2022-26.05.2023
5 поток (закрыт) 16.11.2022-25.06.2023
6 поток (закрыт) 14.12.2022-31.07.2023

Описание

Go-разработчик создаёт высоконагруженные сервисы в сферах онлайн-ретейла, доставки, финтеха, фудтеха, городской мобильности, интернета вещей. Кроме того, на Go написаны инструменты для контейнеризации Docker и оркестрации контейнеров Kubernetes, как и другие DevOps-инструменты. Go придумали в Google в качестве замены С++ на тех проектах, где была важна скорость разработки и компиляции кода. Go — простой язык: в нём мало ключевых слов и неявных элементов. Основной упор сделан на эффективное использование вычислительных ресурсов при минимальных затратах и на написание кода благодаря встроенным в язык примитивам многопоточности.

Go выделяется простотой языка, низким риском ошибок, лёгким чтением библиотек, самодостаточностью и активным развитием со стороны авторов языка и сообщества. Ситуация на рынке труда благоприятна для Go-разработчиков, у которых уже есть опыт в разработке. Перейти на Go для развития карьеры и повышения своей ценности проще всего будет тем разработчикам, кто имел дело с С-подобными языками: C++, Python, Java, PHP. Они все примерно похожи по своей механике и типам данных.

Курс «Продвинутый Go-разработчик» предназначен для тех, кто знаком с программированием, но пишет код на другом языке. Курс предполагает, что у слушателя уже есть навыки бэкенд-разработки, а также понимание синтаксиса Go. 

Наше ключевое отличие: слушатели учатся в малых группах по 15 человек, и мы даём им возможность обмениваться опытом с менторами, в том числе в индивидуальном формате один на один, чтобы слушатель мог развиваться быстрее и осознаннее. Наш курс по Go следует принципам менторства senior-разработчика над junior в компании, но в безопасной среде, и этим отличается от остальных.

 

Часов в программе
60,00 часов
лекции
172,00 часа
практика
70,00 часов
самостоятельная
12,00 часов
промежуточная аттестация
1 час
входная диагностика
75 часов
итоговая аттестация
390,00 часов
всего
Цель программы
Получение слушателями профессиональных компетенций в области разработки программного обеспечения на языке Go на продвинутом уровне.
Актуальность
Спрос на Go-разработчиков на рынке постоянно растёт, поэтому нужно все больше выпускников профильных программ. Таких программ практически нет в ВУЗах и техникумах. Яндекс, один из лидеров IT-индустрии в России, совместно с АНО ДПО «ШАД», обладает достаточной экспертизой, чтобы организовать процесс онлайн-обучения для подготовки Go-разработчиков.
Разумеется, чтобы найти хорошую работу, нужно потрудиться — необходим достаточный опыт разработки в продакшене и развитые soft skills. Если вы заинтересованы в трудоустройстве, наш карьерный центр поможет вам грамотно упаковать ваш опыт в резюме, подсветить сильные стороны и осознать точки роста. Кроме этого, вы будете регулярно получать вакансии от наших партнёров.
Входная диагностика 1 час
Тестирование.
Итоговая аттестация 75 часов
Проектная работа "Менеджер паролей GophKeeper"

Компетенции

Общекультурные


Осуществлять поиск, анализ и оценку информации, необходимой для постановки и решения профессиональных задач, профессионального и личностного развития
Знать:

Знать конкретные источники для получения недостающей информации, необходимой для эффективного выполнения профессиональных задач, профессионального и личностного развития.

Уметь:

Уметь грамотно определять типы и формы необходимой информации;
Уметь извлекать ключевые фрагменты и основное содержание из всего массива информации.

Владеть:

Владеть навыками получения нужной информации и сохранения её в удобном для работы формате
Владеть навыками упрощения подачи информации для ясности понимания и представления.

Профессиональные


Осуществлять разработку кода программного продукта на языке Go
Знать:

Знать синтаксис языка программирования Go, особенности программирования на этом языке, стандартные библиотеки;
Знать особенности выбранной среды программирования и системы управления базами данных.

Уметь:

Уметь применять язык Go для написания программного кода
Уметь читать код на Go и понимать решаемую им задачу;
Уметь реализовывать архитектурные решения и паттерны проектирования на Go.

Владеть:

Владеть навыками создания программного кода в соответствии с техническим заданием (готовыми спецификациями);
Владеть навыками приведения наименований переменных, написания функций, грамотного использования классов и структур данных, обработки файлов в соответствии с установленными в организации требованиями;
Владеть навыками комментирования и разметки программного кода.

Выполнять тестирование кода
Знать:

Знать правила, алгоритмы и технологии создания тестовых наборов данных;
Знать методы и средства проверки работоспособности программного обеспечения;
Знать среды проверки работоспособности и отладки программного обеспечения;
Знать типы и форматы сообщений об ошибках, предупреждений.

Уметь:

Уметь применять методы и средства проверки работоспособности программного обеспечения
Уметь находить и исправлять синтаксические и стилистические ошибки кода;
Уметь применять методы и приемы отладки программного кода;
Уметь проводить код-ревью приложений на Go.

Владеть:

Владеть навыками проверки работоспособности программного обеспечения на основе разработанных тестовых наборов данных;
Владеть навыками оценки соответствия программного обеспечения требуемым характеристикам;
Владеть навыками анализа и проверки исходного программного кода.

Осуществлять оптимизацию программного кода
Знать:

Знать методы и средства рефакторинга и оптимизации программного кода;
Знать современные компиляторы, отладчики и оптимизаторы программного кода.

Уметь:

Уметь применять современные компиляторы, отладчики и оптимизаторы программного кода;
Уметь применять инструментальные средства коллективной работы над программным кодом;
Уметь использовать систему контроля версий для регистрации произведенных изменений.

Владеть:

Владеть навыками анализа программного кода на соответствие требованиям по читаемости и производительности;
Владеть навыками отладки программного кода.

Требования

Нет
Образование
  • Высшее образование
  • Среднее профессиональное образование
Квалификация
Потенциальный слушатель должен обладать квалификацией и профессиональными навыками программиста / техника-программиста.
Опыт профессиональной дятельности
Опыт коммерческой разработки или администрирования от 1-2 лет.
Предварительное освоение иных дисциплин/курсов /модулей
После прохождения входного тестирования у потенциального слушателя есть несколько вариантов построения образовательно траектории:
1. Если слушатель успешно сдал блок тестирования "Вопросы про общие навыки", но не смог сдать "Вопросы про язык и экосистему", или не смог сдать оба блока теста - мы рекомендуем ему пройти бесплатный курс "Основы Go" по ссылке - https://practicum.yandex.ru/go-basics/.
2. Если слушатель успешно прошел "Вопросы про язык и экосистему", но не смог сдать блок "Вопросы про общие навыки", мы рекомендуем ему пройти курс "Python-разработчик".
Владение необходимыми профессиональными компетенциями
Слушатель должен иметь представление:
о принципах передачи данных в сети Интернет (сетевые протоколы, клиент-серверная архитектура, HTTP);
о базовых алгоритмах и структурах данных;

Слушатель должен знать:
как устроен синтаксис Go или любого другого языка программирования; как устроены UNIX-подобные операционные системы;
как работают базы данных;

Модули

свернуть
89,00ч
Модуль 1 Модуль 1. Пакеты стандартной библиотеки
Слушатель научится писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.
15,00ч
Модуль 3 Модуль 3. Паттерны проектирования
В этом модуле рассмотрим паттерны проектирования и антипаттерны программирования на Go.
60,00ч
Модуль 5 Модуль 5. Расширенная стандартная библиотека
В этом модуле слушатель завершит знакомство со встроенными пакетами Go и познакомится с «расширенной» стандартной библиотекой языка, в которой содержится большое количество полезных пакетов.
105,00ч
Модуль 2 Модуль 2. Конкурентность
Расскажем, что такое многопоточность на уровне операционной системы. Слушатель узнает, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace.
45,00ч
Модуль 4 Модуль 4. Тулинг
Слушатель научится использовать тулинг для стилизации и статического анализа кода, создания документации, кодогенерации и профилирования.
89,00ч
Модуль 1 Модуль 1. Пакеты стандартной библиотеки
Слушатель научится писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.
105,00ч
Модуль 2 Модуль 2. Конкурентность
Расскажем, что такое многопоточность на уровне операционной системы. Слушатель узнает, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace.
15,00ч
Модуль 3 Модуль 3. Паттерны проектирования
В этом модуле рассмотрим паттерны проектирования и антипаттерны программирования на Go.
45,00ч
Модуль 4 Модуль 4. Тулинг
Слушатель научится использовать тулинг для стилизации и статического анализа кода, создания документации, кодогенерации и профилирования.
60,00ч
Модуль 5 Модуль 5. Расширенная стандартная библиотека
В этом модуле слушатель завершит знакомство со встроенными пакетами Go и познакомится с «расширенной» стандартной библиотекой языка, в которой содержится большое количество полезных пакетов.
152 000 p
Авторизуйтесь чтобы записаться

Профстандарт

Программист

06.001

Ответственный за программу