Коротко про IT: что нужно знать на старте

Привет! На связи Елена Платковская, занимаюсь построением и оптимизацией ИТ-процессов.

Когда к нам в команду добавились новые коллеги, которые не очень много соприкасались с IT, стало понятно, что нужно выровняться в терминологии, чтобы лучше понимать друг друга на встречах. Сделали это в рамках клуба LUC, подробно о котором я рассказала здесь.

Задача состояла в том, чтобы дать базовые знания о работе в IT, предложить хорошо структурированную основу, на которую коллеги могли бы нагугливать сверху больше деталей. Цель — дать отправную точку для дальнейших бессонных ночей, проведенных в обнимку с поисковиками. Получилась короткая презентация с универсальной информацией в картинках без привязки к функционалу сотрудника, который совершает стартовый шаг на пути к IT.

Когда я начала подготовку, столкнулась со сложностью. С одной стороны, в интернете полно материалов для новичков. С другой, не попалась та волшебная страница, одной лишь ссылки на которую было бы достаточно для первого знакомства. Именно поэтому была замешана своя микстура, которая подошла для экспресс-погружения в IT.

Делюсь с вами слайдами, которые получились и которые мы включили для обязательного изучения в программу онбординга новичков без опыта работы в IT.

Виды IT

IT везде, вокруг нас и мы погружены в него. Кстати, не только когда заказываем такси или слушаем музыку. Собрала некоторые виды на картинке:

502a4cddda5e9a320e0a78885387c6c3.png

В конце этого списка ставлю жирное многоточие, потому что перечислено далеко не все.

Для удобства в публикации я буду использовать термин ПО (программное обеспечение) для обозначения любого цифрового продукта.

Архитектура ПО

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

76e357658403325370286dc6286a0a7c.png

В самом начале, еще до написания кода, создается общий план будущего ПО — архитектура системы. То есть формируется упрощённое представление о будущем продукте, то есть о доме, но пока без мебели. Этот план также отображает то, как внутренние сервисы будут взаимодействовать друг с другом и внешним миром. Например, как интернет-магазин будет связываться с платёжными системами или социальными сетями через API. API (англ., application programming interface) — специальный набор правил, который позволяет разным частям системы взаимодействовать между собой. 

Следующий этап — детализация, при которой прорабатываются конкретные технические требования к продукту. В результате разработки архитектуры системы у команды должно появиться представление о том, что нужно разработать: какой IT-продукт и какие функции он должен выполнять.

Два подхода к проектированию

В зависимости от потребностей и сложности будущего ПО различают два подхода к его проектированию на уровне архитектуры — монолитный и микросервисный. Это не имеет отношение к внешнему виду и речь идет только о внутреннем устройстве.

6c89ecfaeddeb2013b9ac870ce0ff25f.png

SDLC

Жизненный цикл ПО — этапы, через которые проходит любое ПО, начиная от зарождения первоначальной идеи до его непосредственного «выхода в свет», то есть релиза. Его еще называют SDLC — англ., Software Development Life Cycle. 

По сути, это последовательность процессов создания ПО, который состоит из 6 этапов и охватывает период с момента принятия решения о его разработке и заканчивается, когда его перестают использовать. Каждый этап опирается на результат предыдущего. Подробнее каждый этап я отобразила на инфографике:

7f92cc6b5d7059dbaa2a11e417d9440c.png

PDLC

PDLC (англ., Program Development Life Cycle) — итерационный цикл постоянного совершенствования и оптимизации продукта. Совокупность процессов создания продукта от идеи до выпуск на рынок.

Состоит из семи этапов, которые на своей картинке я оптимизировала, сократив до 6-ти:

1.       Генерация идеи

2.       Исследование рынка

3.       Разработка концепта продукта

4.       Непосредственно сама Разработка

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

6.       Вывод на рынок

7.       Период после запуска

Взаимосвязь SDLC и PDLC схематично выглядит следующим образом:  

c4bdf6102e83aec1fdee815baffa2f14.png

Например, компания планирует в будущем выпустить на рынок сверхсовременный холодильник  — продукт, работа над которым пройдет все этапы PDLC. При этом разработка «начинки», то есть ПО, станет частью этого цикла и будет вестись по SDLC.

Роли в IT

В IT очень и очень много профессий. Вот некоторые из них:

1.       Разработчики/программисты/ девелоперы создают, пишут и поддерживают ПО, приложения, сервисы. Три основных вида:

·       Frontend-разработчики создают то, что мы видим снаружи любого ПО

·       Backend ведут разработку того, что находится «под капотом», обычный пользователь не видит эту часть, но благодаря именно ей любое приложение — это не просто красивая картинка, а работающий сервис.

·       Full-stack — совмещают функционал первых двух категорий.

2.       Тестировщики. Специалисты, которые проверяют готовое ПО на соответствие требованиям, исследуют работоспособность, находят ошибки (баги). Делятся на автоматизаторов и ручников.

3.       Бизнес-аналитик — это мостик между заказчиком и разработчиками. Он собирает требования, анализирует, фиксирует их в понятном для разработчиков виде. Отвечает на вопрос «Что разрабатываем?», «Что пользователи будут делать в готовой системе?».

4.       Системный аналитик тоже разрабатывает требования к ПО, но отвечает на вопрос «Каким образом нужно настроить систему, чтобы пользователь смог выполнить в ней определенный набор действий?».

5.       Специалисты по информационной безопасности/ безопасники. Профессионалы, которые занимаются защитой информации от цифровых угроз.

6.       DevOps-инженер (англ., deveopment operations) — многопрофильные специалисты, которые умеют автоматизировать процессы и знают, как работают разработчики, QA и менеджеры.

7.       Менеджеры проектов решают управленческие задачи: организуют команду, выстраивают процессы, планируют работу, следят за исполнением, контролируют ход работ, много общаются с заказчиками и собирают от них обратную связь.

И еще много-много-много других специалистов.

Методологии разработки

О том, что содержится в этом блоке, часто спрашивают в том числе и на собеседованиях, поэтому о тех основах, которые отображены на картинке, нужно детальнее поресерчить самим.

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

Существуют каскадные (Waterfall) и гибкие (Agile) методологии, работа по которым сильно различается.

557690121385efc5c0c766d2996bb8df.png

В свою очередь гибкие тоже делятся на подвиды. Самые популярные: Scrum, Kanban и SAFe для компаний с большим количеством проектов и команд, работу которых стараются синхронизировать и структурировать.

ce44420deaee7f81e531bc4b407c157b.png

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

© Habrahabr.ru