Есть аспекты вашего ответа, с которыми я согласен, и аспекты, с которыми я категорически не согласен.

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

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

Вы также правы в том, что учебные курсы очень осторожно подходят к отбору претендентов. Уровень приема Flatiron School колеблется в районе ~ 5%, и другие авторитетные школы аналогичны. Не все созданы для того, чтобы быть программистом. Многим людям не хватает каких-либо способностей, и их обычно отсеивают, заставляя изучать язык и демонстрировать свои способности. Это хорошая вещь. Это было бы не только колоссальной тратой их денег и времени, но и нанесло бы ущерб репутации учебного лагеря для аспирантов, которые не смогли проявить себя в выбранной ими профессии.

Я также совершенно определенно согласен с тем, что есть разница между выпускником университета со степенью CS и выпускником учебного курса по программированию. Я не верю, что есть полностью совпадающие наборы навыков, полученные от каждого из них. Путь в университет гораздо больше фокусируется на основных концепциях программирования, реализованных на множестве разных языков; учебный курс сначала концентрируется на этих концепциях, но затем быстро переключается на способность создавать качественный код на языках и фреймворках, популярных в отрасли. Выпускник университета, скорее всего, будет разносторонним программистом, тогда как выпускник учебного курса сфокусирован на знаниях в своей профессии, будь то Rails, React, Node или что-то еще, чему они обучались. Я слышал много историй о CS выпускники барахтаются в кадрах из-за неспособности работать в команде или неспособности быстро адаптироваться к определенной технологии или структуре. Это то место, где выпускники учебного лагеря преуспевают, поскольку нас учат немедленно стать продуктивными в реальной компании.

Ни выпускник CS, ни выпускник учебного лагеря не станут чем-то большим, чем новичок на своей первой работе. Оба получают большую часть того, что им нужно, во время пребывания там. У обоих есть сильные и слабые стороны, которые проявляются в рабочей среде, и от этого они лучше.

Мой личный опыт и опыт многих моих друзей и знакомых показывают, что, окончив учебный курс, вы не только сразу начинаете вносить свой вклад в команду разработчиков своей компании, но и быстро начинаете осваивать навыки, которые вы не можете получить за три месяца. Отнюдь не утечка, вы превращаетесь именно в того, чем, как вы утверждаете, не является выпускник учебного лагеря: в разностороннего программиста.