Куда пойти в ИТ?

В последнее время количество направлений в ИТ так выросло, что может вогнать в ступор молодого человека, выбирающего свой путь в этой массе аббревиатур и непонятных слов. Основываясь на своём опыте решил выделить основные направления развития, чтобы немного облегчить муки выбора для тех, что хочет стать развиваться в ИТ и решает какую профессию ему выбрать.

Для начала, что из себя представляет работа в ИТ. Это в первую очередь процессы разработки и поддержки ПО, без них никуда. В разных компаниях они примерно похожи, где-то какие-то фазы выражены ярче, где-то нет или вообще отсутствуют в силу обстоятельств, производственной эффективности и т.д. и т.п. Рассмотрим же основные:

  1. идея и анализ требований к проекту
  2. проектирование, предварительная оценка и прототипирование
  3. реализация/разработка
  4. тестирование
  5. внедрение и поддержка

Идея и анализ требований к проекту

Идея обычно исходит либо от заказчика, либо от генераторов идей внутри компании, где вы будете работать. В игровой индустрии такими генераторами выступают геймдизайнеры (статьи на Хабре https://habr.com/ru/post/231577/, https://habr.com/ru/post/347948/), в компаниях занимающихся ПО техническое задание (описание, список требований и т.п.) прорабатывают системные аналитики (статья на Хабре https://habr.com/ru/post/202762/) и технические писатели (статья на Protext.su https://protext.su/pro/faq-po-professii-tehnicheskiy-pisatel/). В больших компаниях на сложных проектах над требованиями могут работать целые отделы, чтобы потом в разработку приходила готовая проработанная документация. Делается это с целью минимизации рисков и трудозатрат разработки и QA. Если вам нравиться генерировать идеи, описывать их, оценивать то, как они впишутся в существующую систему, а потом донести их понятным языком, то это ваши специальности. В крупных компаниях и/или на сложных проектах к системным аналитикам для проработки требований могут подключаться системные архитекторы (статья на Хабре https://habr.com/ru/company/technoserv/blog/350170/). Обычно системные архитекторы вырастают из программистов, которые немало повидали на своём веку и набрались реального опыта. На основе которого они могут предвидить какие решения лучше использовать в той или иной ситуации, чтобы добиться результата наиболее оптимальным путём.

Проектирование, предварительная оценка и прототипирование

Над визуальной частью программ и приложений трудятся специалисты в области UX (статья на Хабре https://habr.com/ru/company/puzzleenglish/blog/371055/). Они анализируют то, как конечный пользователь будет взаимодействовать с интерфейсами, от этого очень сильно зависит успех проекта. В маленьких компаниях роль UX могут выполнять дизайнеры, которые непосредственно разрабатывают интерфейсы, готовят 2D и 3D арт и отвечают за визуальную составляющую. По требованиям/технического задания подготовленного геймдизайнерами и/или системными аналитиками специалисты UX разрабатывают интерфейсы. А программисты или системные архитекторы выдают свои оценки, а в случае, если оценки дать сложно, либо надо устранить какую-то неизвестность, то может быть создан прототип будущего проекта или его части, вызывающей сомнения. После всестороннего исследования протитипа, проверки всех интересующих гипотез вносятся правки в документацию/ТЗ. И она передаётся в реализацию/разработку.

Реализация/разработка

В данном разделе всё просто, программисты исполняют в коде техническое задание. UI артисты (художники, моделеры, дизайнеры и т.п.) реализуют визуальную составляющую. UX проводит поэтапный контроль, чтобы удостовериться, что программисты правильно реализовали их задумки, вложенные в ТЗ.
В крупных компания бок о бок с основной разработкой действуют DevOps инженеры (описание на blogerator). Которые налаживают процессы взаимодействия между различными частями команды, реализуют системы непрерывной сборки и/или интеграции. Они не занимаются непосредственно разработкой продукта, они помогают ускорить эту разработку, минимизировав рутинную работу программиста.

Тестирование

За качество продукта отвечают QA специалисты. На их плечи ложиться нелёгкий труд по тестированию функционала, описанного в документации. Определению граничных и нетипичных кейсов, которые только могут быть. Чтобы на любые действия пользователя приложение выдавало адекватный ответ. Видов тестирования довольно много (статья на Roslab.ru).
Обычно приложение/проект можно распараллелить, разделив на логические части и вести разработку несколькими людьми/командами. Т.о. готовый фукнционал будет поступать в тестирование быстрее.

Внедрение и поддержка

После того как приложение написано и протестировано его необходимо доствить конечному пользователю. В зависимости от размера организации это может ложиться как на плечи рядового программиста, так и на плечи релиз менеджеров и т.п. Поддержка пользователей вещь нужная, но я не буду уделять ей внимания в этой статье.

Менеджеры проектов

Ещё одна важная часть процесса разработки — это менеджеры проектов (PM), люди, которые занимаются организацией работ от начала и до конца. Стараются найти неоходимые в той или иной ситуации ресурсы для того, чтобы продукт вышел и вышел в нужные сроки. В маленьких компаниях они могут выступать в роли заказчиков, т.к. являются входной точкой для реального заказчика. Множество информации об этой области знаний можно найти по запросу «менеджмент проектов».

Подведём итоги

Изчучайте материалы, благо в интеренете их море, пробуйте, делайте, развивайтесь и у вас появиться понимание кем вы хотете стать и что для вас ближе. Всё приходит с опытом.

ЗЫ: Если вы только вступаете на путь ИТ, то я бы посоветовал пройти огонь и воду аутсорс компаний. К примеру, новосибирских Noveo или Sibers. В компаниях такого плана вы сможете поучаствовать в разноплановых проектах и определиться с областью деятельности, которая вам ближе.

Поделиться в соц.сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс
Опубликовать в LiveJournal
Опубликовать в Google Buzz

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

* Copy This Password *

* Type Or Paste Password Here *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Before you post, please prove you are sentient.

what is 2 plus 6?