Курсы программирования - помогут ли они начать зарабатывать?
Я уже 10 лет веду разнообразные курсы программирования, для корпораций, которые пытаются прокачать своих сотрудников, для учебных центров, онлайн-школ и просто в частном порядке. Расскажу про изнанку этого бизнеса и ваши шансы стать программистом и разбогатеть.
Во-первых, сколько получают программисты и стоит ли игра свеч? Зарплаты отличаются на порядки. Одно дело -- это программист в государственной конторе в провинции, который в ненапряжном темпе ковыряет какую-то систему. Другое дело -- интенсивная работа из России на заказчиков из США/ЕС. Мне тяжело точно оценить, сколько получают в гос учереждениях, т.к. я там никогда не работал, но полагаю, что тамошние программисты на неруководящих позициях в провинции зарабатывают в пределах от 30 до 50 тыр. При работе с буржуями верхняя граница для бывалого разработчика (стаж >10 лет) составляет около 250тыр в месяц. Мой личный рекорд -- 200тыр за две недели, но это просто проект попался удачный, правда и работа на износ была. Вы можете проверить эти цифры, если зайдёте на hh.ru и посмотрите топовые вакансии по java и javascript.
Казалось бы, если программист может получать такие деньги в провинции, почему бы просто всех не переучить на программистов, чтобы наша экономика взметнула вверх? Тут есть несколько факторов. Давайте вспомним свой школьный класс и уроки алгебры, упрощение всяческих алгебраических выражений и пр. Вроде бы все правила известны, написаны в учебнике, все можно выучить, никакой магии нет, примеры в задачниках решаются... Но почему отличные результаты демонстрируют только 20% учеников?
Отчасти это связано с тем, что у кого-то нет способностей, примерно 50% процентов населения просто не могут. Учитель сделает вид, что они выучили материал на тройку, хотя они его не поняли, но их когнитивных способностей часто просто не хватает. С другой стороны нет мотивации, а главное -- интереса к предмету. Работа программиста над технически сложными, высокооплачиваемыми проектами -- это примерно как ежедневная олимпиада по математике, ну или, скажем ежедневная контрольная работа. С одной стороны привыкаешь. С другой -- продуктивно работать более 4-5 часов в день невозможно. Просто нельзя физиологически столько времени концентрироваться и быстро выдавать нужные результаты.
Как это выглядит примерно? Вот есть интернет приложение, которое очень нужно заказчику, который готов платить деньги. И оно ведет себя не так как он хочет. Но он не сказал точно, как оно должно себя вести. Ты потратил час интенсивного решения шарад, чтобы найти место в многомегабайтовой программе, которое отвечает за это поведение. А дальше тебе надо исправить программу так, чтобы она теперь вела себя правильно (как именно, заказчик сказал только примерно, он занятой богатый человек, у него мало времени) и главное, чтобы не сломать другое поведение. Получается очень сложная задача, точно её решить нельзя за разумное время. А у тебя есть пару дней, потому что ошибка мешает бизнесу. Приходится ставить эксперименты, пробовать разные подходы и проч. Часто находишь ошибки в чужих компонентах из которых, как из кирпичиков, ты собираешь свою программу. И приходится ковыряться в чужих программах, больших и непонятных, чтобы понять, как заставить их вести себя правильным образом.
Но человек с улицы часто представляет это только примерно. Что же происходит на онлайн курсах программирования? Допустим вы посмотрели зарплаты на hh.ru, а дальше спросили у гугла “как стать программистом” и тыкнули на первую ссылку. Вы попадаете на портал geekbrains, оставляете email, чтобы зарегистрироваться и вас начинают бомбардировать по почте агрессивной рекламой. Давят на чувство собственного достоинства, обещают трудоустройство начинающим разработчиком, показывают зарплаты (вполне реальные кстати). Далее вы регистрируетесь на какой-нибудь курс, платите 10тыр за 2 месяца обучения. Что из этого всего получается?
На курс записывается 40 человек примерно. Занятия проходят 2 раза в неделю. На этих занятиях есть домашние задания, но делают их примерно 5 человек из 40. 30 человек на третье занятие уже не придут. Те, которые забили, скорее всего просто не умеют учиться, они молчали на уроках и просто поверили, что если смотреть, как другой человек программирует, можно научиться. 2-3 человека из 40 найдут работу, а через 5 лет начнут штурмовать зарплатные потолки, про которые я писал в самом начале. 40 человек по 10 тыр это 400тыр, сколько из этого получит преподаватель? 15 тысяч, поэтому у него нет желания добросовестно проверять домашние задания, улучшать программу и мотивировать учеников. Собственно, так и учат почти во всех курсах.
Я всегда пытаюсь делать работу хорошо, чтобы не было так, как описано выше. Если человек мотивирован, делает домашние задания и имеет примерно пол года свободных вечеров, то его можно запустить на орбиту. У меня есть такие случаи, но их мало. На очную группу из 10 человек 2 находят работу и обычно они же делают домашнее задание, остальные, увы, ничего не делают, обманывают себя и, часто, родителей, которые спонсируют весь этот фарс. Можно ли учить добросовестно? Да, но для этого нужно интенсивно фильтровать людей на входе (по способностям, но прежде всего по мотивации). И находиться с ними в контакте ежедневно, вовлекать их в реальную работу. Тогда можно добиться коэффициента 50%, но это очень большой труд. Такие опыты ставили, посмотрите видео “Антон Кекс и Дмитрий Эсс "Школа программирования"” на ютубе. Если у программистов такие зарплаты, сколько будет стоить возиться с группой круглый день?
По уму программистов должны учить в ВУЗах, но из-за зарплат добросовестные преподаватели давно работают или колымят на тех же курсах, ещё более фрустрируя молодежь. В школах сейчас не учат вкалывать, не учат задавать вопросы, отбивают интерес к знаниям. Учителя должны получать раз в 5 больше, чтобы на их местах оказались те, кто будет учить добросовестно. 3-4 часа хорошего, интересного урока -- это очень большое психологическое напряжение. По моим наблюдениям, хорошие программисты, почти все научились сами, просто потому что им было очень интересно. Сейчас для этого есть все условия в интернете. Но человеку хочется верить, что если он заплатит небольшую сумму, навыки сами чудесным образом окажутся в его голове. С этого и живут разнообразные курсы программирования.