Ментор RS школы про мифы и студентов

Доброго дня, я — ментор школы Rolling Scopes и попробую развеять пару мифов, которые были у меня перед тем, как я начал учить людей джаваскрипту, программированию и инженерному подходу.

Я начал работать в айти в 2009 году, с 2012 года начал активно заниматься front-end стеком. С 2014 года менторил новых сотрудников на своем рабочем месте. C 2016 стал преподавать и обучать людей тому, что умею и знаю сам. Не работал в EPAM)

Я начал преподавать, так как считаю, что это мой гражданский долг. Долг — тем прекрасным учителям, которые учили меня в школе и университете. Еще я думаю, что это хорошее дело для профессионала, передавать свои знания другим людям, от этого выигрывают все — и человек, который учит, и тот, кто получает знания, и все остальные. Человек, который учит, начинает больше понимать, в чем сложность профессии, какие проблемы у новичков. Люди, которые получают возможность учиться, могут найти свое призвание, получить новые навыки. Если знания передаются бесплатно — то и общество становится более справедливым, так как уменьшается неравенство.

Мифы, которые я собираюсь развенчать, описывают период обучения и начала карьеры в айти сфере.

Cодержание:

Миф №1. В IT можно заработать много денег

В Беларуси IT сфера позволяет заработать честным, обычным трудом довольно много денег (от ~3000 у. е. до ~6000 у. е. в месяц).

Максимальные зарплаты люди начинают получать после интенсивных 5–10 лет в профессии. Обычно это сверхурочная работа в виде серий 50–80 часовых рабочих недель пару раз в год, постоянное самообразование (книги, статьи, видео и конференции) и большое количества приложенных усилий. “Ну, а здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее.” (Алиса В Зазеркалье, Л. Кэрролл) IT индустрия развивается так быстро, что работнику всё время надо прикладывать усилия, просто чтобы соответствовать тому уровню, который у него есть сейчас.

Если же говорить про зарплату младших специалистов, джуниоров и стажёров, то она соответствует условиям достаточным, чтобы у человека, живущего в городе, была крыша над головой, было что поесть и надеть. То есть 0.6 средней зарплаты по стране или 250–400 у. е. в ценах 2018 года.

Такая зарплата выплачивается на время, когда разработчик сможет (до)получить необходимые знания и начать приносить пользу бизнесу. Для кого-то это может быть 3–6 месяцев, а кто-то может пребывать в этом состоянии годами.

На беларуском рынке есть большие компании, которые занимаются массовым обучением младших сотрудников. Как правило, такие фирмы имеют свои образовательные центры. Например, в EPAM хорошо налажена система работы с младшими разработчиками, их обучение и ввод в проекты. И зарплата вполне конкурентна на рынке труда — то есть это где-то 400–500 у. е. на старте и рост до 1200–1600 у. е. через 1–2 года работы на нормальном проекте. Хорошей, интенсивной работы с постоянным самообучением.

При этом не все сразу смогут попасть, например, в разработчики и некоторым придется начинать с вёрстки. Тогда путь к заветной средней зарплате в отрасли может затянуться на 3–4 года.

В Rolling Scopes школе на 2–3-ем этапе студентам дадут очень хорошую базу, которая позволит им быть конкурентоспособными на рынке сейчас и быстро развиваться впоследствии.

Миф №2. Научиться программировать легко и просто

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

По моим личным подсчетам, чтобы с нуля освоить программирование (и часть стека веб технологий), надо 900 часов осознанной продуктивной работы. Это полгода по 40 часов в неделю, или 1 год по 20 часов в неделю.

Это сравнимо с освоением нового языка. Или подготовкой к 7 предметам для Централизованного Тестирования (из расчета 120 часов на предмет). Но с тестированием даже проще, т. к. в школе эти предметы изучают 11 лет.

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

Миф №3. Программистом может стать только человек, который в школе разбирался в математике

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

В программировании могут встречаться элементы теоретической информатики, но, как правило, это где-то 5% от всей работы в индустрии.

Немного программировать может научиться каждый. Как и с языком — писать и читать могут дети лет с 4–7. На минимальном уровне могут почти все, а вот всякие детали и нюансы могут освоить гораздо меньшее количество людей.

На мой взгляд, для IT индустрии и производства — спец навыки в теоретической информатике и математике не нужны.

Миф №4. На курсах меня научат

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

Возможно, такое случалось раньше — лет 100–300 назад. Сейчас — всем студентам надо заниматься самообразованием. То есть главный навык, который необходимо получить на курсах / в школе — это эффективно и продуктивно учиться самостоятельно.

Курсы дают 4 вещи:

  1. Программу обучения. Вы будете следовать по шагам в изучении технологического стека и выполнять специальным образом составленные задачи, соответствующие вашему уровню;
  2. Опытного человека, который будет отвечать на ваши вопросы и показывать как надо правильно делать работу, где искать ошибки;
  3. Других студентов, которые вместе с вами будут обучаться. Студенты помогают друг другу, учатся на ошибках, помогают увидеть альтернативные подходы, формулируют друг для друга теорию понятными словами;
  4. Сложные практические задания: курсовые, дипломные проекты. Они позволят вам тренироваться на задачах максимально близких к тем, которые будут встречаться вам на рабочем месте.

Еще раз хочу подчеркнуть, студенты на курсах учатся самостоятельно. Преподаватели рассказывают небольшую часть теории, а менторы помогают делать задачи. Другие студенты тоже помогают, отвечают на вопросы и идут к светлому будущему вместе с вами )

Миф №5. Коммерческие курсы лучше бесплатных

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

  1. Формат коммерческих курсов предполагает, что студентов учит преподаватель. Он не обязательно дает домашку, не обязательно её проверяет и совсем редко преподаватель общается со студентами во вне учебное время. То есть студент является пассивным и требует чего-то, а не получает это сам.
  2. Зарплаты программистов настолько большие, что только небольшое количество курсов способно оплатить работу хороших преподавателей. На обычных курсах 1 час работы препода составляет 3 доллара / чаc (8–12 $ за 1 час преподавания, 0 за составление программы, проработки материалов, домашки, 0 за проверку домашки, 0 за общение со студентами во внеучебное время ). 1 час лекции — это как минимум часа 3–4 подготовки, без проработки именно программной. Соответственно, на коммерческих курсах преподают люди небольшой квалификации. Но это не абсолютный факт, это скорее тенденция и мое личное наблюдение. Есть приятные исключения, когда люди хотят учить и коммерческие курсы готовы предоставить трибуну для таких людей.
  3. У многих коммерческих курсов нету проработанной программы. У Rolling Scopes школы программа создавалась, дорабатывалась, полировалась на протяжении 5 лет. Коммерческие курсы просто столько не существуют.
  4. У коммерческих курсов нету входных фильтров. Менторам и преподавателям тяжело работать со студентами разного уровня. Преподавателю может быть легче и интереснее ориентироваться на студентов посильнее, с хорошими навыками и мотивацией, которых где-то около 30%. С другой стороны, преподаватель может сфокусироваться на 30% отстающих студентах, но тогда вы, как студенты, выйдете после таких курсов с чувством потерянного времени, так лично вы получили на курсах довольно мало.
  5. Коммерческие курсы как правило не помогают с трудоустройством после их окончания.

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

Миф №6. Английский можно выучить потом

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

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

Английский в программировании, веб разработке — основной язык коммуникации. Документация, код, туториалы, видео на youtube, поиск через google, общение с заказчиком будет на английском языке. Без навыков беглого чтения, письма и минимального разговорного — освоить профессию будет очень непросто.

Наблюдая за коллегами / студентами подметил, что те, кто гуглят про проблему с кодом на английском и могут бегло читать ответы — находят ответ примерно в 2–10 раз быстрее чем те, кто пытаются найти ответ на русском. Тем более, что документация для большинства новых инструментов и технологий первые пару лет создается только на английском языке и только потом переводится на русский язык.

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

Зная английский, можно получить доступ к хорошим материалам в открытом доступе на youtube, medium, и экономить на курсах, менторстве, платных конференциях )

Поэтому английскому языку с самого начала надо уделять достаточно времени и усилий.

Миф №7. Программисты целыми днями программируют и не общаются

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

Но с опытом пришло понимание, что это не так.

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

  • Уметь читать между строк (извлекать требования, которые имеются в виду);
  • Самому догадываться, что имеется в виду, и уточнять это у руководителя / ментора;
  • Самостоятельно принимать много мелких решений, которые могут быть и ошибочными, но являются необходимыми для работы над задачей;
  • Совершать ошибки и учиться вовремя про них рассказывать;
  • Видеть, какие решения являются не такими простыми, как могут казаться на первый взгляд, и уточнять правильность решения у автора требования, заказчика.

Активность по выяснению, в чем же суть задачи, какую проблему заказчика / пользователя вы призваны решить кодом — может составлять до 20–30 процентов деятельности инженера-программиста.

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

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

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

Заключение

Моя карьера в IT началась с неудачи — я поступил на курсы .net в EPAM и не смог закончить выпускной проект — не хватило времени и напугала перспектива работать по 6 часов в день и одновременно учиться.

Потом я работал стажёром как технический писатель в exadel, документировал open-source продукты. Мне даже посчастливилось побыть пару месяцев тестировщиком. И только через 1.5 года я стал веб-разработчиком. Кем и являюсь последние 8 лет.

Это я к чему — не бойтесь неудач, верьте в себя, не питайте иллюзий!

P S за иллюстрации спасибо Aleksandra Davydenko & kni kni studio