Из реальной потребности программирование как-то незаметно стало модным трендом. Причем базирующимся исключительно на цене вопроса. Это в XX веке компьютерные гении творили в порыве изменить мир: ускорить, улучшить, обеспечить безопасность и экономию. Сегодня учить языки программирования все чаще приходят не по призванию, а в надежде освоить востребованные навыки, которые легко монетизировать.
«Это наглядная демонстрация того, как можно манипулировать людьми не только в быту, политике или продаже товаров и услуг, но и в отношении к высоким технологиям», — убежден Андрей Жинжер, управляющий партнер WhiteLabelDevelopers, десять лет занимающийся менеджментом проектов по разработке интернет-ресурсов.
Если человек хочет стать программистом, прежде всего он должен получить фундаментальные знания по информатике. Обучение программированию без этих основ сродни обучению лошади игре на фортепиано, с соответствующим результатом. Я считаю, что ребенку, нацеленному на получение профессии программиста, для начала хватит и обыкновенной школьной программы. Перегружать какими-то дополнительными курсами нет смысла, достаточно иметь базовые знания и изучить простой язык программирования.
В дальнейшем важно получить всестороннее образование — специализированное, на мой взгляд, ведет к профессиональной инвалидности. Например, я оканчивал МИФИ, моя специальность — физика прочности. Именно эти фундаментальные знания позволили мне легко двигаться в направлении информационных технологий. База всегда дает максимум гибкости в выборе.
Второй очень важный момент — любой разработчик, если он, конечно, хочет зарабатывать, будет работать не один, а в команде. А чтобы там работать, надо знать методологию процесса организации, азы проектной организации, чтобы не было вопросов по функционалу каждого, кто входит в артель. Причем нужно почувствовать, что это такое, именно на практике. Огромная ошибка многих — пытаться брать все на себя, отказываться от менеджмента проекта и стараться запустить несколько продуктов сразу, не обдумав.
Выбирая популярные курсы программирования, нужно понимать, что порог сложности в разных сегментах разный. Соответственно, и необходимые для монетизации знания также будут различаться. Если человек не знает, как собрать себе сайт, можно взять готовые плагины, и тут не нужны глубокие знания и лишние траты на долгое обучение. А вот те, кто работает с информационной системой, уже пишут серьезные приложения, и там без фундаментальных знаний никак.
При этом, замечу, даже в веб-разработке, которую так распиарили, порог довольно высокий. Однако я вижу людей, которые заканчивают курсы за две недели в полной уверенности, что они уже крутые спецы. По факту же надо очень плотно быть знакомым с тремя — пятью технологиями, иначе происходит повторение каких-то заученных теорий, без понимания, как это работает. И как только какой-то камешек вытащишь, все падает…
Разочарую тех, кто рассчитывает на легкие деньги на вебе: новичка после курсов в серьезные проекты брать не будут, это все-таки написание кода. Помню, был наплыв верстальщиков из Еревана после курсов. Говорили: «Дайте мне работу». — «А что вы можете? Если я дам блокнот, сумеете код написать?» — «Нет, я умею только на готовой библиотеке собирать». А рынку не нужны люди, которые умеют собирать только на готовых библиотеках. Это, наоборот, даже вредно и опасно, а еще придется платить и программисту, и тому, кто будет за ним переделывать, иначе все провалится.
К сожалению, большинство подобных курсов — это просто способ зарабатывания денег без привязки к реальному рынку труда. Причем я убежден: люди сами виноваты, потому что сначала надо найти заказ, понять, что именно востребовано в реальности, а потом подбирать курсы. Как и всякую инвестицию, эту, в образование, нужно предварительно просчитать, а не вестись на рекламу.
Есть и еще одна проблема в связи с массовым хайпом — отток хороших кадров из фриланса в большие компании. Сейчас очень сложно найти реального специалиста, они просто тонут в потоке дилетантов, которые только вчера обучились модному языку программирования.
Ситуация достаточно простая. Некоторое время назад некая группа товарищей справедливо рассудила, что можно достаточно легко создать ажиотаж вокруг программирования. А если быть точнее, вокруг Python. И вот уже несколько лет из каждого чайника трубят, как в том фильме: «Что вы будете делать, если не будете знать Python?» А еще, по данным последних рейтингов, этот язык программирования наконец обогнал непобедимую Java.
Если постоянно о чем-то говорить, да еще и связывать с красивыми словами: «майнинг», «вычислительные операции», «дата сайнс», «криптовалюта», — некомпетентные люди быстро смекнут, что «очкарики» нынче много денег зарабатывают. Результат — все начинают учить Python, хотя в реальности его на рынке нет. И у многих профессионалов претензии к нему из-за откровенно слабого синтаксиса, на нем сложно делать серьезные разработки, этот язык — для дилетантов.
Получается, что на хайпе зарабатываются деньги, а рынок не насыщается новыми программами. В том же вебе реальная статистика такова, что из миллиона рабочих сайтов лишь в 0,94% присутствует Python, то есть они даже не написаны на нем. А если рассматривать тысячу самых посещаемых сайтов, там его доля — 4,5%. Но это так называемая «дорогая тысяча», у которой золотые ресурсы, и естественно, они написаны на многих технологиях. Но бум на Python продолжается.
Оставьте детей в покое! Я рад, что мои родители не загружали меня в детстве разными курсами, что никак не помешало моему профессиональном развитию. Не надо детей в этот тренд затягивать, они должны спокойно жить, учиться и получать удовольствие. Подростку, желающему стать программистом, достаточно базовых знаний по алгебре (при условии, что он получит потом и высшее образование).
Если же говорить о так называемом общем развитии, то считаю, что изучение базовых языков программирования — прекрасная тренировка мышления, дисциплины, логики, оно способствует повышению качества принимаемых решений. Вот об этом надо говорить прежде всего, а не о массовой коммерциализации модных навыков.