Высшее образование, курсы или самообучение: выбираем осознанно

0
582
views

Перевод статьи «Degree, Bootcamp, or Self-Taught: Thoughts on How to Choose».

Как выбрать форму обучения

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

  1. Поступить в университет и получить диплом по информатике, разработке ПО, информационным технологиям или какому-нибудь похожему профилю.
  2. Записаться на курсы (можно даже онлайн). Они относительно короткие, с интенсивной программой обучения. Их основная задача – дать студентам нужные (в том числе для конкуренции на рынке труда) навыки, которые позволят им получить работу.
  3. Составить собственный учебный план и продвигаться по нему, черпая знания онлайн – из видео, курсов, книг, задач по программированию и других бесплатных или недорогих источников.

Мне часто встречаются люди, которые на различных платформах (Twitter, StackOverflow и Dev.to) интересуются достоинствами и недостатками каждого из видов обучения. У меня есть небольшой опыт в каждом из них и я подумал, что мог бы этим опытом поделиться и дать дельные советы насчет выбора. Единственная оговорка – я никогда не устраивался на работу в сфере разработки ПО. Так что здесь я делюсь лишь своим учебным опытом и знаниями, которые сам почерпнул из книг/видео/подкастов/речей/твитов действительно умных людей.

Имейте в виду, что каждый учится по-своему, и у вас будет собственная скорость продвижения. Я только приведу несколько суждений, которые могут пригодиться при выборе пути.

Многолетнее обучение в вузе

Обучение в вузе

Факты

Академическая система действительно прекрасно подходит некоторым людям. Если вы к ним относитесь, то вы это и сами поймете. Если же мысль о возвращении в школу заставляет вас поморщиться, то вуз, вероятно, не для вас.

Стоит учитывать, что порой менеджеры по найму говорят, что для того чтобы занять определенную должность нужно иметь соответствующее высшее образование.

Примечание: если у вас нет диплома, а в объявлении о вакансии сказано, что это обязательно, но вы все равно думаете, что вам такая работа по душе и вы прекрасно с ней справитесь, – обязательно подавайте заявку. Не сходите с дистанции добровольно. Подождите, пока человек, который будет заниматься наймом, познакомится с вами и узнает о ваших навыках. А если и после этого он скажет, что им нужен диплом, тогда можете ему поверить.

При обучении в вузе вы обычно получаете все преимущества классно-урочной системы обучения. У вас будут преподаватели, которые знают свой предмет, сокурсники, изучающие тот же материал, что и вы, структурированная учебная среда (учебный план, цели обучения, расписание домашних заданий, тесты).

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

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

Интересный факт: утверждения «Я недостаточно умен, чтобы программировать» и «У меня просто неподходящий склад ума» всегда ложны. Каждый может писать код. Нужно только найти правильный подход к обучению. И еще нужна решимость, потому что это нелегкое занятие.

Мои рекомендации

Я бы посоветовал получать высшее образование по специальностям, связанным с программированием, по следующим причинам:

  • Вы на самом деле обожаете эту тему и хотите углубиться в нее.
  • У вас хватит решимости посещать тяжелые и путаные лекции. Вы достаточно уверены в себе, чтобы знать: в том, что вам сложно учиться, вероятно, нет вашей вины. У вас есть мудрость принять это и продолжать работать.
  • Вы можете позволить себе потратить время и деньги на получение диплома.
  • Этот диплом вам нужен для достижения ваших конечных целей.
  • Вы уже занимаетесь программированием какое-то время. При таком раскладе у вас будет реальный контекст для концепций, которым вас будут обучать, вы будете знать, для чего они нужны, а это очень полезно.

Я бы не рекомендовал идти в вуз, если:

  • Вы не знаете, как пишется код, и не уверены, понравится ли это вам вообще. Платить за обучение в университете – не лучший способ выяснить этот вопрос. По крайней мере, попробуйте сначала Codecademy или что-то подобное.
  • Вам не нравится школьное обучение и у вас нет необходимости в дипломе.
  • Вы не можете себе это позволить, не хотите брать кредиты на обучение и у вас нет необходимости в дипломе.
  • У вас нет столько времени на учебу и у вас нет необходимости в дипломе.

Курсы

Посещение курсов

Факты

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

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

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

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

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

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

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

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

Мои рекомендации

Я бы посоветовал записаться на курсы, если:

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

Я бы не рекомендовал идти на курсы, если:

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

Самообучение

Самообразование

Факты

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

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

Стоит помнить (полезно для душевного равновесия), что количество знаний в этой сфере безгранично.

Их. Много.

Вы никоим образом не сумеете узнать о программировании все. Так что не стоит слишком сильно переживать о том, что вы «отстаете». Просто оставайтесь любопытным, готовым экспериментировать и открытым для новых идей – и вы непременно будете расти.

Главное достоинство и одновременно недостаток самообразования в том, что это долгий путь.

Тяжело оставаться сосредоточенным на изучении одного конкретного навыка или набора навыков. Есть так много классных тем, что отвлечься очень легко (а часто даже и нормально!). Вы не подчиняетесь ничьему расписанию, кроме собственного, так что если вам хочется посвятить выходные изучению работы компиляторов или использованию Raspberry Pi, то ничего дурного в этом нет. Но это будет отбирать время, которое вы могли бы потратить на изучение других, более нужных вам навыков.

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

Последнее, что хотелось бы отметить, – вам не обязательно проходить этот путь в одиночестве. Даже несмотря на то, что раздел называется «самообучение». Есть множество отличных сообществ. Там вы можете познакомиться с людьми, которые также учатся программировать. Вам может быть полезно общаться с ними, делиться трудностями и победами.

Мои рекомендации

Я бы порекомендовал вам учиться самостоятельно, если:

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

Я бы не советовал выбирать этот путь, если:

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

Не ждите. Решитесь и начинайте работать

Худшее, что вы можете сделать, это не делать ничего и агонизировать над выбором самого «правильного» пути. Начните учиться самостоятельно, затем просмотрите программу вуза или курсов, если чувствуете, что вам нужно, чтобы вас направляли, или хотите углубить свои знания. Помните, что вуз и курсы это инвестиции, так что продумывайте, окупятся ли они, до того, как делать вложения.

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



ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here