Does a BA need to know code?
❓ Один из весьма популярных вопросов у кандидатов на позиции IT-аналитика и у некоторых работодателей – должны ли они ожидать от такого сотрудника умения писать или хотя бы читать программный код на каком-либо языке программирования? По моему скромному мнению, короткий ответ – нет.
☝🏻 В этом месте каждая уважающая себя статья начинает новое предложение с громкого «НО!». Конечно же, умение писать и, соответственно, читать программный код никогда не будет лишним для любого IT-специалиста. Но давайте для начала все-таки разберем навыки, близкие к умению писать код, без которых хорошему аналитику все-же не обойтись:
👉🏻 Умение писать SQL-запросы. Основы искусства обращения к базам данных с помощью «языка» SQL – скилл, необходимый каждому аналитику, поскольку все мы так или иначе работаем с данными, хранимыми и обрабатываемыми посредством той или иной СУБД, и умение эти данные «вытаскивать» необходимо для решения большинства из каждодневных задач, стоящих перед аналитиком. Это еще не программирование, но уже солидный «хард-скилл», повышающий ваши конкурентные преимущества на рынке труда.
👉🏻 Знание API и умение работать с типами данных. На карьерном пути аналитика вам неизбежно придется столкнуться с интеграциями между информационными системами или модулями одной системы, а значит – работать с веб-сервисами – посредниками, передающими информацию от одной системы к другой с помощью сообщений, например, структурированных в виде популярных форматов JSON или XML.
Часто эта информация впоследствии должна быть помещена в базу данных. Сущности в сообщениях или полях базы представляют из себя набор полей, содержащих некие типизированные значения – например, если это числа – тип может быть целочисленным или с плавающей запятой, если это строка – она может иметь ограниченное количество символов, а может вам необходимо передать список из нескольких значений – и на это тоже есть свой тип данных.
В общем, если коротко – без знания типов и форматов данных, а также знание принципов работы API аналитику не обойтись. А обладая этими знаниями, вы можете считать, что находитесь на первом шаге изучения любого языка программирования!
👉🏻 Умение грамотно поставить задачу на разработку. Как аналитик, вы должны уметь поставить грамотную задачу на разработку – то есть, как минимум, расписать алгоритм работы вашей «фичи» - с чего должен начинаться процесс, какими должны быть входные и выходные данные, как должна обрабатываться информация.
Не так важно в каком формате вы это опишете, важно максимально прозрачно описать все шаги алгоритма, используя, к примеру, условия «Если – То – Иначе», описание обработки данных с помощью циклов, или «маппинг данных» - например, в какое поле базы данных мы должны поместить значение, полученное от сервиса-партнера.
➡️Если вы являетесь специалистом, которые умеет составить грамотную постановку задачи, считайте, что вы уже умеете программировать на базовом уровне – дело осталось за малым – начать изучать синтаксис того или иного языка!
📃 В заключение, хочется сказать, что любой опытный бизнес или системный аналитик уже близок к тому, чтобы усвоить какой-либо язык программирования. 💻Хорошим кандидатом для первого языка программирования является Python – изучив его, вы не только существенно повысите свою компетенцию в качестве БА/СА, но и можете продолжить свое развитие в сторону аналитика данных или специалиста в сфере машинного обучения.