Программисты, как понятно от названия, программируют ПО. Для программирования нужно иметь терпение и знание языков программирования.
Мнение о том, что ПО полностью создаёт лишь программист - ошибочно. Программисты выполняют лишь 1/9 часть работы. Кроме программирования ПО нужно ещё анализировать, спроектировать, конструировать, тестировать, отладить, развернуть, сопроводить и документировать!
Получается, что алгоритмы придумывает некто другой? А кто тогда? Странно.