Хм.
Для экранных форм нужны компетенции UXера, фронтендера и бэкендера
Для алгоритмов понимать corner cases, включая системные, тут нужен разрабочик бэка
Для API опыт разработки как клиента, так и сервера, а так же особенности конкретных фреймворков
Для БД - понимание как делать запросы и особенности конкретного ORM
Так как у системных аналитиков этих компетенций нет, они даже не могут понять, что сделано плохо. И не понимают.