Нужно ли СА знать программирование? + Краткий анализ рынка
Все чаще слышу, что на собесах спрашивают навыки программирования у системных аналитиков, причем даже у джунов
Давайте разбираться, нужно или нет
🔹 Что там на рынке?
Проанализировал вакансии на HH. Из 2685 вакансий в 74 встречаются ключевые слова «код» и «язык». Это всего 2.75%. Если пройтись по каждой, то можно убрать еще несколько вакансий, т.к. в выдаче попадаются «английский язык» и «дресс-код»
В 15% из отобранных вакансий это обязательное требование, в 45% это «желательно» или «будет плюсом», в 40% это «большой плюс»
😄 Самое интересное – вакансии, в которых это требование обязательное:
– Системный аналитик (middle) (еще ок)
– Младший системный аналитик/Технический писатель
– Младший системный аналитик
А для мидлов и сеньоров это опционально ❓
🔹 Зачем нужен этот навык?
Когда это действительно нужно:
1. Специфичный стек, или сам проект специфичен (блокчейн, анализаторы кода, информационная безопасность) – тогда придется разбираться в сложных процессах, завязанных на коде и железе
2. Активно анализируют логи, а в них встречаются фрагменты кода – навык поможет быстрее установить проблему и точнее поставить задачу
3. Нет документации, держатели знаний уволились – придется копаться в дебрях кода и восстанавливать доку
4. СА работает в паре с архитектором и в перспективе может вырасти до этой должности
Когда непонятно, зачем спрашивают:
1. Работодатель не понимает, кто такой СА
2. Собеседующий "просто" интересуется кругозором кандидата
🔹 На каком уровне нужно понимание?
На самом деле вы не должны быть убер-прогером. Достаточно знать:
1. Базовые механики (циклы, условия, алгоритмы)
2. Структуры данных (в идеале – как они хранятся на компьютере)
3. ООП (классы, методы)
Все это частично встречается в других артефактах СА – циклы и условия в UML Sequence, структуры данных в JSON и БД, а ООП можно увидеть в UML Class Diagram (агрегация, наследование)
🔹 А что на деле?
Я программировал в универе на Python и C++, знаю ООП – можно сказать, умею читать и писать код. И на удивление это пригодилось на моей первой работе, где не было документации, и ее пришлось восстанавливать по коду в Gitlab. Код был на Golang, но не составило труда прочитать его – если выучишь один язык, другие изучить проще 💡 В итоге я восстановил документацию по API, базе данных и архитектуре, что помогло быстро погрузиться в проект.
Также знания пригодились при обучении СА, было проще освоить БД и UML-диаграммы
Однако после этого я работаю три года СА на разных проектах, от ноунейм-компаний до крупных игроков, и нигде повторно этот навык пока не пригодился
🔹 Так нужно или не нужно знать?
По моему мнению это не обязательный навык для СА: его отсутствие не должно быть блокером при трудоустройстве. Однако если изучить хотя бы базу, это станет ощутимым плюсом при трудоустройстве, а еще неожиданным образом может помочь в работе
—————
⬇ А что вы думаете на эту тему? Если умеете читать код, пригодилось ли в работе СА? Пишите в комментах
#вопросы_системный_анализ
Post #38
1.09K

- 🔥 14
- ❤ 2
- 👍 2