Как выбрать профессию в ИТ? Везде ли нужно писать код? А школьного уровня математики достаточно?
Отвечаем на вопросы новичков и делимся тестами, которые помогут выбрать направление.
IT-сфера манит многих — из-за интересных задач, понятных перспектив и престижных профессий. Если тоже хотите стать разработчиком, тестировщиком или другим специалистом IT-сферы, сэкономим вам немного времени: дадим краткую справку об основных специальностях, ответим на вопросы новичка и расскажем, с чего начать.
На кого учиться в IT: главные профессии в разработке
В IT-продуктах, например, сайтах или приложениях, есть два слоя: фронтенд, с которым взаимодействует пользователь, и бэкенд, который отвечает за то, что скрыто от пользователя «под капотом». Каждым слоем занимаются отдельные разработчики.
Фронтенд-разработчик разрабатывает пользовательские функции и интерфейс продукта — то есть всё, что пользователь видит на сайте или в приложении: картинки, списки и меню, анимации, кнопки и карточки товаров. Фронтенд-разработчик много общается с дизайнерами и маркетологами, использует языки HTML, CSS и JavaScript.
Стартовать во фронтенде относительно несложно, но в процессе придётся постоянно учиться новому, так как технологии быстро меняются. Это направление часто советуют новичкам, потому что результат работы фронтенд-разработчика виден сразу и без специальных инструментов.
Бэкенд-разработчик занимается логикой работы сайта, которая скрыта от пользователя, отвечает за взаимодействие продукта с базами данных, обработку информации и вычисления. Если код фронтенд-части отправляется пользователю в смартфон или браузер, то код, написанный бэкенд-разработчиком, хранится на удалённом сервере.
Выбор инструментов в этой области широкий — бэкенд-разработчики пишут код на Python, Java, Go, PHP, C#, Ruby и других языках программирования. Для успешной работы в бэкенде нужно освоить много информации, полезно разобраться в математике, базах данных и алгоритмах, но зато радикальные изменения в профессии происходят редко — можно годами работать по привычной схеме.
Бывают разработчики, которые работают с обоими слоями. Их называют фулстек-разработчиками. Чтобы работать и с фронтендом, и с бэкендом, нужно изучить ещё больше информации и освоить ещё больше инструментов, но тем не менее с фулстек-разработки часто начинают новички. Это сложно, но так они могут изучить работу с разных сторон, а потом углубиться в область, которая больше понравилась.
Приложениями для смартфонов, умных устройств, часов и других гаджетов занимаются мобильные разработчики. Если, конкретнее, то iOS- и Android-разработчики. Языки программирования зависят от платформы. Есть и мультиплатформенные инструменты, которые позволяют писать приложения сразу для iOS- и Android-устройств.
Иногда специализация зависит не от сферы, а от языка. Так, например, принято отдельно выделять Java-разработчиков — они пишут код на языке Java, причём могут занимать роли как в бэкенде, так и, например, разработке приложений на Android. Или C/C++-разработчиков — они используют C и C++, которые часто применяются при разработке драйверов, программ для промышленных систем или игр.
Есть и направления с более узкой специализацией — например, 1С-разработчики работают с системой «1С:Предприятие», пишут код для автоматизации процессов в компании, ведения бухгалтерии, учёта товаров и управления производством.
Это основные, но далеко не все направления: например, есть DevOps-инженеры, которые объединяют разработку, тестирование и администрирование; системные администраторы и специалисты по информационной безопасности, которым тоже приходится писать код, пусть и не так часто, как разработчикам.
Что есть кроме разработки
Не все в IT пишут код. В некоторых профессиях это дополнительная опция, а в каких-то из них можно и вовсе обойтись без навыков в программировании.
Например, QA-инженеры или тестировщики проверяют работоспособность ПО, написанного разработчиками, вручную и с помощью специальных программ. Они придумывают сценарии тестирования, прогнозируют сбои и составляют отчёты о найденных ошибках. Писать код многим QA-инженерам тоже приходится, но не на том уровне погружения, как у разработчиков.
Отдельный пласт внутри IT — это анализ данных. Им занимаются:
- аналитики данных — ищут взаимосвязи в данных и презентуют результаты заказчикам;
- инженеры данных — отвечают за то, чтобы аналитики и другие специалисты, работающие с информацией, получали её вовремя, в нужном виде и нужном качестве;
- дата-сайентисты — анализируют данные, чтобы строить на их основе модели, с помощью которых можно делать прогнозы;
- системные аналитики — проектируют функционал ПО и способы его реализации (в частности, собирают и анализируют требования пользователей и заказчика, а потом передают их отделу разработки);
- бизнес-аналитики — оптимизируют бизнес-процессы как внутри, так и вне компании;
- 1С-аналитики — строят и ведут систему управленческого и бухучёта, оптимизируют процессы с помощью продуктов 1С;
- продуктовые аналитики — изучают поведение клиентов и думают, как улучшить их опыт, следят за метриками и ищут точки роста для продукта.
Как выбрать язык программирования
Если всё-таки смотрите в сторону разработки, скорее всего, задумаетесь о выборе первого языка. Предлагаем несколько способов определиться.
Способ №1. Воспользоваться инструкцией от издания «Код»
Авторы издания предлагают простую дорожную карту, которая поможет выбрать язык под задачи.
- Если хочется просто быстро писать приложения, выберите Python.
- Если интересны нейросети и работа с данными, тоже Python.
- Если планируете писать серверное ПО или приложения для Windows, то C# или Java.
- Если вы фанат Apple, то Swift. Если поклонник Android, то Java и Kotlin.
- Если хотите делать сайты, то JavaScript, а ещё HTML и CSS.
- Если горите играми для ПК и консолей, то C++. Чтобы делать игры на Unity — C#.
Способ №2. Исходить из требований в вакансиях
Начинающих разработчиков не всегда берут на удалёнку. Кроме того, работа в офисе помогает быстрее набираться опыта и оперативно получать обратную связь от старших специалистов. Поэтому первую работу новички часто ищут в своём городе — если он небольшой, то стоит отобрать вакансии, которые вам нравятся, и смотреть, знания каких языков ожидают от соискателей.
Способ №3. Просто начать
Не так важно знать конкретный язык, как уметь решать задачи с помощью кода. Если умеете делать это на одном языке, то сможете разобраться и с другим. А в начале переобучения с «переводом» отдельных фрагментов кода поможет ChatGPT.
Какие качества ценятся в IT
Профессиональные навыки и знания инструментов (или хардскилы) растут во время обучения и практики. Сложнее с софтскилами — качествами, которые часто зависят от особенностей мышления и характера. Их тоже можно развивать, но если они будут у вас на старте, будет проще.
- Аналитический склад ума. Программист должен уметь критически оценивать информацию и выстраивать логические связи.
- Навык решения проблем. В коде часто что-то ломается. Ошибки и трудности — это рутина разработчика.
- Самоорганизация и тайм-менеджмент. В IT распространена культура дедлайнов — специалистам важно чётко планировать время, быть усидчивыми и сосредоточенными, когда это необходимо.
- Командная работа и сотрудничество. Сегодня IT-продукты не делаются талантливыми умельцами в одиночку. Без командной игры реализовать задуманное и развиваться в профессии не получится.
- Абстрактное мышление. Иногда задачи требуют нетривиальных решений, поэтому разработчики должны уметь как действовать по шаблонам, так и абстрагироваться от них в поисках новых идей.
- Гибкость. Изначально заданные требования могут измениться, поэтому специалисту в IT важно не только следовать техническому заданию, но и быстро подстраиваться под новые запросы.
- Инициативность. IT — конкурентная среда, выделиться в которой поможет ценность для команды или бизнеса в целом. Например, умение находить новые решения, которые помогут улучшить опыт пользователя.
Отвечаем на вопросы
Вокруг IT есть много мифов. Комментируем самые популярные.
— Не лопнет ли IT-пузырь?
Сегодня IT — это такая же сфера, как строительство, образование или сельское хозяйство. Эти сферы автоматизируются, но от этого люди там нужны не меньше, чем раньше. Кроме того, и в этих сферах нужны IT-специалисты.
Это не отменяет главного: чтобы быть востребованным и хорошо зарабатывать, нужно быть ценным специалистом, уверенно справляться с задачами и приносить пользу бизнесу и его клиентам.
— Правда, что скоро всех разработчиков заменят нейросети?
Не заменят, но они уже точно сильно изменили их работу. Нейросети помогают работать быстрее, и им можно доверить простые шаблонные задачи.
— Знаю, что есть разработчики, которые не пишут код. Так можно?
Да, есть платформы no-code (zero-code), где программы создаются без кода. Их часто рекомендуют предпринимателям, которым нужно решить насущную бизнес-задачу например создать чат-бот в Telegram или сверстать сайт для продажи продукта.
Возможности таких инструментов ограничены. В разработке более-менее сложных продуктов без кода никак.
— Нужно ли знание математики?
Только в некоторых сферах, например, в анализе данных или работе с нейросетями. Для решения большинства задач будет достаточно школьного курса математики.
С чего начать
3 онлайн-теста, которые помогут определиться: тесты Климова, Йоваши и Потёмкиной.
Пройти тест на профориентацию
Тест, разработанный Практикумом совместно с МГУ, который поможет определиться, если статьи не помогают. Действительно подробный — чтобы пройти его, придёется потратить не меньше получаса.
Пройти бесплатные курсы
Мы собрали самое важное для тех, кто только собирается погрузиться в IT, в нескольких программах — в них мы с помощью опытных специалистов знакомим студентов с профессиями, рассказываем о буднях разработчиков и других IT-специалистов, траекториях карьеры и перспективах.