Содержание
- Обучение углублённым темам
- Друга — в Яндекс, себе — Станцию с Алисой
- Какие сложности возникают
- Сферы подготовки
- Реализация
- C++ в Яндексе
- Обузданная мощь
- Структура обучения
- — А как надо?
- Стажёр — это сразу полноценный сотрудник Яндекса, у которого при этом есть свой ментор на время обучения
- Команда
- Чеклист «Как надо»
- 2019: Запуск сервиса
- Языковые сложности. C++ VS Python
- Как не надо доносить знания до новичков
- Как не надо учить людей C++
- Особенности обучение в Яндекс Практикум
- Плюсы и минусы Яндекс Практикум
- Когда стажёр перестает быть стажёром?
- Итоги
Обучение углублённым темам
В плюсах есть множество тем, в которых можно дополнительно попрактиковаться и расширить свои возможности. Например, динамический полиморфизм. Это когда мы пытаемся отчасти приблизиться к Python и заявить: этот объект имеет не совсем фиксированный тип и может быть то числом, то строкой. Но всё это происходит под вашим контролем! И потому всё ещё максимально эффективно для вашей задачи.
С другой стороны, есть полиморфизм статический — механизм, благодаря которому можно писать универсальный код, работающий для разных типов данных. Он выполняется так же эффективно, как код, заточенный под конкретный тип, и всё ещё легко читается. В общем, если вы что-то слышали про метапрограммирование — это оно. А самое приятное, что язык развивается и всё больше упрощает подобные сложные задачи.
И подобных примеров достаточно — они ограничены лишь любознательностью и готовностью изучать новое в, казалось бы, привычном языке.
Друга — в Яндекс, себе — Станцию с Алисой
Минута рекламы.
Сейчас в Яндексе идёт набор на оплачиваемые стажировки. Если ещё не подавали заявку, то вам сюда. Это отличная возможность выполнять боевые задачи и развиваться в команде сильных специалистов. Мы решили поддержать эту практику.
Теперь вы можете порекомендовать друга, даже если сами не в Яндексе и вообще не в IT. Если друг успешно пройдёт отбор и начнёт стажироваться, то вы получите Яндекс.Станцию Мини.
Механика простая:
- Вы заполняете анкету рекомендателя на сайте программы.
- Мы отправляем другу письмо с персональной ссылкой для подачи заявки.
- Друг подаёт заявку и приступает к отбору на стажировку. В случае успешного прохождения всех этапов отбора он получает предложение от Яндекса.
- Если друг принимает предложение о стажировке, мы дарим вам Яндекс.Станцию Мини с Алисой.
Текст:
Михаил Полянин
Редактор:
Максим Ильяхов
Художник:
Даня Берковский
Корректор:
Ирина Михеева
Вёрстка:
Кирилл Климентьев
Соцсети:
Олег Вешкурцев
Какие сложности возникают
но ряд понятий сложно объяснить просто.
- конверсию объясняем на примере съеденных внуками пирожков:
- противоположные события из теории вероятностей — на примере покупки фильма в онлайн-кинотеатре:
- типы данных в программировании определяют множество значений, а также набор операций, которые можно производить с объектом. Здесь как часть объяснения рассказываем про перечницу и солонку, которые отличаются ситуациями использования, а их содержимое определено количеством отверстий в крышечке;
- в теме про циклы for показываем визуализацию алгоритма приготовления пяти блинчиков в виде пазла: такой рецепт изначально содержит много повторов одних и тех же действий, которые можно схлопнуть вместе, обернув в цикл с заданным количеством повторений:
- объясняя структуру данных «словарь» в Python, проводим аналогию с англо-русским словарём, в котором каждому английскому слову соответствует один или несколько вариантов перевода на русский.
Сферы подготовки
Яндекс Практикум предлагают своим студентам обучение по следующим направлениям:
- маркетинг;
- программирование;
- дизайн;
- аналитика;
- тестирование;
- английский язык.
Самый широкий блок — это программирование. Именно с него Яндекс Практикум начал реализовывать свои курсы. Сюда входят:
- разработка на С#;
- разработка на Python;
- дизайн интерфейсов;
- фронт-энд разработка;
- тестирование веб-приложений и ПО;
- веб-разработка;
- базы данных;
- аналитика.
Для специалистов в области программирования предусмотрен курс наставничества, благодаря которому профессионал сможет обучать молодых специалистов и готовить их к самостоятельной деятельности.
По направлению «маркетинг» в настоящее время реализовано только обучение одной профессии — «интернет-маркетолог». Этот курс предназначен как для новичков, так и для начинающих специалистов. На нем обучают моделированию воронок продаж, запуску рекламных кампаний, управлению брендами.
По направлению «иностранные языки» сейчас предусмотрен только курс английского языка, который называется «Флоу» — это программа, которая позволяет за шесть месяцев научиться разговаривать на повседневные темы и перестать бояться общения на иностранном языке.
Реализация
Запуск «Яндекс.Практикум» занял около восьми месяцев. На старте компания создала прототип для проверки гипотезы об эффективности обучения через онлайн-тренажер. Затем собрала команду авторов для подготовки вовлекающего образовательного контента. Соединив тренажер и контент, разработчики перешли к стадии бета-тестирования: продукт проверили на группе более чем из ста человек.
Обучающую среду построили на реальных ситуациях: тренажер позволяет сразу перейти к решению практических задач. Например, на занятиях по программированию слушатели с первого урока пишут код, по дизайну — работают с реальными макетами.
По словам представителей «Яндекс.Практикум», часть контента поначалу оказалась слишком сложной для студентов. В частности, блок про JavaScript пришлось переписывать несколько раз, чтобы сделать материал более доступным.
Еще одна проблема была связана с тем, что примерно на середине пути студенты обычно устают и попадают в так называемую пустыню отчаяния. Результаты уже близки, но их пока не видно, и в этот момент велики шансы бросить обучение. Чтобы поддержать мотивацию слушателей и помочь разобраться со сложными моментами, упражнения дополнили работой с наставниками. Они регулярно общаются со студентами на протяжении всего учебного процесса.
Экономика образования
Как выбрать онлайн-курс и действительно его закончить
Для широкой аудитории «Яндекс.Практикум» запустили в феврале 2019 года, а в 2020-м продукт появился на рынках США и Израиля. Первоначально площадка предлагала обучение двум профессиям — веб-разработчик и аналитик данных. Сейчас их больше десяти. Есть курсы как для начинающих, так и для специалистов. «Также мы перешли от технических специальностей к более гуманитарным: появились профессии интернет-маркетолога и дизайнера интерфейсов. В этом году мы также запустили онлайн-обучение английскому языку», — добавляют в команде «Яндекс.Практикум».
C++ в Яндексе
А теперь расскажу, как C++ пригождается нам внутри компании. На нём хорошо писать сервисы, которые критичны с точки зрения нагрузки и скорости ответа. Сейчас я руковожу отделом разработки баннерной системы. Это сервис, отдающий рекламу на конкретный запрос конкретному пользователю. Рекламу мы показываем и на поиске Яндекса, и на других сайтах — соответственно, трафика через нас проходит огромное количество. Бо́льшую часть прибыли Яндексу приносит именно реклама. Это важный сервис, и он написан на C++.
К рекламному движку, как мы его называем, предъявляются жёсткие требования по нагрузке: за секунду нужно обрабатывать сотни тысяч запросов, и делать это нужно за десятки–сотни миллисекунд. Спроектировать и поддерживать такой сервис довольно тяжело. И современный C++ нам в этом помогает.
Известный всем поиск Яндекса сталкивается с похожими проблемами. Он тоже написан на плюсах, и наши команды активно обмениваются опытом разработки и проектирования высоконагруженных сервисов. Или взять, например, браузер: он должен быть эффективным и не замедлять систему пользователю, который установит его на свой компьютер и откроет пару сотен вкладок. Тоже C++, и тоже челленджи.
Обузданная мощь
В плюсах, как и в других компилируемых низкоуровневых языках, есть статическая типизация кода, которой нет в Python. Благодаря ей вы можете чётко и ясно объявить, что такой-то объект имеет вот такой тип данных, что вот эта штука — число. И всё, после этого оно не станет, скажем, строкой. И это даёт возможность компилятору генерировать более эффективный код.
Программы на C++ быстрее благодаря более чёткой типизации
Программируя на C++, вы на самом деле чувствуете мощь — у вас куча возможностей. Как говорили в таких случаях Питеру Паркеру: «С большой силой приходит большая ответственность», что, кстати, тоже является хорошим стимулом для обучения.
Если вам интересно создавать эффективный код и в процессе перелопачивать огромные объёмы данных, то дополнительным челленджем в C++ станет не просто написать быстрый код, но написать его так, чтобы он был понятен остальным. Люди же будут его использовать, поддерживать и масштабировать — это не вещь в себе, это инструмент. Хороший, работающий и ремонтопригодный.
Ведь как только вы напишете одну хорошую и эффективную программу, вам наверняка захочется начать писать много таких же классных программ. Так, например, в Яндексе мы сейчас пишем множество самых разных сервисов на плюсах. Поэтому вопрос про поддержку отнюдь не праздный.
К счастью, у C++ за всё время накопилось множество хороших практик того, как писать понятный и поддерживаемый код. И это тоже интересный момент в плане обучения: задача усложняется, потому что у вас в руках уже не просто язык посложнее, но при этом и огромный набор инструментов, чтобы на нём хорошо писать
Этому тоже важно учить
Структура обучения
Обучение состоит из 11 курсов, двух сборных проектов и дипломной работы.
Правильный и структурированный процесс анализа данных называется пайплайном, который состоит из отдельных этапов. У каждого из этапов есть свои цели, задачи, начало и конец.
Каждый из 11 курсов посвящен одному из этапов пайплайна. Курс разбит на 2 спринта: теоретический (уроки и отработка микрозадач в тренажере) и практический (самостоятельное решение большой аналитической задачи).
Например, один из этапов — сбор информации для анализа. В курсе рассматриваются вопросы как определить, какая информация понадобится для решения задачи. Откуда ее забирать (из баз данных, с сайтов, по API). Как это делать на практике (SQL запросами и средствами python). И где хранить собранные данные.
В качестве самостоятельной работы необходимо написать SQL запросы для получения данных о перелетах из БД авиакомпании, написать парсер для сбора информации с сайта с анонсами фестивалей по городам. А в конце провести анализ того как проведение фестивалей влияет на пассажирский спрос.
После успешной сдачи проекта чувствует глубокое моральное удовлетворение и огромная уверенность в своей крутости :).
Что происходит на дипломной работе я вам не расскажу. Сделаю намек: это потрясающе!
— А как надо?
А надо просто рассказать людям, что программирование — это не страшно, что можно научиться писать полезные программы, небольшие, на 10–20 строк. Потом плавно переключиться на C++ и показывать, как там всё круто работает и какой хороший код получается.
Этот подход мы применяли на Курсере. Он же у нас и в Практикуме: покажем человеку, какой язык классный. Классный сегодня, без попыток углубиться в историю и рассказов о его предыдущих архивных версиях. Просто покажем, как создать массив чисел. Или массив котиков, например.
Например, вот так мы объясняем студентам цикл while через хождение к холодильнику
Мы сразу говорим студенту, что если хочется набор объектов — используй тип «вектор». Он сам себе выделит память, сколько ему там надо, всё будет ОК, вообще в этой ситуации не думай про управление памятью. Хочется сделать множество элементов, которое можно быстро добавлять и искать в нём — вот тебе контейнер, без проблем.
Для того, чтобы пользоваться стандартными для языка контейнерами, векторами, множествами или словарём, не нужно понимать, как они внутри себя устроены.
А получается, что классическое образование и академический подход в этом плане занимаются археологическими раскопками, причём снизу вверх — с первого уровня, потом просто по хронологии, наслаивая все вехи развития языка. Чтобы через семестр стало понятно, что почти всё из услышанного ранее просто когда-то использовалось, да, но конкретно вам уже не пригодится
И спасибо за внимание.
Мы учим студентов на курсе, начиная с верхнеуровневых вещей, и потом уже раскрываем всё это подробнее, углубляясь в каждую тему. Про устройство контейнеров можно рассказывать уже через пару месяцев обучения, это тоже помогает разработчику прокачиваться. Потому что в отличие от других языков все стандартные средства, например, контейнеры C++ тоже написаны на C++. И мы даём задачки вида «Вы узнали, как на самом деле работает управление памятью. Теперь напишите свой список или вектор».
Всё это мы даём примерно в конце первой половины обучения, чтобы понять, как всё работает изнутри.
Стажёр — это сразу полноценный сотрудник Яндекса, у которого при этом есть свой ментор на время обучения
В первый день, когда стажёр выходит в команду к нам в Яндекс, он становится уже сотрудником. Причём как с формальной с точки зрения — мы подписываем с ним трудовой договор, — так и с точки зрения нашей внутренней культуры. Такой сотрудник участвует во всех наших внутренних процессах как рабочих, так и развлекательных, например в корпоративных праздниках. По всем параметрам это полноценный сотрудник компании.
При этом у каждого стажёра есть непосредственный руководитель и ментор. Иногда бывает так, что это один и тот же человек, иногда это разные люди. Ментор — это тот человек, который помогает стажёру пройти весь путь стажировки и успешно её закончить.
В самом начале, когда стажёр только выходит в компанию знакомиться со своим ментором, ментор помогает ему сформулировать, что от него ждут по итогам стажировки, какими задачами глобально ему предстоит заниматься. Ментор рассказывает про то, как устроены процессы непосредственно в их команде или в службе, в отделе, или во всей компании.
Дальше всё уже зависит от человека и от команды. Когда мы все работали удалённо, в офис никто не ходил, а стажёры продолжали к нам идти, некоторым менторам было удобно с утра открыть Zoom, созвониться со стажёром и в течение всего дня у них был открыт Zoom. Они сидят, каждый по-своему работает, своими задачами занимается, а иногда перебрасываются какими-то вопросами, как будто бы за соседней партой сидят.
К ментору можно прийти с любым вопросом и получить готовое решение или совет, что делать дальше
Команда
На протяжении всей учебы, рядом всегда есть команда Практикума, с очень крутыми и опытными профессионалами, доброжелательными и готовыми прийти на помощь.
Есть несколько ролей:
- Куратор — человек, который сообщает о всех обновлениях, новостях, дополнительной информации, и поддерживает атмосферу кутежа :)). У нас была Марина Левушкина. Она крутая! Спасибо, Марина!
- Преподаватель — профессионал, который знает ответы на 95% любых, самых сложных или дурацких вопросов. Он всегда рядом и всегда готов помочь. У нас был Вячеслав Зотов. Слава, ты очень умный и офигенный человек. Ты пример профессионала, на которого хочется ровняться.
- Наставники — люди, которые проводят вебинары, проверяют проектные работы и делятся своим опытом. Во время учебы наставники ротируются, чтобы студенты могли получить разный опыт. У меня были: — Эльвира Насирова. Эльвира, спасибо тебе за ту ламповую, дружелюбную и классную атмосферу, которую ты умеешь создавать! — Алексей Макаров. Алексей, спасибо тебе за тот классный опыт, которым ты с нами поделился. Твой профессиональный путь очень сильно вдохновляет на развитие! — Наталья Казаченко. Наталья, спасибо! Ты классная!
- Тим-лид на дипломном проекте — старший товарищ, который сопровождает во время прохождения диплома. У меня была Ольга Матушевич. Ольга, спасибо за тебе за четкость, лаконичность и умение показать правильно направление!
- Поддержка — те ребята, которые 24 часа в сутки готовы помочь с технической проблемой. Спасибо вам, вы ни раз нас выручали!
- Секретный человек — человек, который напоит вкусным кофе, а взамен попросит честно рассказать о своих впечатлениях. Русина, спасибо, ты очень позитивная и классно мотивируешь делиться информацией!
Чеклист «Как надо»
Закончить пост я хочу чеклистом, который поможет правильно преподавать плюсы. Возможно, не только их.
Убедитесь, что вы начали рассказывать про язык, а не про историю развития этого языка.
Убедитесь, что уже после первых уроков ваши студенты осилят написать рабочий код, простой и в то же время близкий к боевому. Давайте им все основные инструменты сразу.
Вообще не страшно рассказать про вектор и при этом не рассказать про шаблоны классов. Детали реализации обсудить всегда успеете.
А ещё не страшно рассказать про словарь и не рассказать, что такое бинарное дерево.
Не усложняйте. Любая популярная идея в своём ядре понятна и проста. Если это не что-то хитрое типа метапрограммирования, то про это не надо рассказывать сложно. Пусть, например, вы рассказываете про активное использование ссылок. Ссылки в массе своей пришли на замену указателям. Поэтому расскажите про ссылки и не рассказывайте про указатели
До поры до времени.
Расскажите про важность алгоритмов, хотя бы базово. Потому что плюсы — про эффективность
Нужно уметь оценить, что алгоритм А работает за линейное время, а алгоритм Б — за квадратичное. Поэтому первый будет быстрее, ведь линейная сложность лучше квадратичной. Это полезная теория.
Убедитесь, что студент понимает, зачем вы ему это рассказываете. Если вы решили рассказать про словарь просто потому, что словарь — это круто, студент может не понять. Покажите, зачем ему словарь.
Рассказывайте про новое в языке. Быть современным важно.
Не рассказывайте вообще всё. Это ловушка для преподавателя: когда вы давно в C++ и хорошо знаете язык, хочется рассказать про него всё. Рискуете перенасытить студентов и усложнить подачу.
А усложнять не надо.
2019: Запуск сервиса
12 февраля 2019 года Яндекс запустил образовательный сервис Яндекс.Практикум, где любой человек сможет освоить востребованную среди технологических компаний профессию. На февраль 2019 года в Практикуме доступны две профессии: «Фронтенд-разработчик» и «Веб-разработчик», а также вводный курс по аналитике данных. К концу обучения у каждого студента будет портфолио из нескольких работ.
Направления обучения в Практикуме выбраны не случайно. Мы изучили поисковые запросы о найме IT-специалистов, а затем вместе с HeadHunter проанализировали 400 тысяч вакансий разработчиков за последние четыре года. Так мы узнали, каких IT-специалистов и с какими технологическими навыками больше всего ищут работодатели. Мы выяснили, что число вакансий фронтенд-, веб-разработчиков и аналитиков данных за четыре года выросло на 140%. На февраль 2019 года на эти профессии приходится 25% всех IT-вакансий. Илья Залесский, руководитель образовательных сервисов Яндекса |
Дефицит кадров в сфере IT в России составляет примерно 1 миллион человек. Мы с удовольствием поддерживаем такие проекты по переобучению, как Яндекс.Практикум. Они помогают системе высшего образования быстрее снижать нехватку IT-специалистов, а людям разных возрастов и специальностей — обрести интересную и высокооплачиваемую профессию. Онлайн-формат облегчит доступ к обучению для многих — например, жителей небольших городов. Марина Боровская, заместитель министра науки и высшего образования России |
Обучение в Практикуме состоит из двух частей. Сначала студенты читают материалы и выполняют задания по программированию в онлайн-тренажёре. В системе они сразу видят, если допустили ошибки в коде, а подсказки помогают их исправить. Все материалы курсов представлены просто и понятно — так, чтобы их понимал любой человек без специальной подготовки. После изучения каждой темы — каждые две недели — студенты выполняют самостоятельные задания из реальной практики разработчиков, которые проверяют специалисты Практикума.
У каждого студента есть свой наставник — практикующий разработчик. Задача наставника — помогать ученику отслеживать прогресс, чтобы он мог успешно закончить обучение. Наставник и его подопечный обсуждают, как продвигается обучение, как приобретенные навыки можно применять в работе, с какими трудностями столкнулся студент и как их можно преодолеть. Перед тем как начать работать со студентами, наставники проходят двухмесячное обучение.
Обучение в Практикуме длится 6–9 месяцев. Вводный 20-часовой курс бесплатен — люди могут начать учиться и оценить, насколько им подходит выбранная профессия. Дальше стоимость обучения составит от 60 тысяч рублей в зависимости от направления. К концу курсов будущие фронтенд-разработчики сделают пять сайтов, которые смогут показывать на собеседованиях, веб-разработчики — шесть сайтов. Студенты программы «Аналитик данных», которая полностью откроется к лету 2019 года, за время обучения проведут 15 исследований. Все, кто успешно сдадут дипломную работу, получат сертификаты от Яндекса.
Постепенно в Практикуме будут появляться другие направления. До конца 2019 года образовательный сервис начнёт готовить бэкенд-разработчиков и менеджеров продукта.
Языковые сложности. C++ VS Python
Да, плюсы́ — не такой популярный язык для студентов, как тот же питон, например. Если мы говорим о человеке, который решил впервые попробовать свои силы в программировании, то он с большей вероятностью пойдёт писать именно на Python, нежели на C++. Здесь дело и в пороге входа, который у плюсов ощутимо выше, и в том, что на Python куда проще получить в результате своих трудов полноценную работающую программу. Ведь там многое доступно сразу из коробки, нет лишних скобочек и связанных с ними сложностей. Работа с файлами там тоже заметно проще — в общем, просто берёшь и работаешь.
Сейчас даже в школах, где уделяют внимание программированию, учат способных учеников именно Python. Конечно, многие из нас с вами на уроках информатики начинали с Pascal или Visual Basic, в ряде школ наверняка они ещё остались
Но проблема Pascal в том, что обучиться-то ему можно, а вот найти применение в реальной жизни уже сложнее. А Python и простой, и дружелюбный, и проектов на нём много.
— Погоди, пост же про плюсы, — скажет внимательный читатель. Да, всё верно, вот и они. Штука в том, что с Python хорошо начинать. А вот дальше всё зависит от задач и желаний программиста. Если вам хочется (и интересно) писать куда более производительный код, над которым у вас будет полный контроль, то для этого понадобится что-то низкоуровневое. Например, Java, C++, C#, в какой-то степени Go.
И в этой низкоуровневости заключается двойственная природа плюсов. С одной стороны, язык изначально сам по себе низкоуровневый, и это круто. С другой стороны, его не очень удобно использовать. Если вы что-то сделаете не так, создавая программу на каком-то другом языке, она будет работать неэффективно или работать с ошибками. Плюсы же не прощают ошибок, и вместо неработающей программы вы вполне можете получить инферно, утягивающее в Страну Вечной Охоты всё, до чего дотянется.
Это так себе история, поэтому за плюсы активно взялись в начале XXI века и начали развивать язык. Как итог, сейчас на C++ не просто можно писать эффективный код. На C++ стало приятно писать эффективный и безопасный код.
Как не надо доносить знания до новичков
Давать студентам примеры кода и просить прорешать задачи без какого-либо объяснения.
Наши уроки построены в виде лонгридов с теорией, которые разбавлены квизами и заданиями, или в формате конспекта-теории с тренажёром для написания кода. Таким образом, студенты никогда не пишут код до объяснения.
При объяснении темы ссылаться на то, чего студент ещё не знает, просить его пока просто поверить, что всё так и работает.
Если вы начинаете объяснение с фразы «В общем, оно тут вот так работает, просто запомните, это мы на следующих занятиях обсудим», — это неудачная практика. Объясняйте сразу, как и почему работает тот или иной инструмент, о котором вы рассказываете.
Сразу закидывать человека множеством сложных терминов и определений или усложнять подачу академическим стилем.
Это отличный способ отбить желание учиться в принципе. Если перегрузить человека огромным списком формализованного текста, он быстро потеряет интерес к учёбе. Фразы вида «При объявлении переменной необходимо добиться того, чтобы её тип соответствовал…» стоит забыть.
Не объяснять студенту, какой практический навык он сейчас приобретает и где он ему пригодится.
Отчасти перекликается с первым пунктом, но выделим его отдельно. Студент должен понимать, как то, чему вы его учите, поможет ему в работе. Он должен понимать, что не просто пишет код ради кода, а создаёт работающие программы для выполнения действий, нужных пользователю
Это важно донести в каждом случае.
Объяснять одну сущность с помощью упоминаний десятка других сущностей. Такой подход путает и отнимает много времени у студента
Как не надо учить людей C++
Хотя я выше и писал, что частенько в плюсы приходят из Python в поисках силы и контроля, лично я знаю не так уж и мало людей, для которых C++ стал первым языком.
Идеальный путь мне видится примерно таким.
-
В школе у вас было программирование, вас учили питону.
-
Затем вы аккуратно и постепенно переползли на плюсы.
-
В итоге хорошо разбираетесь в обоих языках, зная достоинства, недостатки и области применения каждого.
Это если сильно всё упрощать.
На самом деле для большинства ситуация выглядит примерно так.
-
В школе программируете на чём-то, что вроде бы и язык программирования, при этом совершенно бесполезный и в природе уже не встречается. Кроме учебников. Старых учебников.
-
Затем поступили в университет, а там — сюрприз — внезапно плюсы.
Но и это еще не всё. Вдобавок можно попасть на максимально академический курс. Там вам расскажут, что лет двадцать назад вот эти бородатые мужики придумали С, а вот указатель на память, под которым что-то может быть, напишите 10 строк кода и узнаете, что именно.
В общем, про метапрограммирование вы на таком курсе услышите разве что от других студентов. И то не факт.
Так нельзя делать, и вот почему. Допустим, новичку рассказали про С, попросили сначала (на курсе по C++, да) попрограммировать именно на С. Если элемент страдания на курсе возведён в культ, то студенты будут программировать ещё и на ассемблере, просто для того, чтобы ощутить ту боль и метания, которые испытывали инженеры.
Да, будет что рассказать у костра на конкурсе страшных историй. Но такой подход почти неминуемо вызывает отторжение ко всему семейству языков. И прелесть плюсов до человека, напуганного С и ассемблером, вы просто не донесёте. Разве что его нервная система будет очень крепка. Но тут не Спарта же, мы людей учим.
Менее страшный академический подход будет заключаться в том, что после С вам всё же расскажут про плюсы: смотрите, вместо массива есть вектор, и у него динамически изменяется размер, и всё делается за вас. И вроде как студентам радостно должно быть: круто-то как, само всё работает. Но зачем же тогда студентов перед этим полтора семестра заставляли вот этими руками писать по 50 строк кода, когда такая круть существует?
Особенности обучение в Яндекс Практикум
Формат обучения — дистанционный. Студент может находиться в любой точке мира, где есть доступ к интернету. Образовательная среда Яндекс Практикум основана на реальных кейсах. Например, будущие программисты с первого урока начинают писать код, дизайнеры работают только с настоящими макетами, а на первом уроке английского языка слушатели сразу начинают разговаривать.
Для тех студентов, которые сочетают обучение с работой, необходимо тщательно просчитать свои возможности, поскольку курсы отличаются высокой интенсивностью.
Большая часть образовательной программы по любому направлению предполагает самостоятельную деятельность слушателей и выполнение домашних заданий. Работа с наставниками и общение с одногруппниками в специальном чате помогают разобраться в сложных уроках или найти ошибки, которые сам студент не видит.
Плюсы и минусы Яндекс Практикум
Преимущества:
- круглосуточная техподдержка и поддержка в чате;
- практические задания выполняются на онлайн-тренажере;
- благодаря участию в курсах студент к окончанию обучения собирает релевантное портфолио.
Для повышения конкурентоспособности на рынке труда специалисты Яндекс Практикума помогают составить резюме, выбрать наиболее интересные вакансии, подготовиться к собеседованию и оформить портфолио.
Если вы еще не определились, какая профессия подходит именно вам, специалисты Яндекс Практикума проведут тестирование и помогут выбрать те области знаний, по которым вы мотивированы лучше всего и к которым у вас есть склонности.
Недостатки:
- очень высокий темп обучения, с которым справляются не все студенты, особенно совмещающие учебу с работой;
- высокая стоимость по отдельным направлениям подготовки.
Как проходит обучение
Образовательная программа в Яндекс Практикум делится на две самостоятельные части. В первой слушатели изучают учебные материалы самостоятельно, во второй – выполняют практические задания на специальном онлайн-тренажере. Это программа, которая в реальном времени выявляет ошибки и позволяет их сразу же исправить.
Учебные материалы подготовлены и разработаны таким образом, что их сможет понять даже человек без среднего специального или высшего образования.
Выпускники, успешно защитившие дипломный проект, получают сертификат от компании Яндекс. Этот документ дает серьезное преимущество при трудоустройстве.
Яндекс Практикум не останавливается на достигнутом и планирует в ближайшее время запустить новые направления обучения. Они будут предназначены для продуктовых менеджеров и специалистов по нейросетям.
Стоимость обучения варьируется от 45 000 до 100 000 рублей за весь период обучения:
Курс: | Чему учит: | Срок обучения: | Стоимость, руб.: |
Разработчик С++ | Работе над высоконагруженным бэкэндом | 9 месяцев | 85 000 |
Дизайнер интерфейсов | Формированию внешнего вида и стиля сайтов и мобильных приложений | 7 месяцев | 80 000 |
Мидл python-разработчик | Решению IT задач повышенной сложности | 6 месяцев | 85 000 |
Мидл фронтэнд-разработчик | JavaScript, решению сложных задач по программированию | 4 месяца | 70 000 |
Интернет-маркетолог | Моделированию воронок продаж, разработке и запуску рекламных кампаний, брендированию | 7 месяцев | 84 000 |
Веб-разработчик | Созданию приложений и сайтов любой сложности | 7 месяцев | 95 000 |
Инженер по тестированию | Разработке сценариев, поиску багов, ответственности за качество готового IT-продукта | 4 месяца | 50 000 |
Аналитик данных | Сбору, анализу, визуализации данных | 6 месяцев | 65 000 |
Специалист по Data Science | Машинному обучению и работе с большими объемами данных | 8 месяцев | 90 000 |
Курс «Наставничество в IT» любой специалист с образованием в этой сфере может пройти бесплатно.
Скидки на обучение
Для подписчиков сервиса Яндекс Плюс предусмотрены скидки на образовательные программы Яндекс Практикум. 5% на оплату любой профессии и 10% скидки на изучение английского языка в сервисе Флоу.
Оплата обучения английскому языку построена иначе, чем на других курсах. Первый блок занятий — бесплатный. Далее — 4 900 рублей за каждый модуль. Слушатель сам решает, сколько занятий ему необходимо для уверенной разговорной речи. В модуль входят восемь разговорных занятий и столько же интерактивных историй, две фидбек-сессии и безлимитная поддержка наставников.
Когда стажёр перестает быть стажёром?
Почти всегда это происходит по сроку. Есть трудовой договор, он заключается до определённой даты, стажировка длится у нас 3, 4 или 6 месяцев, в зависимости от того, на какую занятость выходит наш стажёр. Может быть такое, что по дороге что-то поменяется и стажировка станет чуть короче или чуть длиннее, если по каким-то причинам менялась занятость, например, была защита диплома или какая-то сессия в вузе. Так или иначе, есть определённая формальная дата, которая считается датой окончания стажировки.
В течение всего периода стажировки есть некие контрольные точки, когда ментор со своим стажёром должны сесть и поговорить, как у них идут дела, в нужном направлении он движется или что-то пошло не так. Как правило, где-то за месяц до окончания стажировки стажёр потенциально понимает свою будущую судьбу, и руководитель также понимает, есть ли у него возможность оставить человека у себя в команде или, к сожалению, пока они к этому не готовы, потому что в команде нет места.
Если у себя команда не может оставить этого стажера, но видит в нём потенциал сильного разработчика, то мы ищем для него новую команду, куда он мог бы выйти. Если всё хорошо, человек выходит в штат. Здесь должно быть взаимное совпадение интересов и возможностей.
После этого стажёр переходит на ступень выше, становится уже младшим разработчиком, тестировщиком, инженером и берёт уже более сложные задачи.
Итоги
До начала занятий в практикуме я прошёл несколько разрозненных курсов. Мне приходилось самому искать информацию и предполагать, что из этого нужно и будет востребовано. Терял много времени на поиск. А когда учился, постоянно гадал — нужно ли именно это и насколько глубоко копать.
Практикум стоит немало — 60 000 ₽. Стоит хорошо подумать, зачем нужны эти занятия. Просто для хобби это многовато.
За 10 000 ₽ в месяц — как я для себя воспринимаю эти расходы — я получаю:
- продуманная программа: задания, похожие на реальные (надеюсь);
- рассчитанная нагрузка по неделям;
- знания, которые нужны для начала работы;
- консультация практикующих специалистов.