Как курсы программирования губят IT-индустрию в России
Я занимаюсь программированием уже больше десяти лет. За это время я успел поработать в разных проектах: от стартапов, где ты пишешь все с нуля, до крупных корпораций, где важна работа с масштабом и поддержкой старого кода. И, честно говоря, за последние годы меня все больше беспокоит то, что происходит с обучением в нашей IT-индустрии. Курсы программирования, которые сейчас продаются на каждом углу, не готовят специалистов. Они создают людей, которые умеют жонглировать фреймворками, но при этом не понимают, как работает фундамент.
Курсы дают инструменты, а не знания
В большинстве случаев курсы по программированию — это набор уроков, которые учат, как пользоваться конкретным инструментом. Возьмем популярные примеры: JavaScript и React. На курсах студентов сразу учат, как строить интерфейсы с React, как подключать библиотеки, работать с роутингом. Звучит здорово, правда? Вот только одно «но»: такие специалисты зачастую даже не понимают, как работает сам JavaScript. Что такое замыкания? Как работает event loop? Почему у вас иногда всплывают странные баги с this? Без ответа на эти вопросы вы не программист, вы оператор React.
Или другой пример: Python. На курсах сразу начинают учить Django или Flask, а базовые концепции вроде объектно-ориентированного программирования или внутреннего устройства языка остаются за бортом. А потом такие «специалисты» получают задачи на оптимизацию и теряются. Потому что когда вы не понимаете, как устроен язык, вы не можете эффективно его использовать.
Фреймворки — не зло, но не для новичков
Поймите меня правильно: я не против фреймворков. Они — мощные инструменты. React, Django, Spring — все это упрощает жизнь и позволяет быстрее решать задачи. Но чтобы эффективно пользоваться фреймворком, нужно понимать, как он устроен. А это возможно только тогда, когда вы знаете нативный язык и основные принципы программирования.
Фреймворк — это инструмент, как молоток или пила. Если вы не знаете, как устроен гвоздь, как работает дерево, и почему металл держится, то молоток вам не поможет. Настоящий специалист сначала изучает основы, а потом осваивает инструменты, которые помогают быстрее и качественнее работать.
Проблема массового подхода
Массовость — вот главный враг качества в образовании. Курсы продаются тысячам людей, обещая «быстрый вход в IT» за три месяца. Программа обучения строится так, чтобы ученик сразу мог «показать результат». А что такое результат? Это готовое приложение на React, Telegram-бот на Python или страничка с подключенным Firebase. Но никто не объясняет, как это работает изнутри. Ведь если ученик начнет вникать в детали, он потратит месяцы, а не недели, чтобы разобраться. А значит, курсы не смогут «поставить» на рынок очередную партию «специалистов».
Кто в итоге страдает?
От этого подхода страдают все. Работодатели получают поток соискателей с одинаковыми резюме и одинаково низким уровнем знаний. Компании вынуждены тратить ресурсы на дообучение, а иногда просто отказываются от найма новичков, разочарованные в уровне кандидатов. Страдают и сами выпускники курсов. Они приходят на собеседования, понимая, что их знаний недостаточно, и сталкиваются с отказами. Разочарование приводит к тому, что многие просто уходят из IT, даже не попытавшись развиваться дальше.
Как исправить ситуацию?
Если вы хотите стать программистом, начните с основ. Поймите, как работает выбранный вами язык программирования. Изучите алгоритмы, структуры данных, базовые принципы работы компьютеров. Погружение в основы может показаться скучным и сложным, но именно оно делает из вас профессионала, способного решать реальные задачи.
Фреймворки приходят и уходят. Сегодня популярен React, завтра его сменит что-то другое. Но принципы, которые лежат в основе программирования, остаются неизменными. Если вы их освоите, вы сможете адаптироваться к любым изменениям. Настоящий программист всегда остается востребованным, потому что он понимает суть.
Курсы не исчезнут, и это нормально. Но только от вас зависит, будете ли вы настоящим разработчиком или просто оператором готовых инструментов. Выбирайте развитие, а не иллюзию успеха.
Источник: GPT





22 комментария
Добавить комментарий
Я не буду спорить, существуют люди, которые имеют базу профильного образования, вроде прикладной математики, дополнительное образование, связаное с спецификой разработки, например, крипрографию, экономику, глубокие познания в сетевых технологиях и т.д., но это уже штучный товар, который и пишет уникальную часть программы, которую потом обвешивают стандартными решениями ремесленники, под управлением и надзором функционеров от программирования.
Как ни странно, программирование сегодня работает по тем же стандартнам и принципам, что и любое производство, и это кодеры за 3 месяца, это токари и фрезеровщики 1-2-3 разряда, которые точат из болванок типовые массовые детали.
А потом начинаются вопли насчет медленных запросов к базе данных, не отвечающих серверов приложений…
Мидлу/сеньору они нужны, только для того, что на собесе какойнить душнила будет это спрашивать.
+ не забываем прототипное наследование.
А по факту мы все будем json'ки перекладывать в 90% компаний. Можно конечно устроится в какие нить гис-сервисы или сложные редакторы чего угодно, где толстый фронт, но туда точно джуна не возмут.
Я абсолютно не спорю по поводу курсов(любые курсы без исключения — скам на лоха). Но с другой стороны вы, как то сильно переоциниваете джунов. Джуну вероятно прикольно знать базу js, основы фреймворка, гит(4 команды) и наверное поверхностно докер. Всё равно уровень задач там «кнопку перекрасить» и с проблемами он побежит к ментору очевидно.
Но опять же, джуна всё равно никуда не возмут. На моей практике брали только тех, за кого мог поручится кто то внутри компании :D
Так что же делать новичкам? Тоже, что и всегда. Если молодые, идите учитесь в вуз или колледж, только узнайте о программе обучения. Если старые, то во-первых, а оно вам надо? В IT давно обычные работники получают выше среднего по рынку. Во-вторых, готовьтесь, что обучение займёт много свободного времени и сил. Никакой годик курсов объективно из вас спецов не сделает.
При этом не слушайте гейткиперов (чаще всего ничего не знающие сеньоры в конторах с насыщенным местечком, где кроме них и джунов никого в команде нет), которые несут бред, что программирование это не работа, а призвание. Всё это фигня. Так же программисты нужны разные и условный формошлёп на реакте, может быть часто востребованней и более высокооплачиваемыми, чем теже программисты микроконтроллеров или ML программисты. Таков рынок. Поэтому ищите более комфортную точку входа для себя и поменьше слушайте «знатоков».
Вдохновил своего друга. Он дотошно начал изучать сразу два языка. Вроде бы освоил, но в голове не было никаких идей куда применить свои знания, так они и лежат у него в памяти мертвым грузом
Добавить комментарий