Как стать программистомКарьера

Высшее образование в карьере IT-специалиста

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

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

Корни проблемы и танковая броня

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

  • когда содержание персонального компьютера (а это, согласитесь, одно из основных средств для программиста, далёкого от оборонной промышленности) требовало не только денег, но и фундаментальных знаний в различных точных науках: нужно было не только приобрести набор микросхем, но и спаять их, написать программный код в отсутствие Интернет, ну и прочие прелести поколения ZX Spectrum.
  • когда компьютерная техника стала стандартной и доступной. Ведь тогда средство для программирования получил каждый. И с небольшим интервалом появилась Всемирная паутина, сделавшая доступной огромные кластеры информации. А самое главное — она сделала людей и их истории более близкими для других, видимыми.

Тогда все увидели, что основатели Microsoft и Facebook бросили учёбу в Гарварде. Эти истории породили мысли об отсутствии необходимости высшего образования для построения успешной карьеры в IT, создавая важную для многих вещь в принятии решения — прецедент. Наличие возможности достичь впечатляющих результатов, не тратя времени на ресурсоёмкий шаг — неплохая перспектива, не так ли? Здесь кроется очень много разных «но». Например, компании с мировым именем — такие как Лаборатория Касперского или социальная сеть ВКонтакте созданы и выращены людьми с сильным академическим фундаментом.

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

Держа в уме эту теоретическую основу, картина мира резко расширяется. Сколько людей из тех, кто не имеет высшего образования, создали большие и известные системы или хотя бы выросли по карьерной лестнице? Суровая статистика показывает, что процент людей с ВО, достигших выдающихся результатов или высоких позиций, несопоставимо выше. Скажу больше. Даже люди с техническим образованием не всегда готовы развиваться именно в IT, так как пробуют себя, но видят, что эта область им не очень нравится. На этом можно было бы закончить статью и сказать «Идите все учиться», но это неправильно. Ведь соотношение — ещё не вывод. Давайте копать глубже.

Но зачем?
Но зачем?

Понимание принципов обучения

Итак, мы знаем, что людей с ВО больше. Но как это коррелирует с точками получения их знаний? И как им вообще пригодилось высшее образование? Если посмотреть на индекс популярных языков программирования TIOBE, то на октябрь 2018 в топе находятся языки, которые банально не изучаются в ВУЗах. Если тут же посмотреть на рынок вакансий, то можно встретить описание работы в духе «опыт работы с языком X от 2/5/100 лет». И вполне логично возникает вопрос: «Так откуда мне взять этот опыт, если в институте меня этому не учили?». И здесь кроется сразу несколько минусов в понимании учебы в ВУЗе, а также пробелов понимания, которые часто причисляют к минусам.

Ключевая задача высшего образования состоит в том, чтобы дать фундаментальное понимание специфических процессов и систематизировать это самое понимание в сознании учащегося, чтобы он затем мог строить на этом фундаменте необходимые для работы навыки. Многие мои студенты, которые приходят в IT без высшего образования часто говорят мне о том, что в обучении они чувcтсвуют пробелы в теории графов или математической статистике. Разумеется, я помогаю им, давая дополнительные материалы. Но все базовые вещи даются при обучении в институте. Таким образом, совершенно допустима ситуация, когда после обучения в ВУЗе человек может и не помнить досконально каких-то теоретических вещей, но, увидев аналогичную задачу, поймёт, о чём идёт речь и обратится к необходимым основам в источниках. В ВУЗе студент должен научиться не только и не столько конкретным дисциплинам, сколько умению обучаться самостоятельно, перманентно искать новые знания, оригинальные решения, мыслить критически. Более того, пять-шесть лет обучения — это вполне себе проект, который человек смог довести до конца при возможности бросить и пойти работать фултайм. Да и само обучение в любом случае потребует умения доводить дела до конца.

Здесь возникает вопрос: «А почему бы не изучить самостоятельно?». Разумеется, это можно сделать. Но останутся риски неправильного понимания, долгого времени на изучение и прочие. Равно также при пяти-шестилетнем обучении в ВУЗе уйма времени потратится на дисциплины, которые никогда не пригодятся. И ровно по тем же причинам кто-то изучает программирование сам, а кто-то идёт на курсы (я писал об этом в одной из своих предыдущих статей).

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

Выпускник ВУЗа (если он реально учился, а не купил диплом) — это некая стволовая клетка, в которую заложены механизмы развития, реализация которых уже лежит на самом студенте.

Так как же быть? (aka TL;DR)

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

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

Стоит сказать пару слов и о начале карьеры. Не стоит ждать окончания обучения в ВУЗе для того, чтобы начинать строить свою историю успеха. Во многих учебных заведениях уже к середине обучения появляются возможности подработки на кафедрах или достаточно свободного времени для работы part-time — их стоит использовать! Начав как Junior, например, в 20, к 25 можно спокойно стать Senior или Architect, если не выше.

Таким образом, можно совершенно точно сказать, что хотя высшее образование и не является жизненно важным фактором в карьере IT-специалиста, не стоит пренебрегать возможностью его получения.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *