Топ IT-профессий – как выбрать ту, что подходит именно вам?
Профессии для тех, кто входит в IT с нуля
IT-профессии, которые требуют опыта в других сферах деятельности
Топ IT-профессий – как выбрать ту,
что подходит именно вам?
Сегодня отрасль информационных технологий (IT) – одна из самых прибыльных и быстроразвивающихся. «Айтишники» – новая элита, какой когда-то были аристократы или нефтяные магнаты, именно поэтому курсов по обучению IT-профессиям становится всё больше, и их популярность не падает.
Разработчиков, тестировщиков, менеджеров проектов и других специалистов, попадающих под определение «айтишник», всё время не хватает. Все IT-профессии востребованы на рынке и приносят своим обладателям хороший доход.
Разумеется, интересная востребованная работа и высокая зарплата в сфере IT доступны только тем, кто, во-первых, получил хорошее образование и обладает нужными навыками и компетенциями для заявленной специальности (далеко не все курсы дают качественное образование), во-вторых – выбрал ту IT-профессию, которая соответствует его или её склонностям и талантам.
Мир IT меняется стремительно, однако не стоит так же стремительно бросаться в эту сферу. Перед тем как приступить к выбору профессии, нужно хорошо подумать и определиться: хотите ли вы получить совершенно новую специальность, войти в IT, что называется, с нуля или рассчитываете на повышение квалификации, чтобы использовать уже имеющийся у вас опыт работы.
В первом случае стоит сразу нацеливаться на получение редкой, возможно, недавно появившейся специальности, чтобы обеспечить себе максимально высокую востребованность и заработную плату. Во втором – присмотреться к тем профессиям, в которых имеющиеся у вас навыки и опыт будут максимально полезны.
Как ни странно, первой рекомендацией в списке профессий для новичков в IT будет специальность не разработчика, а системного администратора. Объясняется это не востребованностью самих системных администраторов (в настоящее время спрос на их услуги и стоимость на рынке в среднем ниже, чем у разработчиков), а перспективой роста. Именно из системных администраторов получаются лучшие специалисты по DevOps-технологии – DevOps-инженеры.
Изначально DevOps – это методология взаимодействия разработчиков программного обеспечения, с одной стороны, и системных администраторов – с другой. Аббревиатура расшифровывается как «development and operations» – разработка и эксплуатация.
DevOps появился в качестве решения проблемы «развёртывания» ПО, т.е. применения новых программ, предоставленных разработчиками, на конкретных серверах клиента. Зачастую в процессе такого развёртывания системные администраторы сталкивались с тем, что разработчики не учли особенности технологической оснащённости заказчика (например, операционную систему или мощность сервера).
Методология DevOps предполагает комплексный подход к разработке, тестированию и развёртыванию программного продукта с учётом потребностей конкретных заказчиков. Список задач, решения которых ожидают от DevOps-инженера, постоянно растёт, однако вместе с этим повышается ценность профессии и средняя зарплата специалистов.
Сегодня от DevOps’a ожидают понимания инструментов разработки и умения автоматизировать процессы разработки и тестирования, а также полноценного взаимодействия с заказчиком и всеми участниками команды, от программистов до маркетологов. В настоящее время такие специалисты ценятся на вес золота, они востребованы в больших корпорациях и масштабных проектах.
Также специальность DevOps-инженера подойдёт системным администраторам, которые готовы повысить квалификацию и поработать над «мягкими» навыками, такими как общение и работа в команде.
Самый очевидный путь входа в IT – изучение одного или нескольких языков программирования. Чтобы выбрать, с какого языка начать обучение, нужно решить, какая сфера деятельности внутри IT-сообщества для вас наиболее привлекательна: написание разных видов программ и приложений, разработка игр, создание роботов и роботизированных транспортных средств (машинное обучение), нейросети, веб-разработка и т.п.
Каждый из видов IT-технологий требует знания определённого языка.
Сфера IT
Подходящие языки программирования
Web-разработчик – Frontend
JavaScript, TypeScript
Web-разработчик – Backend
Python, PHP, JavaScript, Java, Ruby, Golang (Go)
Web-разработчик – Full Stack
JavaScript, Python, PHP, Java, Ruby
Мобильная разработка (приложения для смартфонов)
Javascript, Java, C++
Мобильная разработка для Android
Kotlin
Мобильная разработка для iOS
Swift
Разработка игр (Геймдев)
Java, C#, C++, Python, JavaScript
Создание десктопных приложений (программ для ПК) для Windows, Linux
Python, Java, C, C#, C++, JavaScript
Создание десктопных приложений (программ для ПК) для Mac
Swift, Java, C
Разработка системного ПО
Golang (Go), C
Искусственный интеллект (AI), машинное обучение (ML)
Java, Python
Аналитика данных (Big Data, Data Science)
Python, Java, R, Scala
Создание нейронных сетей
Python, R
*Поскольку это новое направление, в нём используются самые разные языки, мы приводим в пример самые популярные.
Обработка данных научных исследований
Python, R
Разработка ПО для микроконтроллеров
Arduino С
Финансовые технологии, блокчейн
С++, Haskell, COBOL
Вы можете заметить, что такие языки, как Python, Java, JavaScript и разные варианты языка С, востребованы во многих сферах IT.
Самым универсальным является Python. Широкая распространённость этого языка – и плюс и минус для владеющего им программиста. С одной стороны, рабочих мест для Python-разработчиков достаточно много, с другой – высока конкуренция на рынке труда.
Из-за универсальности и лёгкости изучения Python идеально подходит для начинающего программиста, однако, чтобы рассчитывать на более высокую зарплату, придётся приложить усилия и получить какую-то дополнительную, более узкую IT-специальность.
Отдельно стоит сказать о языках Arduino С, Haskell и COBOL. Arduino С предназначен исключительно для запуска в работу микроконтроллеров Arduino, однако такая узкая специализация не делает его менее востребованным, поскольку эти микроконтроллеры имеют очень широкое применение – от самых современных роботов до систем обогрева и полива.
Haskell – язык, который изначально использовался исключительно как учебный язык, т.е. предназначенный для изучения процесса разработки, а не для создания реальных программ. Однако, поскольку структура языка даёт высокую степень защиты данных, Haskell стал популярен в банковской сфере.
Ещё один важный язык для тех, кто хочет попробовать себя в финтехе, – COBOL. COBOL – ветеран среди современных языков программирования, он появился в 1959 году. Востребованность COBOL-программистов объясняется просто: многие мировые финансовые и административные системы слишком громоздки и неповоротливы, чтобы менять язык программирования, на котором работают их программы, а язык этот – именно COBOL. COBOL изначально создавался как бизнес-ориентированный язык. Это, как и в случае с Haskell, обеспечивает его высокую надёжность с точки зрения защиты данных.
В целом при выборе языка программирования для изучения стоит руководствоваться двумя параметрами: востребованностью языка в интересующей вас сфере IT и сложностью его изучения.
Язык программирования
Сложность
PHP
простой
Python
простой
JavaScript
простой
Ruby
простой
Golang (Go)
простой
Swift
простой
Kotlin
простой
Java
средняя сложность
TypeScript
средняя сложность
C#
средняя сложность
Haskell
средняя сложность
COBOL
средняя сложность
С
сложный
С++
сложный
R
сложный
Аналитик данных – это специалист, без которого невозможно управление современной компанией, бизнес-процессы без него застопорятся. Также важны Data Scientist’ы для науки – без их помощи обработка сведений, полученных учёными, будет занимать слишком много времени и может содержать значительные погрешности.
Специалист по Data Science занимается тем, что использует математические модели для анализа больших объёмов информации, структурируя её и делая удобной для восприятия и принятия решений.
Разумеется, эти математические модели он прикладывает к данным не вручную, а использует программы, анализирующие информацию по заданным параметрам: активность покупателей, распределённая по часам рабочего времени или регионам, частота обращения к сайту до и после рекламной кампании, взаимосвязь между количеством вакцинировавшихся и заболевших, графики изменения климата в зависимости от уровня загрязнения воздуха и т.п.
Чтобы программа качественно выполняла свои функции, ей нужно объяснить, как сортировать имеющийся массив информации. Аналитик данных (Data Scientist) может использовать для этого существующие инструменты (программы), а может создать свои собственные. Такая деятельность уже называется машинным обучением.
Деятельность инженера машинного обучения отличается от работы аналитика данных тем, что для аналитика важен результат – структурированная информация, в то время как инженер ML занимается автоматизацией самого процесса анализа и структурирования.
Инженер ML может не только обучать программы понимать ту или иную информацию, но и создавать одни программы с помощью других – например, через генетическое программирование, в ходе которого программы «выращиваются» за счёт отбора лучших для решения той или иной задачи «хромосом».
Машинное обучение применимо в самых разных сферах IT: от алгоритмов умной ленты соцсетей и рекомендаций в интернет-магазинах до систем типа «умный дом» и нейрокомпьютерных интерфейсов, которые позволяют программировать технику, управляемую силой мысли.
Профессии аналитика данных и инженера машинного обучения подойдут тем, кто готов изучать математические модели, системный анализ, теорию вероятностей, статистику.
SQA инженер или, проще говоря, тестировщик – одна из тех профессий, которую часто советуют новичкам в качестве удобного входа в IT-сферу. Объясняется это тем, что для проведения тестирования нужно не создавать программы с нуля, а проверять уже готовые на наличие ошибок и ограничений. Однако такой подход не совсем верен, поскольку сама философия работы у тестировщиков и разработчиков разная: задача разработчиков – создавать программы и приложения, задача тестировщика ровно противоположная – разрушать созданное программистами ПО самыми разными способами, проверяя границы допустимого.
Оба занятия можно назвать творческими, однако это творчество разного качества: в то время как ценность разработчика заключается в изобретательности при создании нового, умении предлагать свежие решения, ценность тестировщика проявляется в гибкости ума при неоднократном выполнении одной и той же задачи, в усидчивости. Таким образом, с самого начала обучения SQA инженер тренирует иные качества, чем те, которые потребуются разработчику, поэтому воспринимать сферу тестирования как лёгкий путь к профессии программиста не стоит.
Также имеет смысл сразу настроиться на серьёзное обучение и постоянное повышение квалификации. Из-за низкого порога входа в профессию тестировщика конкуренция в ней достаточно высока, а средняя заработная плата новичков (Junior-тестировщиков) ниже, чем в других сферах IT. При этом настоящие специалисты с качественным образованием по-прежнему в дефиците, поэтому шанс зарабатывать на том же уровне, что и разработчики, а возможно и больше, есть.
Главное – чтобы профессия была для вас по-настоящему интересной и любимой, ведь в тестировании одни из самых важных качеств – упорство и настойчивость.
Разработка нейроинтерфейсов – одна из самых интересных и прогрессивных сфер современных IT. Это именно та работа, в которой программист может почувствовать себя создателем технологий будущего.
Нейроинтерфейсами называют системы, которые с помощью специальных программ могут передавать электронные сигналы мозга компьютеру и связанным с ним устройствам. В англоязычной традиции они также известны как Brain-Computer interface, т.е. связь «мозг-компьютер».
Чтобы стать разработчиком нейроинтерфейсов, имеет смысл сначала получить биоинженерное или электротехническое образование (в ТУСУРе соответствующие знания можно приобрести на Факультете электронной техники (ФЭТ), а затем повысить квалификацию с помощью курса машинного обучения – в Айтик.ТУСУР его можно пройти по уже упоминавшемуся профилю Data Scientist\ML инженер.
Менеджер проекта – специалист, который контролирует весь цикл создания информационного продукта, от первых пожеланий заказчика до разработки, тестирования и запуска продукта, а иногда – до маркетинговой кампании и сбора отзывов на результат.
Главная задача менеджера проектов – выпуск продукта в должный срок по цене, которая будет приемлема для заказчика и окупит усилия исполнителей. В процессе работы PM:
Чтобы выполнять такую работу, необходимы как знания в области IT, так и управленческие навыки, понимание бизнес-процессов. В эту профессию приходят и менеджеры, получившие дополнительное образование программиста или другую IT-специальность, и айтишники, повысившие квалификацию с помощью курсов менеджмента и программ MBA (магистр делового образования). Без подобного сочетания стать успешным менеджером проектов в IT даже при наличии природных талантов к управлению практически невозможно.
Веб-дизайнеры делятся на UI – User Interface (интерфейс пользователя) и UX – User Experience (опыт пользователя) дизайнеров. Первые занимаются внешним видом сайтов и приложений, тем, как они будут выглядеть с точки зрения эстетики. Вторые отвечают за функциональность и эргономику.
На заре веб-разработки внешнему виду сайтов придавалось не слишком большое значение, однако сегодня люди «живут» в интернете почти так же, как в собственных домах, поэтому значимость работы UX/UI-дизайнеров постоянно растёт.
Продолжая говорить о всемирной паутине как о доме, можно сравнить UX-дизайнера с прорабом, который отвечает за чистовую отделку помещения, а UI-разработчика – с дизайнером интерьеров. Если вы хотите, чтобы посетители задерживались в вашем интернет-доме и получали при этом позитивные эмоции, дом не должен походить на полосу препятствий, он должен быть аккуратным, красивым и удобным. Сделать его таким – задача UX/UI-дизайнеров.
Чтобы получить любую из этих специальностей, помимо языков программирования потребуется изучить как минимум основы дизайна, чем у вас больше опыта в этой сфере, тем лучше. В конце концов, Стиву Джобсу хватило курса каллиграфии, чтобы осознать важность хорошего дизайна элементов интерфейса и сделать продукцию Apple не только функциональной, но и эстетически приятной.
Специалист по человеческим ресурсам (human resources) или, говоря простыми словами, кадровик – один из самых важных членов современных IT-команд. Гибкая методология разработки – аджайл (Agile), которая доминирует в современных IT, ставит людей и их интересы на первое место в списке ценностей.
От того, насколько качественно будут подобраны члены команд разработчиков и тестировщиков, соответствуют ли навыки всех участников процесса – от DevOps’а и менеджера проекта до маркетолога – заявленным требованиям, зависит скорость создания информационного продукта.
В условиях дефицита IT-специалистов найти нужного человека в команду – всё равно что отыскать редкую жемчужину. Именно этим и занимается эйчар: проверяет резюме, проводит собеседования, помогает новым членам команд вписаться в коллектив и освоиться.
Эта работа не связана с программированием напрямую, однако без базовых знаний о процессе разработки не обойтись: нужно понимать требования менеджера проектов и тимлида (ведущего программиста) и оценивать квалификацию кандидатов хотя бы на начальном уровне.
Эйчары востребованы в крупных корпорациях, однако они могут работать и как независимые агенты на фрилансе – к таким зачастую обращаются небольшие стартапы, которые не могут позволить себе штатного кадровика.
Профессия HR-менеджера в IT подойдёт людям, которые умеют и любят общаться, быстро и точно улавливают особенности характера собеседников, чувствуют настроения в коллективе и могут скорректировать их в лучшую сторону.
Сравнительно новая и малоизвестная специальность в IT для России, однако в мире направление фасилитации активно развивается уже не первое десятилетие. Его популярность связана с распространением ещё одной гибкой методологии разработки, предполагающей создание информационного продукта небольшими командами соответствующих специалистов – Scrum.
При работе по методологии Scrum команда разработчиков встречается через небольшие (1–4 недели) промежутки времени – спринты, чтобы продемонстрировать заказчику результат в виде небольшого готового продукта, являющегося ступенькой в создании более масштабного продукта, необходимого заказчику.
Обсуждение процесса разработки и его результатов на таких встречах – важная часть методологии. За то, чтобы обсуждение проводилось качественно, не превращалось в бессмысленные дискуссии и помогало достижению целей команды, отвечает фасилитатор.
Изначально (вне сферы IT) фасилитаторами называли помощников ведущих групповых встреч и модераторов дискуссий. Их задачей было обеспечение максимально продуктивного и одновременно эмоционально позитивного взаимодействия всех участников обсуждений и переговоров.
Сегодня фасилитатор в IT занимается тем же, только на более глубоком уровне: обеспечивает коммуникацию в команде, следит за тем, чтобы обсуждения шли корректно и по плану, чтобы участники не отклонялись от темы и могли принимать наилучшие решения из возможных.
При этом фасилитатор должен оставаться объективным и беспристрастным – он не может навязывать своё мнение относительно решения каких-либо задач или проблем, давать оценку принимаемым решениям или действиям участников обсуждения.
Обычно набор обязанностей фасилитатора в сфере IT таков:
Для работы фасилитатором необходимы: знание психологии, хорошо развитый эмоциональный интеллект, эмпатия, умение настаивать на своём, оставаться вне ситуации, смотреть на взаимодействие между коллегами непредвзято и отстранённо, независимо от своих симпатий и антипатий.
Также необходимы знания в той сфере IT, в которой фасилитатор собирается работать, поскольку без таких знаний он или она не сможет оценить, не уклонилось ли обсуждение в сторону от заявленной темы и насколько высказывания участников соответствуют поставленной цели.
В современных IT одновременно протекают два процесса – упрощение и усложнение. С одной стороны, развиваются различные инструменты, облегчающие и автоматизирующие процесс разработки (например, зерокодинг, который позволяет создавать приложения без знания языков программирования).
С другой стороны, растёт количество IT-направлений, в которых востребованы сложные вычисления и междисциплинарные связи (нейроинтерфейсы, генетическое программирование).
Всё это говорит о том, что при желании и необходимом техническом оснащении найти своё место в IT сможет каждый. При этом нельзя с полной определённостью сказать, какое из направлений окажется наиболее востребованным, поэтому, если вы хотите получить IT-профессию, ориентируйтесь в первую очередь на свои склонности, сильные стороны и имеющийся опыт.