Как стать айтишником. Инструкция для одиннадцатиклассников и их родителей. Часть 2
Как стать айтишником
Кем быть?
Предположим, вы решите посвятить свою жизнь искусственному интеллекту.
Несмотря на то что это направление активно развивается уже с 80-х годов прошлого столетия, за последние несколько лет в нем было сделано больше «открытий», чем за все время его существования. Это очень перспективное направление в долгосрочном (стратегическом) периоде.
Но как и в любом новом направлении, даже в период учебы институте, вам преподают в лучшем случае «предпоследние» идеи – идеи, которые уже активно используются. Поэтому, когда вы выйдете из вуза, это уже будет «прошлое» и вам придется догонять время. А в этой гонке надо понимать, что каждый следующий институтский выпуск будет мощнее, «новее» вас. И к этому надо быть готовым – постоянно заниматься саморазвитием и «соревноваться» с молодыми.
В мое время – в 90-х годах прошлого столетия – этот цикл проходило классическое программирование. Начинали нас учить языку программирования Pascal, что дало возможность быстро освоить Delphi – среду разработки на Pascal, которая позволяла достаточно быстро разрабатывать приложения под Windows. На четвертом курсе мы начали «трогать» язык C. Уже самостоятельно я тут же начал погружаться в его более продвинутый аналог – C++ с его объективно-ориентированным подходом. Надо ли объяснять, что мой мозг, «заточенный» и вышколенный под Pascal-код, для программирования в С++ в уме «придумывал» программу на Pascal, а затем «переводил» с «паскаля» на «плюсы».
Когда я на пятом курсе устроился на свою первую официальную работу программистом, вышла первая Java. Sun выпустил мультиплатформенный SDK 1.0, и мы бросились на него. Благо уже был небольшой опыт объективного C++.
А через два года в нашу команду пришел молодой выпускник института, у которого Java была первым языком! Он на ней «думал». Конечно, я его «победил» профессионально за счет того, что у меня в голове, благодаря уже пятилетней к тому времени практике программирования, было наработано много шаблонов и алгоритмов. Но дальше пошли «питоны», «СиШарпы», «ДотНеты» и прочие ноу-хау – и угнаться за ними я уже не мог. Точнее, если быть честным, не хотел. Поэтому в скором времени, через года три-четыре, перешел в те самые «прикладники» и стал ставить задачи программистам.
Сейчас же в классическом программировании, похоже, все более стабильно, хотя, конечно, и сегодня появляются новые языки и технологии. Но основной производственный набор более-менее установился.
Так вот, искусственный интеллект сейчас переживает тот же самый период взрывного развития. И можно стать основоположником, старожилом, гуру, отцом этого направления (если себя ему полностью посвятить), или же через лет пять-семь безнадежно отстать от лидеров, если не бежать вперед. Аналогичная ситуация и в робототехнике, и в биоинженерии (где, конечно, еще нужны химия с биологией), и в работе с большими данными (аналитика, бигдата). В скором времени это же ждет и отрасль строительства (точно появится 3D-печать домов), различные направления медицины, образования (для меня представляется одним из перспективнейших направлений), генной инженерии и т. д.
Поэтому, логично, что отвечая себе на вопрос «кем же мне быть?», желательно заглядывать вперед лет на 10–15 и «смотреть», что же там будет вообще нужно, модно, востребовано.
Однако, повторюсь: с моей точки зрения, выбирая «молодые» направления, добиться реального, значимого успеха в них (в том числе и личного) можно только в том случае, если вы готовы и всей душой желаете посвятить этому всего себя – все 36 часов в сутки, по крайней мере на первые лет десять.
Цели и возможности
Здесь все, с одной стороны, просто. С другой… Все зависит от того, как сработает ваш внутренний навигатор. Для упрощения: у него, вашего навигатора, два пути:
1) Я хочу стать тем-то, поэтому я должен поступить туда-то, а для этого я должен сдать вот такие ЕГЭ вот на столько баллов. Это путь «от цели».
2) Я бы хотел стать тем-то, но смогу «прилично» сдать только вот такие ЕГЭ, поэтому буду поступать туда-то. Это путь «от возможностей».
По мне, второй путь – это, конечно, самооправдание, извините, некоей слабости. Но он все равно не только имеет право на жизнь, но и является наиболее распространенным. Часто встречается компромиссный путь: я бы хотел поступить туда-то, но, скорее всего, смогу только туда-то, но, как правило, в итоге он все равно вырождается во второй путь.
Надеюсь, я никого не расстроил. Но при принятии решений, которые будут влиять на (и даже строить) всю вашу последующую жизнь, важно подходить к этому решению «с открытыми глазами», быть абсолютно честным, по крайней мере перед самим собой. Прошу прощения за пафос. Но гораздо хуже будет потом неожиданно для себя оказаться «на обочине» жизни.
Еще одно важное замечание.
Если честно, ни для программистов-функциональщиков (напомню: это те, кто реализует конкретный функционал по сделанным другими постановкам), ни для интерфейсщиков – высшее образование не обязательно.
Дело в том, что научиться программированию – профессиональному, настоящему – можно практически самостоятельно, а потом отработать пару лет где-нибудь программистом-стажером (junior), получая за это очень условную зарплату, но нарабатывая боевой опыт. И уже через каких-нибудь пять лет стать абсолютно профессиональным программистом (senior), зарабатывая $3000-–5000 (а то и больше) в месяц. При этом ваши сверстники только начнут выходить из института абсолютно «голыми птенцами».
Нужен ли вуз?
К слову, ни Билл Гейтс (основатель и идеолог Microsoft), ни Стив Джобс (основатель и идеолог Apple) не имели высшего образования. Но при этом надо отдавать себе отчет, что и Гейтсов, и Джобсов – единицы на миллион! Правды ради стоит сказать, что оба они учились-таки в институтах. Только бросили их, потому как быстро их «переросли».
Однако этот путь имеет целый ряд ограничений.
Даже если вы будете уже хорошим профессионалом-программистом, то занять должность начальника отдела (а дело не только в статусе, но и в зарплате) будет затруднительно. (Если, конечно, это не ваша личная компания.)
Поэтому, с моей точки зрения, высшее образование, полученное даже не в самом престижном высшем учебном заведении, точно будет полезно. И чаще всего оно все-таки необходимо. Так, если даже вы станете приличным программистом, но решите поработать в любой другой стране, то вас может ждать серьезное разочарование. Как минимум в части заработанной платы, а как максимум – у них и своих «оболтусов» полно.
И последнее, что хотелось бы сказать перед тем, как приступить к конкретному ответу на поставленный вопрос: чем дольше вы будете тянуть с высшим образованием, тем меньше шансов, что оно у вас появится. Так уж мы устроены. Да, можно не пройти, например, в желаемый вуз сразу и подготовиться на следующий год. Или «не угадать» с первого раза – ну не «зашел» вам этот институт настолько, что даже нет сил окончить в нем первый курс, а потом попытаться перевестись в другой институт. Но если не поступите в вуз в первые три года после школы, шанс, что у вас появится высшее образование, будет стремиться к нулю.
Итак, все же, начну непосредственно отвечать на вопрос
Куда поступать?
Безусловно, я не приведу сейчас рейтинг всех институтов, не начну хвалить или гнобить какие-либо высшие учебные заведения – это совсем не входит ни в мою задачу, ни в мою квалификацию. Я вообще постараюсь уйти от конкретных вузов, но постараюсь объяснить основные принципы.
В 90–95% случаев, нет никакой разницы, какой вуз вы окончите, если захотите стать айтишником. Дело в том, что в подавляющем большинстве высших учебных заведений ИТ преподают достаточно слабо – я говорю именно об ИТ-кафедрах. (Да простят меня вузы и Министерство образования). И это вовсе не камень в их огород, а проза жизни – почти ни в одном институте не преподают настоящие практики. К сожалению, это касается не только ИТ-специализации. Но поскольку именно ИТ сейчас находится в стадии активного роста и развития, здесь проблема ощущается наиболее остро.
Точно не стоит этого уж очень сильно бояться. Поверьте, если вас по-настоящему увлечет ИТ, то, получив даже стартовый набор знаний, вы будете самостоятельно расти гораздо быстрее, чем вас будет взращивать институт. Толковый программист – лакомый кусок. Фирмы начинают «охоту за головами» уже с третьего курса. Поэтому если вы хоть как-то проявите себя, то с очень высокой степенью вероятности уже на третьем-четвертом курсе будете трудоустроены по специальности. Правда, нужно быть готовым первые пару лет работать, что называется, «за еду», в смысле, за опыт. Зачастую работодатель как раз будет искать тех, кто хочет и лишь немного умеет программировать. Ведь переучить программиста на порядок сложнее (а часто, и невозможно), чем обучить заново. И конечно, очень маловероятно, что вы вдруг сразу станете, например, проектировщиком, минуя стадию программиста, хотя и такие случаи встречались в моей жизни.
Безусловно, есть Великие институты, которые как раз умеют готовить настоящих, мощных ИТ-специалистов. К ним ранее сказанное не относится. Это та самая «Бауманка», МИФИ, МФТИ, ИТМО, МГУ и другие. Но именно такие институты держат марку. Из их стен выходят высококлассные профессионалы в области ИТ: и «ядерщики», и программисты-функциональщики, и проектировщики. Но на ИТ-факультеты в этих институтах проходной балл редко опускается ниже 290. Потому мы к ним еще вернемся, а пока поговорим о других вариантах.
Конечно, если вы спите и видите себя «ядерщиком» или «системщиком», то лучше ориентироваться именно на них. Но если попасть в них для вас «без шансов», то это не значит, что «все потеряно».
Безусловно, все равно лучше ориентироваться на технический институт. Например, МАИ, МЭИ, МИСИ и пр. Помимо того что в этих институтах исторически качественно преподают всякие технологические специальности, они еще готовят и профильных программистов, знающих предметную область – авиацию, энергетику, металлообработку и т. д. (Это я все про «ядерщиков».)
Учимся мыслить системно
При всем этом я бы скорее рекомендовал, как ни странно, в подобных институтах факультет прикладной математики! Да, да, именно прикладной математики. Почему? Да все просто. Если институт не имеет явную ИТ-ориентацию, то ИТ для него все равно второстепенный продукт, даже если это технический институт. А на прикладной математике вас неизбежно научат системно (то есть аналитически, алгоритмически) мыслить, дадут инструменты для решения сложных задач, и вообще, в принципе научат не бояться любых задач. При этом, как правило, кафедры прикладной математики – это базовые, устоявшиеся, фундаментальные кафедры в любом техническом институте. Да, будет много, очень много математики и мало (по сравнению с вашими ожиданиями) информатики и программирования. Но не переживайте – они вас догонят в «реальной жизни».
Чтобы быть до конца честным, я должен сказать: прикладная математика – это Путь Настоящего Джедая! То есть пройти его крайне сложно. Те, кто в подростковом возрасте всерьез занимался на спортивных секциях, должны хорошо помнить свою «ломку» – когда все это хотелось, прошу прощения, послать куда подальше. А многие и послали, о чем, возможно, жалеют...
Почему это происходило? Был мощный гормональный взрыв – организм переходил из состояния «ребенок» в состояние «юноша/девушка». И «все эти глупости» казались ненужными и бессмысленными на фоне «реальной жизни». Поэтому очень немногим удавалось сохранить силу воли и пройти этот рубеж без потерь.
Так вот, здесь вас (еще раз повторюсь: я говорю сейчас в большей степени для «системщиков» и «ядерщиков») будут пичкать бесконечными математиками, коих будет аж три-четыре вида одновременно, возможно, физиками... А вокруг будет «взрослая жизнь, веселая жизнь»...
И этот путь, как и в 13 лет, к сожалению, достойно проходят не многие. Большинство ломается. Вот такая «правда жизни». Это же в полной мере касается и списка названных вузов. Очень многие в итоге бросают, или вылетают.
Поэтому выбор столь серьезных специальностей нужно всегда делать очень осознанно – убедившись, что хватит сил пройти этот путь до конца. До победного конца.
О других распространенных прикладных ИТ-специальностях расскажу в следующей части повествования.
Опубликовано 04.12.2019