Программист знает как работает его программа. Потому что он сам разработчик и сам придумал алгоритм.
При разработке программы обычно проще всего - это написать код.
А кодер фиксит баги методом тыка. Пофиксил и смотрит, как оно работает и молится, чтобы не отвалилось в другом месте.