Как курсы программирования губят IT-индустрию в России

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Мнение | Оффтопик

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

Курсы дают инструменты, а не знания

В большинстве случаев курсы по программированию — это набор уроков, которые учат, как пользоваться конкретным инструментом. Возьмем популярные примеры: JavaScript и React. На курсах студентов сразу учат, как строить интерфейсы с React, как подключать библиотеки, работать с роутингом. Звучит здорово, правда? Вот только одно «но»: такие специалисты зачастую даже не понимают, как работает сам JavaScript. Что такое замыкания? Как работает event loop? Почему у вас иногда всплывают странные баги с this? Без ответа на эти вопросы вы не программист, вы оператор React.

Или другой пример: Python. На курсах сразу начинают учить Django или Flask, а базовые концепции вроде объектно-ориентированного программирования или внутреннего устройства языка остаются за бортом. А потом такие «специалисты» получают задачи на оптимизацию и теряются. Потому что когда вы не понимаете, как устроен язык, вы не можете эффективно его использовать.

Фреймворки — не зло, но не для новичков

Поймите меня правильно: я не против фреймворков. Они — мощные инструменты. React, Django, Spring — все это упрощает жизнь и позволяет быстрее решать задачи. Но чтобы эффективно пользоваться фреймворком, нужно понимать, как он устроен. А это возможно только тогда, когда вы знаете нативный язык и основные принципы программирования.

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

Проблема массового подхода

Массовость — вот главный враг качества в образовании. Курсы продаются тысячам людей, обещая «быстрый вход в IT» за три месяца. Программа обучения строится так, чтобы ученик сразу мог «показать результат». А что такое результат? Это готовое приложение на React, Telegram-бот на Python или страничка с подключенным Firebase. Но никто не объясняет, как это работает изнутри. Ведь если ученик начнет вникать в детали, он потратит месяцы, а не недели, чтобы разобраться. А значит, курсы не смогут «поставить» на рынок очередную партию «специалистов».

Кто в итоге страдает?

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

Как исправить ситуацию?

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

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

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

Изображение в превью:
Автор: GPT
Источник: GPT
Автор не входит в состав редакции iXBT.com (подробнее »)

22 комментария

a
Страшно другое. Мне как-то на предложение прочитать первую главу документации, чтобы узнать возможности и ограничения, заявили: «зачем нам читать документацию, у нас есть свое сложившееся мнение о данной технологии». То, что в документации было написано, что желаемое на реализовано — неважно. Главное — свое мнение. И еще ведь прихлопывают официальную документацию замечательным «в езде говорят, что можно». Мнение на основе вот этой самой «езды» перевешивает и мнение профессионалов, и документацию.
M
Я считаю, неправильно сразу учить людей писать на скриптах. Как говорится, не учите детей плохому. Конечно идея о том, что раз условный Питон является самым популярным языком, то надо учить писать сразу на нем, является заманчивой. Но в итоге получатся программисты уровня тайских пилотов самолетов, которые только кнопочки на автопилоте тыкать умеют. Все нужно делать по порядку. Сначала обычный язык на базовом уровне. Потом ООП. И только потом скриптовые языки. Почему именно так? Во первых прежде, чем переходить к концепции «Тут все ООП», это ООП для начала надо бы прочувствовать. Во вторых программист должен прочувствовать, что любые операции не бесплатны, а имеют некоторую стоимость. Например самый яркий пример — что работа со строками медленнее, чем с числами, а потому алгоритмы в стиле «Преобразуем число в строку и найдем ее длину вместо 100 <= X <= 999» — это быдлокод. Еще хуже, когда в скриптовых языках такие проблемы могут возникать неявным образом. Например из за нестрогости типизации. Это можно прочувствовать только в том случае, если тебя поставили такие условия, где ты должен сначала написать все сам. Только тогда ты поймешь, что сколько стоит.
Carrot_Joe
Сегодня программирование перестало быть наукой, профессией «красноглазиков», а стало ремеслом, где за 3-4 месяца можно научиться работать на конвеере по кодированию, где руководитель даёт входное задание, требуемый результат и инструмент, которым это нужно сделать. Не нужно придумывать и разрабатывать алгоритмы, что-то уникальное и быстрое, нужно дать предсказуемый результат в установленый срок (бюджет). Это будет медленнее? — вычислительные мощности стоят копейки. Вылезут типичные баги? — есть средства отладки, тестирования, систематизированный опыт решения типичных задач и проблем. Использование стандартных инструментов, алгоритмов и процедур позволяет изучать чужой код без проблем, модифицировать его, даже перепистаь с нуля без особых проблем и расходов. Создание программ превратилось в обычный конвеер стандартных решений. Такова плата за прогресс и массовое использование.
Я не буду спорить, существуют люди, которые имеют базу профильного образования, вроде прикладной математики, дополнительное образование, связаное с спецификой разработки, например, крипрографию, экономику, глубокие познания в сетевых технологиях и т.д., но это уже штучный товар, который и пишет уникальную часть программы, которую потом обвешивают стандартными решениями ремесленники, под управлением и надзором функционеров от программирования.
Как ни странно, программирование сегодня работает по тем же стандартнам и принципам, что и любое производство, и это кодеры за 3 месяца, это токари и фрезеровщики 1-2-3 разряда, которые точат из болванок типовые массовые детали.
a
Это будет медленнее? — вычислительные мощности стоят копейки.

А потом начинаются вопли насчет медленных запросов к базе данных, не отвечающих серверов приложений…
Carrot_Joe
Да, это следствие, а причина — бюджет разработки и внедрения. То что автор описал в статье это и есть тот самый «индусский код» — быстро, дёшево и массово.
116117399838709429549@google
Джуну не нужны ваши замыкания, event loop и проблемы this (не знаю, о каких проблемах идёт речь).
Мидлу/сеньору они нужны, только для того, что на собесе какойнить душнила будет это спрашивать.
+ не забываем прототипное наследование.
А по факту мы все будем json'ки перекладывать в 90% компаний. Можно конечно устроится в какие нить гис-сервисы или сложные редакторы чего угодно, где толстый фронт, но туда точно джуна не возмут.
Я абсолютно не спорю по поводу курсов(любые курсы без исключения — скам на лоха). Но с другой стороны вы, как то сильно переоциниваете джунов. Джуну вероятно прикольно знать базу js, основы фреймворка, гит(4 команды) и наверное поверхностно докер. Всё равно уровень задач там «кнопку перекрасить» и с проблемами он побежит к ментору очевидно.
Но опять же, джуна всё равно никуда не возмут. На моей практике брали только тех, за кого мог поручится кто то внутри компании :D
100491544640767782196@google
Часто у вас проблемы с this? У меня самые большие проблемы с this случались только на собеседованиях. Выпускник курсов в принципе пару лет на работе только вредит проекту а потом, если много бить по рукам, начинает приносить пользу.
1
Правильно ли я понимаю, что автор хотел сказать, что входящий поток кандидатов слишком тяжел своим некачеством и объемом для наймодателея? Создаёт чрезмерную нагрузку для него?
1
[удаленный комментарий]
1
[удаленный комментарий]
1
(удаленный комментарий)
1
...
Правильно ли я понимаю, что автор хотел сказать, что входящий поток кандидатов слишком тяжел своей неподготовленностью и объемом для нанимателя? Создаёт чрезмерную нагрузку для него?
1
Если бы в основе был интерес к профессии, основанный на любознательности, а не деньги были основой интереса а первую очередь, то и основы программирования вышли бы на первое место. Студент постоянно должен спрашивать: «почему? Почему? Почему этот инструмент такой неудобный? А что я могу сделать, что бы изменить это?»Что бы подогреть собственный интерес, стоит обратить внимание на интересующие конкретно вас прикладные задачи; далее, исходя из прикладной задачи выбрать инструмент… изучать его по мере решения задачи; люди редко изучают инструмент в проактивном режиме, не имея прикладной задачи; имеет ли смысл обзаводиться знаниями как говорят про запас? Если бы коллеги начали не с высокоуровнего языка, а, например с asm, то картина была бы иной.
105541404663996881166@google
Все программисты это давно операторы Google, которые без него ничего не могут сделать
101309067656425331691@google
А минусы будут?
105541404663996881166@google
Ну для программистов минус в том, что их легко может gpt заменить, так как он сам гуглить может
113062040425271292820@google
То что ШП во многом применяют IT сфере это правда. Невозможно за пол года, год и даже за 3 года нормально обучиться базе. Слишком много всего нужно знать. Конечно, если мы говорим, про формошлёпов/крудошлёпов на js/python фреймворках, то и года хватит, чтобы обучить любого человека. Однако если мы говорим о чём-то более серьезном, то без базы компьютер сайнс и минимального матана будет тяжело. И да, я даже не алгоритмы под этим подразумеваю, за счёт которых любят самоутверждаться душнилы на собесах, причём зачастую так же не понимая темы.
Так что же делать новичкам? Тоже, что и всегда. Если молодые, идите учитесь в вуз или колледж, только узнайте о программе обучения. Если старые, то во-первых, а оно вам надо? В IT давно обычные работники получают выше среднего по рынку. Во-вторых, готовьтесь, что обучение займёт много свободного времени и сил. Никакой годик курсов объективно из вас спецов не сделает.
При этом не слушайте гейткиперов (чаще всего ничего не знающие сеньоры в конторах с насыщенным местечком, где кроме них и джунов никого в команде нет), которые несут бред, что программирование это не работа, а призвание. Всё это фигня. Так же программисты нужны разные и условный формошлёп на реакте, может быть часто востребованней и более высокооплачиваемыми, чем теже программисты микроконтроллеров или ML программисты. Таков рынок. Поэтому ищите более комфортную точку входа для себя и поменьше слушайте «знатоков».
1
Пусть работодатели принимают на работу не выпускников курсов, а выпускников универа. И стонать тогда не придется.
1
Выпускников универа очень мало, слишком много говнокода уже написали чтобы его везде поддерживать. Для этого достаточно крудошлепов, а не линуксоидов с 1 диоптрией. И лучше иметь медленно работающие программы чем вообще их не иметь, ожидая пока выпускник универа что то там соизволит написать))
1
Как учился я? У меня была идея интересного проекта и я сходу начал его делать с нулевыми знаниями в программировании. Получался велосипед на костылях, в какой-то момент пришло осознание какие именно инструменты и языки мне нужно изучить. Сел, изучил, переделал. Причем времени это заняло на порядок меньше.
Вдохновил своего друга. Он дотошно начал изучать сразу два языка. Вроде бы освоил, но в голове не было никаких идей куда применить свои знания, так они и лежат у него в памяти мертвым грузом
1
Что за кликбейтный заголовок? Звучит как шаблон по типу: Как вы убиваете свой мотор в автомобиле…
1
Основная часть курсов сводится к тому, что автор открывает документацию, и просто её читает. Будьте добры, заплатите за это 50 тысяч

Добавить комментарий

Сейчас на главной

Новости

Публикации

Подробный обзор портативной колонки BlitzWolf BW‑WA3: мой опыт использования мощной колонки с подсветкой

Портативные колонки давно вышли за рамки простого «динамика с Bluetooth». Сегодня это полноценные развлекательные центры — с подсветкой, расширенным функционалом и возможностями, которые...

Обзор беспроводных наушников UGREEN LightBuds Magic (WS216C): когда бюджетные наушники удивляют

На рынке TWS-наушников царит жесткая конкуренция, и выделиться среди сотен похожих моделей непросто. UGREEN решила пойти нестандартным путем — компания добавила в свои LightBuds Magic...

Обзор зарядного устройства UGREEN 65W X767: простой и качественный вариант пятипортовой зарядки

UGREEN выпустила бюджетную версию своей популярной 65-ваттной зарядки — модель X767. Это упрощённый вариант флагманской серии Nexode, который сохранил GaN-технологию и пять портов, но...

Виртуальная реальность в 2025 году: почему рынок VR не стал массовым

Индустрия виртуальной реальности время от времени продолжает нас радовать новинками: в 2025 году вышло второе поколение VR-гарнитуры Apple Vision Pro, а Valve анонсировали очки Steam Frame....

Триллионы в пустоту: почему ИИ может оказаться самым дорогим мыльным пузырем в истории

Автор: Elon Merlin Вам не кажется, что у вас дежавю? Конец 90-х. Инвесторы с горящими глазами несут чемоданы денег в любую компанию, у которой в названии есть «.com». Акции взлетают в космос,...

Атмосферная лампа-ночник с аккумулятором и сенсорным управлением: 3 режима и 13 цветов

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