В статье рассказали о профессиях в ИТ-отрасли: какие задачи решают специалисты разных направлений и что они должны уметь, чтобы быть востребованными.
В этой статье:
Фронтенд-разработчик
Что делает. Фронтенд-разработчик создаёт видимую часть экранного интерфейса. Он берёт макет дизайнера и перекладывает его в веб, используя разные языки программирования. В итоге, свёрстанный сайт или готовое приложение в точности повторяют дизайн макета и его пользовательскую логику.
Что умеет. Владеет языками HTML, CSS и JavaScript. Умеет работать с графическими макетами, строит адаптивные сетки, использует препроцессоры, разбирается во фреймворках и библиотеках, настраивает сборку макета для публикации. Также фронтенд разработчик умеет работать с современными графическими редакторами, например, Figma.
Бэкенд-разработчик
Что делает. Бэкендер работает с системой, которая находится «под капотом»: пишет серверный код, который связывает визуальный интерфейс и базу данных. Он создаёт библиотеки, работает с базами данных и компонентами системы, у которых нет интерфейсов.
Что умеет. Владеет языками серверного программирования, например, Ruby, PHP, Python, либо другие, разбирается в алгоритмах, владеет основами работы с базами данных, разбирается во фреймворках (например, Yii, Django и Ruby on Rails) и паттернах программирования.
Фулл-стек разработчик
Что делает. Выполняет функции как фронтендера, так и бэкендера, то есть может сам сверстать интерфейс сайта или приложения, а также настроить серверную часть — невидимую для пользователя.
Что умеет. Владеет языками программирования, например, Python, C++, JavaScript и другими; языками веб-разметки HTML CSS; языками данных; разными фреймворками, например, Symphony и Kohana; контролем версий Git; разбирается в программной платформе Node.js.
Фулл-стек разработчик может разработать и пользовательскую, и административную части сайта.
Разработчик мобильных приложений
Что делает. Создаёт приложения для мобильных устройств — телефонов, планшетов, фитнес-часам, электронным читалкам, GPS-навигаторам. Пишут софт для операционных систем Android или iOS.
Что умеет. Совмещает навыки фронтенд и бэкенд разработчиков, должен уметь работать как с интерфейсом приложения, так и с его внутренней логикой. В зависимости от выбранной платформы для разработки, специалисту нужно владеть языками программирования Java, Swift, Objective-C, Kotlin и другими. Также разработчику мобильных приложений важно понимать специфику проектирования, вёрстки и дизайна мобильных приложений и принципы работы Apple Store и Google Play Store.
Разработчик игр
Что делает. Создаёт игровой мир из отдельных ассетов — анимаций, моделей, сценариев поведения персонажей, звуков. В зависимости от специализации, разработчики игр придумывают механику и концепцию игры, создаёт пейзажи, костюмы, орудия персонажей, адаптируют игру под разные типы устройств, отвечает за работоспособность проекта.
Что умеет. Знает языки программирования, например, C#, C++, Ajax, Java, а также SQL и MySQL. Уметь работать на одной из платформ для создания игр — Unity (C#) или Unreal Engine (C++).
Когда-то игру разработать мог один программист, теперь над одним проектом работает целая команда.
Тестировщик
Что делает. Тестировщик анализирует программы, сайты, приложения и компьютерные игры, которые разработали программисты. Тестировщики делятся на тех, кто работает с готовыми продуктами и тех, кто тестирует и вносит правки на этапе разработки.
Что умеет. Тестировщику нужно знать основы, виды и методы тестирования, знать языки программирования и запросов SQL, уметь составлять тест-планы и тест-кейсы, а также знать системы контроля версий, например, CVS и Git.
Считается, что в сферу IT легче всего зайти с позиции тестировщика.
Системный администратор
Что делает. Обеспечивает бесперебойную работу и безопасность сайта, приложения, внутренней сети компании, компьютеров и программного обеспечения компании. Также устанавливает, настраивает и обновляет операционные системы на компьютерах сотрудников компании.
Что умеет. Понимает, как работают операционные системы, и умеет их настраивать, умеет работать с веб-сервисами, находить ошибки в работе компьютеров, поддерживать работу и безопасность баз данных, отслеживать сетевой трафик.
Дата-сайентист
Что делает. Data Science — это дисциплина на стыке аналитики, математики, программирования и обработки данных. Дата-сайентолог обрабатывает большие массивы данных, ищет в них закономерности и прогнозирует будущие значения.
Что умеет. Умеет работать с базами данных через SQL и строить модели с помощью программного обучения. Владеет языками программирования Python, C и C++, разбирается в библиотеках и фреймворках для машинного обучения. Умеет анализировать данные и визуализировать их с помощью библиотек Matplotlib, Plotly, Seaborn.
Дата-инженер
Что делает. Собирает, очищает и структурирует информацию, подготавливает её к изучению аналитиком данных. Он формирует картотеку данных, из которой, при необходимости может извлечь информацию или подсказать другим, где она лежит.
Что умеет. Глубоко понимает процессы обработки данных, может выстроить из них логическую цепочку; знает языки программирования, например, Python и Java, и язык структурированных запросов SQL. Умеет работать с большими данными, облачными платформами, создавать конвейеры данных.
Если вы хотите развиваться в ИТ-сфере, уделите внимание трём школьным предметам — информатике, математике и английскому. Затем выберете вуз, где есть направления «математика и компьютерные науки», «прикладная математика и информатика», «программная инженерия» и «информатика и вычислительная техника». Если решите поступать в колледж, рассмотрите следующие специальности: «программирование в компьютерных системах», «информационные системы и программирование», «прикладная информатика».