Как стать айтишником? Инструкция для одиннадцатиклассников и их родителей. Часть 1
Как стать айтишником
За последние три года ко мне обращались десятки молодых людей, желающих стать айтишниками (чаще они говорят «программистами»), – школьники, переходящие в одиннадцатый класс, а иногда и их родители. Набор вопросов, как правило, один и тот же: куда пойти учиться, какую специальность выбрать и с чего начать. И я решил ответы на них изложить в виде некоторой инструкции – вдруг кому-то пригодится.
Безусловно, по ходу разговора буду делать много допущений и упрощений, поэтому заранее прошу извинения у коллег, которые могут не согласиться со мной по ряду позиций. И, поскольку в ИТ сейчас идет просто колоссальный рост, буду говорить с некоторым прогнозом, который, естественно, может «не случиться» или «случиться не так».
Базовое
Прежде всего советую помнить старую поговорку: под лежачий камень вода не течет. То есть в основе любого успеха всегда лежат желание (чего-то добиться, не профукать жизнь и т. д.) и работа. Если не начать готовиться к ЕГЭ по-настоящему, можно и не ставить никаких задач. При этом считаю, учебного года более чем достаточно, чтобы средне подготовиться к экзамену по информатике и математике. Из своего опыта могу сказать: даже десяти занятий при искреннем усердии достаточно, чтобы с абсолютного нуля (не решал ни одного задания из программы ЕГЭ) выйти на стабильные 8–10 заданий (это 50 баллов за ЕГЭ).
Из засад, которые поджидают на этом пути, – периодическая усталость и нередко ориентир на тех, кто, например, в классе хорошо решает тесты ЕГЭ.
В голове жужжит: «Я ни на что не способен, у меня не получится»… Это ядовитые мысли – они могут убить любое начинание, поэтому их надо гнать. Да, иногда можно психануть, покричать, даже поплакать, покидаться учебниками. Но – потом выдохнуть и идти дальше! Главное, помнить: в большинстве ситуаций люди сдаются на последних 5-10% пути – они самые сложные.
Родители, поддержите своих детей! Одиннадцатый класс – это очень жесткое испытание.
И если ребенок не найдет в вас опору, ему будет еще сложнее. Покупайте ему сладкое, разговаривайте по душам, приводите примеры из своей жизни, когда вам тоже было непросто. Только не уводите эти разговоры в поучения – иначе только ухудшите ситуацию.
Это то, что касается психологии. А из практики...
Основные инструменты: сайт «Решу ЕГЭ» (или ему подобные), решебники по ЕГЭ за последние два-три года, а если есть возможность – и репетитор, но важно выбрать не того, который понравится родителям, а того, с которым будет комфортно работать ребенку.
Некоторые базовые вещи мы рассмотрим ниже. Но без принятия вышесказанного бессмысленно приступать к следующим шагам.
«Хочу быть программистом!»
Именно с такой формулировкой мне приходится сталкиваться при первом разговоре с учеником. Поэтому задача № 1 – выяснить, а кем же на самом деле ты хочешь стать.
ИТ-отрасль, как я уже сказал, развивается просто сумасшедшими темпами, и многие из ныне популярных профессий, в том числе ИТ-специализации, в ближайшие 10–15 лет здорово трансформируются. Иначе говоря, будет уже сложно себе представить какую-либо значимую профессию, где можно обойтись без серьезных навыков использования информационных технологий. А это как раз тот период, когда вы, ученики, будете становиться профессионалами!
Надо сказать, специализации уже и сейчас начинают делиться на чисто айтишные (разработка ПО, проектирование информационных систем, прикладная математика) и те, где обучают именно использованию ИТ-инструментов без явного программирования (прикладная информатика в экономике, образовании и т. п.).
Чисто ИТ
Если все упростить, в современном подходе разработка программы состоит из трех слоев: ядра, функционала и интерфейса.
Возьмем, к примеру, какую-нибудь игрушку-войнушку для мобильного устройства (телефона/смартфона, планшета). Есть ядро – некоторый язык программирования (это, конечно, условное название, но пока так проще), на котором пишут игрушку, например Unity. Так вот, «ядерщики» как раз и разрабатывают языки программирования. Эти люди по сути сами не создают конечного продукта (как, например, изобретатель микросхемы не собирает конечное устройство).
Следующий уровень – функционал: это когда на базе ядра программисты (вот тут именно классические программисты) кодируют алгоритмы поведения героев, объектов и пр.: что должно произойти, когда, например, пуля попадет в героя и т. д. А есть специалисты, которые занимаются визуализацией, интерфейсом – они, к слову, могут не знать серьезных языков программирования, их задача – рисовать. И иногда верстать, то есть привязывать рисунки (скажем, фон) к экрану – картинке, которую видит уже пользователь.
Аналогично устроен и какой-либо серьезный сайт (портал). «Ядерщики» придумывают для него движки, базы данных, где хранится вся информация. Часто это называется CMS, content management system – системы управления контентом (содержанием). «Функциональщики» на этом движке уже пишут конкретный код – что должно произойти, когда нажмете эту кнопку. К примеру, должно выскочить сообщение о количестве товара на складе, – вот они и пишут код по запросу товара и передают эту информацию в окно сообщения. А вот за то, где и как хранится информация о товаре, как создается окно, отвечает ядро (и, соответственно, ядерщики).
Но есть и верстальщики, интерфейсщики – те, кто заставляет этот самый портал вам нравиться. Чтобы он выглядел привлекательно независимо от того, открыли вы его на огромном мониторе или маленьком телефоне. Конечно, есть еще художники и дизайнеры, которые придумывают шрифты, цвета, логотипы, пропорции, общий дизайн. Даже, возможно, рисуют все элементы для него (похоже на игру, правда же?). Ну а верстальщики заставляют всё это красиво жить, приклеивая к тому самому функционалу, написанному функциональщиками.
И каждый из этих участников обладает своими способностями, а следовательно, и чертами характера и другими особенностями. От кого-то требуются исключительная аккуратность и усидчивость (ядерщики), а кто-то должен быть общительным и с чувством прекрасного (верстальщики).
Прикладные ИТ
Грубо говоря, прикладники – это специалисты (юристы, финансисты, даже фермеры), которые, помимо понимания, как устроена их базовая область, еще и разбираются в основных принципах действия информационных систем и технологий. Находясь на стыке своей прикладной области и ИТ, они выступают переводчиками между отраслевыми специалистами и разработчиками информационных систем.
В частности, врач в большинстве случаев даже не сможет объяснить программисту, чего он хочет. «Мне надо, чтобы по диагнозу и нозологии, а также с применением медицинского стандарта компьютер выдал план лечения…» – для программиста это звучит все равно что на клингонском языке: «Крхитмкхрт-пк-ртбг-мууу». Тут-то и нужен специалист, который скажет: «Нам нужна база данных, где будут храниться сведения обо всех возможных болезнях. С ней должна быть связана база данных с описанием всех симптомов, при этом там нужно хранить следующее...»
Так, между человеком, желающим иметь дом (заказчик), и настоящим строителем, мыслящим марками цемента и профилем арматуры (программист), нужен архитектор, который по желанию заказчика нарисует устраивающий его дом и по этому рисунку объяснит строителю, как и из чего этот дом построить.
Системщики
На рисунке мы видим, что в фундаменте любой программы (системы) еще глубже ядра находится платформа – иначе говоря, некое «железо» (в нашем примере с игрой – например, телефон) и операционная система (Android или IOS). Поэтому есть и такие айтишники, кто придумывает, проектирует и разрабатывает те самые «железки» и операционные системы для них. Назовем их для себя системщиками.
Безопасники
Ну и, безусловно, на нынешнем этапе развития ИТ нельзя не сказать о безопасниках – специалистах, которые в полном (или почти в полном) объеме повторяют картину с классическими айтишниками. То есть среди них есть те же ядерщики, функциональщики, системщики и прикладники, только в их задачи входят разработка и проектирование инструментов, способных защищать создаваемые системы от хищений и порчи данных.
Например, существует банк, а у него есть центральное хранилище (ядро) со своими сейфами и прочим, есть служба охраны банка (функциональщики, а иногда и просто интерфейсщики), которая, используя всякие системы – рамки, видеокамеры, датчики и прочие движки, – разрабатывает правила охраны и охраняет банк. Есть и те самые системщики, которые придумывают камеры, сейфы. А ту же сигнализацию создают уже ядерщики, опираясь на то, что изобретают системщики, – так получается новая оптика, новые датчики и пр.
Надеюсь, более-менее доходчиво описал все то, что касается классических ИТ.
«И кем же мне быть?»
Это, естественно, следующий вопрос, который я слышу. И вот тут самое время поговорить о личных свойствах, чертах характера. А заодно о численности специалистов разных направлений и их востребованности.
Меньше всего, конечно, системщиков. Тех, кто придумывает и реализовывает основу основ – «железо», операционки. Хотя в современном мире и эта специализация «выходит из тени», так как появляются мощнейшие инструменты, платформы, на которых все это изобретают, проектируют, испытывают и т. д. Ведь с каждым днем в мире все больше разных гаджетов. Так, операционные системы уже давно пришли в автопром: любой автомобиль параллельно с водителем управляется и электронным мозгом – системами безопасности, балансировки нагрузки, антизаноса и пр. Не за горами время, когда действительно «умом» будут обладать и холодильники, и кофеварки. Таких специалистов учат либо в специализированных институтах (например, МИРЭА), либо в технических вузах на кафедрах робототехники.
Но данная специальность, как правило, требует усидчивости, кропотливости, внимания к мелочам. Вы когда-нибудь паяли что-нибудь серьезное – приемник, сложную цветомузыку? Или, может, вышивали крестиком большой рисунок? Собирали пазл из 3000 элементов? Пытались разукрасить большую сложную картину по номерам? Если вы довели дело до конца и при этом получили удовольствие не только от результата, но и от самого процесса – то это может оказаться вашим делом. Безусловно, у вас должна быть склонность к математике и/или физике, любовь к решению сложных задач, головоломок.
Как видите, именно специфичность личных качеств объясняет относительно небольшое количество специалистов подобного рода. Понятно, что спрос на них будет расти. Ну и условия работы у них, как правило, очень даже достойные. Однако если у вас нет описанных выше свойств, естественно, я бы не рекомендовал этот путь.
Ядерщики, к слову, очень близки по своим качествам к системщикам, с той лишь разницей, что они существенно ближе к программному обеспечению, чем к «железу». Поэтому если системщики – это все-таки (пока) физики, то ядерщики – больше математики.
Я понимаю, что в 16 лет не каждый может определиться, кто он – физик или математик (да и вообще на том ли пути). Поможет простой тест – интересы.
Если бы вы пошли в кружок авиамоделирования, то чем бы предпочли там заниматься: рассчитывать самолет, проектировать нервюры (ребра жесткости в крыле) или же собирать, клеить, шлифовать модель уже с разработанными кем-то деталями? Если первое – из вас получится и системщик, и ядерщик. Если второе – вы ближе к ядерщику. А если бы вы пошли в этот кружок, чтобы запускать собранные кем-то другим самолеты, я бы не рекомендовал путь ни того, ни другого.
Да, кстати, если вдруг возникла мысль: «Что за чушь?! Я бы вообще никогда не подумал пойти в кружок авиамоделирования», –думаю, вам вообще не стоит смотреть в сторону ИТ. В крайнем случае – верстальщиком/интерфейсщиком, и то если до этого вы ходили в кружок дизайна, рисования или на худой конец фотографии. (Напомню, я лишь высказываю свое мнение, и с ним абсолютно не обязательно соглашаться.)
Если честно, на мой взгляд, самыми перспективными (читаем: востребованными) будут именно прикладники. Вкратце я уже намекнул почему: ИТ (в частности, искусственный интеллект и другие инструменты) будут проникать абсолютно во все сферы нашей жизни. Возьмем здравоохранение – уже сегодня здесь используются телемедицина, системы интеллектуальной диагностики, а учреждения культуры (музеи и пр.) обзаводятся 3D-виртуальными копиями. Над полями начинают летать дроны, а пахать – беспилотные тракторы. Я уже не говорю о военной промышленности.
И это только начало – а значит, в каждой из отраслей очень скоро потребуются те самые ИТ-переводчики. И, как розетка для штепселя, им понадобятся те самые программисты-функциональщики, способные реализовывать те самые алгоритмы, необходимые прикладникам.
Но если прикладники – это еще и профи в конкретной области – сельском хозяйстве, медицине, строительстве и т. д., где их будет требоваться не очень много, то программисты – универсальные солдаты, которых будут готовить активно, что может привести к перенасыщению рынка, как уже произошло с экономистами, юристами, менеджерами.
А специальности, которые сейчас только-только появляются? Безусловно, все они имеют большие перспективы, но, как и в любой быстроразвивающейся отрасли, ИТ потребуют очень высокого уровня адаптации. Об этом – в следующей части нашего разговора.
Опубликовано 26.09.2019