(function(bannerClassName) { const sendEvent = (token, action) => { const value = 'Branding ' + token + ' – ' + action; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } else { console.log('GA send: ' + value); } }; const oneBeforePageChange = (callback) => { if (typeof Air === 'object') { const ajaxify = Air.import('module.ajaxify'); ajaxify.one('Before page changed', () => { try { if (callback) { callback(); } } catch (error) { console.log(error); } }); } }; const onLinkClick = (e) => { const link = e.target; const href = link.getAttribute('href'); sendEvent(href, 'Click'); link.removeEventListener('click', onLinkClick); }; const branding = document.querySelector(bannerClassName); if (!branding) { return; } const links = branding.querySelectorAll('a'); for (let i = 0; i < links.length; i += 1) { const isVisible = getComputedStyle(links[i]).display !== 'none'; const href = links[i].getAttribute('href'); if (isVisible) { sendEvent(href, 'Show'); } links[i].addEventListener('click', onLinkClick); } oneBeforePageChange(() => { for (let i = 0; i < links.length; i += 1) { links[i].removeEventListener('click', onLinkClick); } }); })('.entry-native-branding');

Почему хардкорная стажировка лучше ментора: как я проходил обучение в веб-студии

Рассказываю, почему, на мой взгляд, неоплачиваемые стажировки по принципу «научим всему с нуля» — это неплохо и в каких случаях такой подход действует во благо.

Привет, меня зовут Влад. Мне 27 лет, и я два года занимаюсь фронтенд-разработкой. Год — в компании, где проходил стажировку, и год в Distillery.

Относительно недавно на VC вышла заметка моего коллеги. Он рассуждал о том, как должна выглядеть хорошая стажировка в IT и говорил, что не стоит бросать основную работу. Прочитав этот текст, я понял, что описанное в корне расходится с моим личным опытом. Так что вот моя альтернативная история стажировки.

Бэкграунд

До того как пойти стажироваться в веб-фирму, я почти три года проработал на сайте DTF редактором новостей (привет, Вадим). Параллельно с этим получилось так, что я связался с «плохой компанией», а точнее начал общаться с программистами.

По мере общения с ними я все чаще становился свидетелем их разговоров на «эльфийском», и пытался вникнуть в их «программистские» термины. Меня начала посещать мысль: «А может и мне стать разработчиком?». Долгое время эта идея блуждала у меня в голове, и однажды я подошел к товарищу и спросил, что мне надо учить, чтоб стать прогером.

Когда сказал друзьям, что хочешь заняться программированием

Попытка один — самостоятельная

В первый раз я попытался усидеть на двух стульях, а именно — изучить программирование параллельно с основной работой. Я читал про верстку веб-страниц и JavaScript, смотрел туториалы на YouTube. По итогам мне более-менее удалось почувствовать, что такое веб в целом и как вообще из набора тегов можно создать страницу для браузера.

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

  • нет четкого плана обучения
  • нет «осязаемых» результатов работы
  • на первых этапах сложно выбрать качественные источники информации

Но не могу сказать, что силы были потрачены зря. В то же время я

  • понял, что мне интересно программирование
  • заложил в голову самую базовую информацию о веб-разработке.

Попытка два — демотивирующая

Вторая попытка тоже была неудачной. Прошло примерно полгода с того момента, как я бросил самообучение, и мне подвернулся новый шанс – стажировка с наставником. Меня позвали обучаться в небольшую команду – как я теперь понимаю, фрилансеров – из четырех человек.

День у меня строился примерно так: сначала я работал на основной работе, потом ехал через полгорода в офис на стажировку и проводил там 2-3 часа. Потом отправлялся домой или в тренажерный зал.

Стажировка заключалась в следующем. Мне торжественно вручили HDD с курсом ITVDN по C# и сказали: «Смотри видосы». Задача заключалась в просмотре роликов и перепечатывании кода в Visual Studio. То, что меня готовили под бэкенд (и вообще что такое бэкенд) я, конечно же, тогда не осознавал.

Понимание, что я делаю, отсутствовало полностью. Я пытался разобраться, что такое ООП, затем мне давали верстать шаблон на Razor, а потом я смотрел ролики про базы данных. Стажировка была очень разносторонняя, так сказать.

Когда сказал ментору, что не хочешь продолжать стажировку

В таком режиме я провел две или три недели, после чего понял, что процесс как-то застопорился. Тогда я поделился с ментором своими переживаниями. Он ответил, что, по его мнению, у меня были некоторые успехи, и предложил начать работать над реальными задачами с их проекта. Я попробовал и через неделю ушел, окончательно разочаровавшись в стажировке.

Итого на выходе я понял, что

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

Попытка три — экстремальная

Прошло еще полгода-год. Я ушел с DTF. Попробовал писать статьи на другом ресурсе, там дела пошли плохо, и в итоге я оказался без работы. В этот момент в голове промелькнула мысль: «Давно я хотел заняться программированием. Похоже, настало время».

В течение двух дней я искал стажировку и в итоге пошел в компанию, которая работает по принципу «научим всему с нуля». Фирма имела хорошую репутацию, а у меня было много свободного времени и дикая мотивация.

Компания предлагала фулл-тайм стажировку 5/2 с 9:00 до 18:00. Без оплаты. Программа включала обучение фронтенду и бэкенду и состояла из пяти этапов.

В каждом блоке был теоретический экзамен и практическая часть. Теорию принимал техдир, и принимал довольно жестко. Ответить нужно было на все вопросы, которых в каждой теме набиралось от 20 до 50. Учеников отчисляли после первого же провала на экзамене, а дедлайны требовали строго соблюдать. Всех, кто не успевал, исключали.

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

Финалом стажировки стала разработка своего мини-приложения, для которого нужно было написать фронт, бэк, поднять базу данных и расшарить все это через Nginx. Перед этим этапом всем студентам раздавали фронтовый фреймворк, мне тогда достался Angular.

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

Как показало время, мне такой экстремальный вид обучения подошел больше, чем робкие самостоятельные попытки изучить программирование. Думаю, ключевую роль сыграли

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

С другой стороны за результат пришлось заплатить определенную цену:

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

В итоге

Если вы собираетесь на стажировку, то я рекомендую разобраться с основами самостоятельно. Мне помогли этот учебник по JavaScript и платформа Htmlacademy. Если освоить хотя бы 30% информации из этих источников, то уже будешь чувствовать себя уверенней.

О контрактах

Когда я обучался, контрактная система еще не была так распространена, как сегодня. Со мной компания не заключала договор, и никаких сверхобязательств я не имел. Сейчас многие фирмы перед началом стажировки просят подписать договор, по которому ты обязан отработать у них несколько лет, иначе должен выплатить неустойку. Так, был случай, когда сумма составила 2 млн рублей.

P. S.

Сейчас я понимаю, что тогда на стажировке именно отчаянное положение и установка, что пути назад нет, дали свои плоды. Если бы в тот момент я не оказался без работы и не попал в компанию «научим всему с нуля», кто знает, как бы все обернулось. Боюсь, не дай мне жизнь того пинка, я бы навсегда закрыл для себя вопрос IT с мыслью, что это не мое.

(function(bannerClassName) { const sendEvent = (token, action) => { const value = 'Branding ' + token + ' – ' + action; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } else { console.log('GA send: ' + value); } }; const oneBeforePageChange = (callback) => { if (typeof Air === 'object') { const ajaxify = Air.import('module.ajaxify'); ajaxify.one('Before page changed', () => { try { if (callback) { callback(); } } catch (error) { console.log(error); } }); } }; const onLinkClick = (e) => { const link = e.target; const href = link.getAttribute('href'); sendEvent(href, 'Click'); link.removeEventListener('click', onLinkClick); }; const branding = document.querySelector(bannerClassName); if (!branding) { return; } const links = branding.querySelectorAll('a'); for (let i = 0; i < links.length; i += 1) { const isVisible = getComputedStyle(links[i]).display !== 'none'; const href = links[i].getAttribute('href'); if (isVisible) { sendEvent(href, 'Show'); } links[i].addEventListener('click', onLinkClick); } oneBeforePageChange(() => { for (let i = 0; i < links.length; i += 1) { links[i].removeEventListener('click', onLinkClick); } }); })('.entry-article-footer');
0
18 комментариев
Написать комментарий...
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Влад Бабаев
Автор

Вообще-то со Стэтимом

Ответить
Развернуть ветку
Valeratal Val

Простите, а почему? Вот если бы чел боями без правил занимался, я бы понял

Ответить
Развернуть ветку
Game Topia

А чем этот чувак хуже Питта? Или чем Питт лучше этого чувака? Хотя, возможно вы очень молодая девушка, которая ПОКА ЕЩЕ оценивает мужчин по признаком личной половой превликательности...

Ответить
Развернуть ветку
Game Topia
Финалом стажировки стала разработка своего мини-приложения, для которого нужно было написать фронт, бэк, поднять базу данных и расшарить все это через Nginx. Перед этим этапом всем студентам раздавали фронтовый фреймворк, мне тогда достался Angular.
Я тогда все успешно сдал и уложился в сроки. В совокупности обучение у меня заняло ровно два месяца. В течение этого времени (да и потом тоже) мой мозг работал на пике своих возможностей, а напряжение было колоссальным. Зато по итогу я получил должность джуниор-разработчика и официальное трудоустройство.

Большего пи*жа и придумать сложно! Пост обычная выдумка, которая настолько далека от реальности, что ничего кроме слова со звездочкой больше не напрашивается.

Ответить
Развернуть ветку
Vitaly Beryoza

так а в чем пи*ж заключается? В чем реальность то? прям интересно стало) обычная стажировка с небольшим отбором на старте и по ходу, которых очень много, кроме яндекса конечно: там 1 год на один только фронт учиться зачем-то, но зато для всех - для людей различного уровня впитывания информации

Ответить
Развернуть ветку
Game Topia

То есть, с нуля до младшего специалиста за два месяца освоить html, css, js, ts, angular, фронт и сервер архитектуру, серверный фраймворк, nginx - это правда? Да ещё angular достался наугад, как будто они все фраймворки знают.

Ответить
Развернуть ветку
Влад Бабаев
Автор

Ну да. Только не с нуля, о чем я и писал

Ответить
Развернуть ветку
Game Topia

Вы сказали, что предварительно книгу полистали.

Ответить
Развернуть ветку
Влад Бабаев
Автор

Да не, серьезно Angular достался) Тру стори, я не тролль

Ответить
Развернуть ветку
Valeratal Val

Проще говоря, Вы прошли те же самые курсы, только не платили за них.
а в чем собственно "опровержение" или что? какой великий секрет Вы открыли? Оказалось, что если чему-то учиться у хороших учителей, то можно чему-то научиться. Эка открытие года
И в чем хардкор то был? оказалось, что на учебе надо было учиться? :)

Ответить
Развернуть ветку
Влад Бабаев
Автор

Основное противопоставление получается вот в чем:

В той заметке: Не бросайте основную работу ради призрачной надежды на попадание в технологическую сферу. Совмещайте. Таких желающих на одно вакантное место много — не факт, что именно вы тот самый счастливчик.

В этой: Если бы в тот момент я не оказался без работы и не попал в компанию «научим всему с нуля», кто знает, как бы все обернулось и тд.

Великий секрет не раскрывал)

Ответить
Развернуть ветку
Valeratal Val

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

Ну и в целом, это все равно, что читать "не переходите на красный свет", а Вы такой, "а я вот перешел и мне норм"

Ответить
Развернуть ветку
Dmitrij Verenikin

Угадаю эту компанию с 6 букв=) На самом деле достаточно известная в наших местах компания и многие из прошедших стажировку в ней сейчас в более известных и крупных.

Ответить
Развернуть ветку
Yuriy Vorobyov

Ну а что сейчас с выходцами?)

Ответить
Развернуть ветку
D.

А сейчас как обстоят дела? На реакт или вью успел перейти? Верстать заставляют? Как лучше распределить обучение между вёрсткой, js, фреймворком.

Ответить
Развернуть ветку
Влад Бабаев
Автор

Нет, сейчас все так же на ангуляре. Верстка есть в рамках стандартных задач на фронте. Я бы сначала рекомендовал пройти хтмл-академию первый блок, потом изучить learn.js, а потом уже переключаться на фреймворк.

Ответить
Развернуть ветку
Максим Фролов

Согласен с автором.

Ответить
Развернуть ветку
Читать все 18 комментариев
null