НА главную
Блог
Контакты
новости
Блог

Почему недельные курсы на программистов не работают.

Обещал написать, почему недельные курсы по программированию не работают. Периодически встречаю на разных площадках предложения освоить языки программирования онлайн, за неделю/месяц/год. Подтекстом этой навязчивой рекламы идет неявное предложение новичку зайти в дивный высокооплачиваемый мир IT. При этом используются ссылки на наиболее релевантные в поисковике языки - Java, SQL, JS и пр. Вы переходите по ссылкам на HH и видите невообразимые уровни доходов. Друзья, не верьте. Это не вся правда.

Действительно, если вы уже являетесь опытным разработчиком, например, на языке С++/C#/Python/PHP, имеете опыт взаимодействия с кодом, пользователями, заказчиками, успешный опыт внедрений нового ПО, то изучить новый язык, новую нотацию, логику построения, структуру библиотек и т.п. у вас не вызовет сложности. Но и курсы вам будут не нужны, потому что будут тормозить погружение. Вам будет достаточно книги, документации, развернутой среды и тестовых или рабочих заданий для отработки навыков.

Это как если у вас есть права категории В и вы умеете неплохо ездить на своем Солярисе (или теперь на Чери, наверное) на автомате. И вам дают ключи от УАЗика на механике. Ну да, неудобно, непривычно, отвлекаешься, жестко, твёрдо, все гремит. И педали теперь три штуки. Но сам навык ездить у вас уже есть. И к УАЗику вы привыкнете, и к Феррари, если повезет.

Если же вы полный новичок в программировании, даже если вы виртуозно владеете формулами в Excel, то вас на этих курсах могут единственное чему обучить - это копипастить куски кода в нужное место и глядеть, что из этого выйдет. Вы не сможете понять, что такое разработка ПО, пока не разберетесь, как работает память, такты процессора, какие бывают структуры данных, как работает компилятор или платформа вашей разработки, какие есть библиотеки и как ими пользоваться. Как правильно выстраивать алгоритмы, и как предсказывать будущее. И самое главное, пока не отструктурируете свой мозг для всех этих задач.

Я учился на программиста 4 года в школе (8-11 классы), 5 лет в университете, и потом с нуля на рабочем месте еще 2 года под присмотром опытного сатрапа-начальника (спасибо ему за это, кстати). И только потом, после еще следующих 5 лет в роли самостоятельного разработчика и архитектора я смог только сказать, что теперь я настоящий программист.

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

Вспомнил историю из жизни в эту тему.

Учился я как-то на 1-м курсе университета, работая на свою зачетку. И был у меня прекрасный предмет - физика (не помню уже какая), которую вёл преподаватель Гаврилов Александр Иванович (привет ему). Так вот, так случилось, что наступило время экзамена по этому предмету в конце первого курса. А накануне этого экзамена я как-то очень успешно съездил на южнороссийскую олимпиаду по математике от КубГТУ и занял на ней 1-е место впервые в истории ВУЗа (до меня был лучший результат - 6-е место). И как это свойственно молодости, сильно расслабился, и к физике не готовился, считая, что уж с задачами на экзамене как-нибудь справлюсь. И действительно, вытащив билет, сразу понял что задачи я решу сразу - и решил. А вот два теоретических вопроса не отвечу, там какие-то формулы надо было вывести, и какую-то теорию проговорить. Подхожу я в таком виде к преподавателю, сдаваться. Он смотрит мои задачи, отмечает, что решено верно, случает мое мычание по теории, молча открывает зачетку, заносит над ней ручку, и со словами “Я не могу поставить вам 3, у вас тут одни пятерки, не могу портить вам зачетку, тяните еще билет”. Я сползаю под стол, тяну следующий билет и иду готовиться. Ситуация повторяется. Сразу решаю задачи, вопросы теории не тяну. Подхожу снова и тут снова ситуация близка патовой :) Преподаватель понял, что нет смысла меня гонять туда-сюда, а я понял, что теперь совсем не всё зависит от меня. В общем, не помню уже как, но мы начали спорить о том, что первично, теория или практика, что важнее - уметь решать задачи или помнить на память все выводы формул из учетника. Подробно обсудили как человек рождается, как он растет и через что постигает жизнь и т.д. Продолжалось это не менее 40 минут, которые я невольно подарил своим однокурсникам для максимально тщательной подготовки, в процессе которой я сзади сначала слышал откровенное шуршание сначала шпаргалок, потом книг и тетрадей, а потом наоборот полную тишину и внимание на нашем с преподавателем споре.

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

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

А на экзамене, если интересно, я получил пять :) Чтобы быстрее перейти к приему экзаменов у других студентов, А.И. предложил мне угадать, как упадет монетка - орёл/решка. Угадал - пять, повезло. Не угадал - четыре (+ балл к трояку за живую дискуссию). Я угадал решку. До сих пор с этим живу :)