Как стать автором
Обновить
VK
Технологии, которые объединяют

Чему вы научитесь на бесплатном курсе VK Education по Go?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5K

Привет, Хабр! Меня зовут Антон Сулаев, я руководитель команды бэкенд-разработки Почты Mail.ru в VK и по совместительству ведущий преподаватель онлайн-курса «Разработка веб-сервисов на Golang». Недавно мы рассказали об открытии набора на новые бесплатные курсы VK Education по нескольким востребованным направлениям — программирование на Python и Go, а также техподдержка.

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

Подача заявок на программу открыта до 20 сентября включительно. Она бесплатная, но нужно пройти отбор. Для поступления требуются знание Python, С/С++ или JavaScript, а также понимание принципов работы основных веб-протоколов и баз данных. Само обучение начнётся 28 сентября. Эта статья поможет понять, из чего состоит курс, чем он будет полезен студентам, а также в целом составить представление о профессии Go-разработчика.

Для начала — немного о себе

Я занимаюсь веб-разработкой на Go шестой год. В VK работаю с 2017 года. Занимательный факт — я пришёл на работу в компанию после окончания того же курса, на котором теперь преподаю :) Я начал путь от стажёра в VK и вырос до senior-грейда, став тимлидом. Сейчас разрабатываю API основного бэкенда Почты Mail.ru, который связывает бизнес-логику глубокого бекенда (поиск, хранение писем, авторизация, профиль пользователя и другие) и клиентов (веб, iOS, Android).

Чем занимается наша команда:

  • Отвечает за SLA основного бэкенда Почты Mail.ru. Мы поддерживаем его на уровне 99,99999.

  • Предоставляем инструменты разработки и тестирования кода API для других команд. Мы обеспечиваем его проверку, выкатку и мониторинг.

На образовательных курсах VK Education преподаю уже четвёртый год. Кто-то занимается этим для построения личного бренда, другие — для развития ораторского мастерства, а я преподаю, чтобы находить талантливых стажёров и сотрудников к нам в команду. Не секрет, что лучшие выпускники курсов имеют перспективы трудоустройства в компанию. 

Курс ведут:

  • Антон Сулаев (это я) — руководитель команды бэкенд-разработки API Почты Mail.ru

  • Дарья Фёдорова — ведущий разработчик команды бэкенд-разработки API Почты Mail.ru

  • Андрей Киселёв — бэкенд-разработчик кросс-командных сервисов в Почте Mail.ru

  • Александр Сазонов — бэкенд-разработчик API в Почте Mail.ru

О программе обучения

Go — популярный язык, который хорошо подходит для создания высоконагруженных систем. На нём приятно писать и поддерживать уже имеющийся код. Чаще всего его используют для бэкенд-разработки при написании сайтов, серверных приложений, парсеров, сложных вычислительных систем и даже баз данных. Мы всегда рады новым разработчикам на Go, учитывая рост таких систем в нашей компании. 

На курсе вы освоите асинхронное программирование, оптимизацию производительности и кодогенерацию, поработаете с базами данных и микросервисами, научитесь разрабатывать веб-сервисы на Go. Всего будет 13 занятий на 52 академических часа. Программа курса будет разнообразной – ниже я постарался более подробно её расписать.

Итак, слушателей курса ждут:

  • Вступительная лекция. Знакомство с Go.

  • Асинхронное программирование.

  • Основы работы с сетью, HTTP.

  • Проектирование API, авторизация.

  • Разработка веб-приложения и его архитектура.

  • Работа с системами хранилищ.

  • Безопасность веб-приложений.

  • Микросервисы.

  • Конфиги, мониторинг.

  • Continuous integration & deploy.

  • Рефлексия и кодогенерация.

  • Резюме современного backend-разработчика и что мы делаем в highload.

Помимо этого студентам будет необходимо выполнить 10 практикоориентированных домашних заданий, например:

  • поэкспериментировать с «чистой архитектурой»;

  • сделать микросервис с использованием gRPC;

  • настроить развёртывание кода на виртуальной машине с помощью Gitlab CI/CD;

  • повозиться со связкой Grafana и Prometheus;

  • написать свой кодогенератор поверх парсера AST;

  • научиться работать с Reflect;

  • оптимизировать код и научиться пользоваться профилировщиком. 

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

Анастасия Скуйбедина, менеджер образовательных проектов VK:

Мы постоянно совершенствуем наши образовательные программы, чтобы прививать студентам самые актуальные навыки, которые востребованы в IT-индустрии сегодня. Отличительной особенностью всех программ, включая “Разработку веб-сервисов на Golang”, является их практикоориентированность. Студенты будут выполнять домашние задания, приближенные к реальным задачам и кейсам индустрии, участвовать в практических воркшопах с менторами и финальном хакатоне, а также смогут получить первичную рецензию кода в домашних заданиях.

Чтобы поступить на курс, нужно пройти онлайн-тестирование. В него входят задачи на базовое знание C/C++, основ веба и логику. То есть для поступления нужно обладать начальным набором знаний по этому направлению. Например, мы не будем объяснять в деталях что такое SQL-запросы и HTTP и как они работают — всё это студенты должны уже знать. Подготовиться к прохождению вступительных испытаний поможет список полезных материалов на сайте.

Каким должен быть Go-разработчик?

Идеальный разработчик — не тот, кто просто пишет код, а тот, кто умеет его раскатывать и решать возникающие проблемы. И хотя наш курс называется «Разработка веб-сервисов на Golang», мы будем говорить не только про код, но и про всё, что с ним связано. 

Главное, нужно уметь задавать вопросы, не терять энтузиазма и получать удовольствие от того, что ты встречаешь и решаешь новые, непривычные задачи. У нас в команде две похожие задачи одному человеку достаются раз в пару лет. Поэтому крутого стажёра отличает то, сколько он готов уделять времени изучению неизвестного. Не просить ментора расписать ему план действий, а копать самому и получать от этого настоящее удовольствие.  То есть необходима самостоятельность в принятии решений, умение договариваться и исследовать. 

Подчеркну: в нашей компании junior — это сотрудник, который порой может самостоятельно решать довольно крупные задачи. Это полноценный член команды. Конечно, стажёрам и начинающим специалистам мы помогаем, но по мере накопления опыта ожидаем, что человек будет всё больше делать самостоятельно. 

Бэкенд-разработка так же интересна, как и другие направления, и здесь есть множество возможностей для карьерного роста — как вертикального, так и в экспертной плоскости. При желании всегда можно попробовать себя в новой специальности. Например, я знаю случаи, когда Android-разработчик становился бэкендером или бэкендеры начинали заниматься разработкой под iOS. Главное — готовность расти, вкладывать время и силы в постоянное изучение нового, брать на себя ответственность и принимать решения.

Теги:
Хабы:
Всего голосов 11: ↑10 и ↓1+18
Комментарии4

Публикации

Информация

Сайт
team.vk.company
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия