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

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

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

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

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

Виды IT

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

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

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

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

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

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

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

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

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

SDLC

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

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

PDLC

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

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

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

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

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

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

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

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

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

 

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

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

Роли в IT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Комментарии (10)


  1. laisto
    01.08.2024 11:35
    +5

    как-то неоднозначно. и как справочник нельзя использовать, т.к. все наборы заканчиваются "и т.д.", и воды хватает. если вам человеку надо объяснять, в чем отличие между веб, мобильной и игровой разработкой, объясните заодно ему чем синий цвет от красного отличается.


    1. Elena_Platkovskaja Автор
      01.08.2024 11:35

      Спасибо за коммент, интересная мысль.

      В публикации даны опорные точки. IT - сфера большая и чтобы новичок не потерялся, со старта начав гуглить, например, о CI/ CD, ему даются те ключевые слова, на которые можно опираться. Поэтому нет цели объяснять, в чем отличие между разным ПО, цель в том, чтобы сказать, что оно бывает разным. А дальше должна подключиться самостоятельная работа новичка.

      Эта информация содержит лишь ориентиры и поводы для дальнейшего поиска, а не учебное пособие. Хотя последнее было бы интересно, конечно, написать))


  1. Samidara
    01.08.2024 11:35
    +4

    Если новичок не может понять чем финтех отличается от геймдева и не знает аббревиатур БД, ПО, то тут вопрос к ответственным за найм.

    КОГО вы вообще на работу взяли?


    1. Samidara
      01.08.2024 11:35
      +1

      А за вопросы, которые легко гуглятся вообще прописывать с ноги нужно (не в прямом смысле конечно, но все же).

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


    1. Elena_Platkovskaja Автор
      01.08.2024 11:35

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

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


      1. Samidara
        01.08.2024 11:35

        Спорное решение на мой взгляд.

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


  1. Elena_Platkovskaja Автор
    01.08.2024 11:35

    Ваш скепсис мне понятен и имеет под собой рациональное зерно. Поэтому нет ответа на вопрос "брать сотрудника без опыта или нет". Есть соотношение цели к рискам и ожидаемому профиту. Ну и пирамида синьорности при правильном внедрении не подводит.

    А от фейлов никто не застрахован, как и от успеха.


  1. itoolsy
    01.08.2024 11:35

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


  1. say_mokc_no
    01.08.2024 11:35

    Не понял как новичок с отсутствием таких знаний попал в компанию? Статья для студентов?

    Насмешило определение девопса- что за многорукая Шива такая?


  1. bezboroda
    01.08.2024 11:35

    Я думал хабр, это про тех, кто уже айти. На худой конец курьезы и новости из мира айти. Так можно и до хелловордов на питоне дойти.