Skip to content

Latest commit

 

History

History
92 lines (57 loc) · 11.6 KB

Как выбрать для себя направление в IT.md

File metadata and controls

92 lines (57 loc) · 11.6 KB

Как выбрать для себя направление в IT

Date: 1 October 2020

 


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

Казалось бы, IT-шник - это человек, который может абсолютно всё, где есть программный код, но это ошибочное суждение, так как сфера намного больше, чем кажется. Давайте посмотрим насколько глубока «кроличья нора» - это «приключение всего лишь на 10 минут».

Помните Agile (гибкая методология с итеративным улучшением продукта) или Waterfall (методология с выпуском продукта целиком)? В обеих методологиях над проектом работает не 1 программист, а целая команда.

Для начала стоит определить основные направления, которые существуют в IT, чтобы определить ту нишу, которая подходит именно Вам.

Список основных направлений:

  • QA - анализ качества и тестирование
  • System - внедрение и стабилизация работы систем
  • Management - управление продуктом, командой или проектом
  • Analytics - бизнес-аналитика и исследование данных
  • Development - автоматизация и разработка

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

QA - Анализ качества (в простонародье - тестировщики)

Вне зависимости от направленности IT (разработка игр или программного обеспечения) всё нуждается в тщательной проверке (тестировании) и качестве.

Основные направления:

  • Manual Testing - ручное тестирование
  • Automation Testing - автоматизация ручного тестирования с использованием готовых систем или языков программирования

И то и другое тестирование занимается выявлением неполадок ещё до момента выпуска продукта или его новой версии.

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

Заниматься тестированием стоит, если интересно пытаться "сломать" или улучшать механизмы продукта путём предложений.

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

System - Системный инженер (в простонародье системный администратор или "почини мне тостер")

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

Основные направления:

  • DevOps - это System engineer с навыками программирования в области написания скриптов для решения задач, связанных с автоматизацией процессов систем (это может быть и CI/CD (запуск сборки продукта, запуск автоматических тестов, доставка новых версий продукта конечному потребителю), управление облачными решениями (Azure, AWS) или, к примеру, контейнеризация и оркестрирование (Docker, Kubernetes и так далее).
  • System administrator - управление и поддержка различных систем (к примеру, операционные системы и сети), сервера и ПО на этих серверах, настройка и предоставление доступов к ресурсам, оборудованию и так далее.

Эта сфера близка тем, кто не любит программирование так сильно, как просто работать с железом или системами.

Management - Управление

Все мы знаем менеджеров, IT - не исключение.

  • Product Owner - в случае компаний, что выпускают свой собственный продукт на рынок, это владелец продукта или тот, кто определяет видение продукта. В случае, если компания занимается разработкой продукта на заказ, то зачастую эта роль превращается в Product Manager, основная цель этой роли - формирование видения продукта у исполнителей
  • Product Manager - определяет план развития для одного или нескольких проектов, а также обеспечивает соответствие этих проектов заказу от Product Owner
  • Team Leader - лидер команды разработчиков, который обеспечивает выполнение задач для бизнеса через контроль разработки, выполняет code review в большей степени, чем разработчики, а также создаёт все условия, чтобы разработчики не занимались ничем, кроме кода
  • Human Resources - найм новых сотрудников, предложения по распределению людей на проекты, коммуникации и помощь в разрешении проблем сотрудников.

Сфера подходит тем, кто любит управлять людьми и как можно больше коммуницировать с ними, налаживать процессы и получать результат, ориентированный на бизнес

Analytics

Аналитика бывает разной, от аналитики причин отказов на странице до глубокого анализа данных для выявления корреляций.

Основные направления:

  • Business analysis - сбор и анализ данных, нацеленный на решение бизнес-проблем, построение графиков по метрикам и результатам бизнес-процессов
  • Data science - сбор и анализ больших и, зачастую, неструктурированных данных с целью выявить закономерности для дальнейшего прогнозирования, используя методы математики и статистики.

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

Development - программисты и всё-всё-всё

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

Основных направлений несколько, однако, они же включают в себя ещё больше специализаций, в зависимости от платформ, на которых ориентирована разработка:

  • Frontend - те ресурсы, которые конечный потребитель видит и взаимодействует с ними
    • UI/UX - разработка дизайна на основе экспертного видения, общих практик и пользовательского опыта
    • Development - разработка решений в виде мобильных, веб и десктоп-приложений
  • Backend - скрытые от глаз конечного потребителя ресурсы, которые выполняют все необходимые вычисления
    • Database Engineer - хранение данных и операции над ними
    • Development - разработка сервисов и микро-сервисов для операций над данными или выполнения бизнес-логики продукта
  • Architecture - разработка архитектуры и её внедрение в общем виде
  • Teach Lead - лидер мнений по поводу использования технологий и архитектуры на проекте, обеспечение решений проблем связанных с разработкой.

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