Суть программиста и инженера - выдать конечное решение, соответствующее требованиям( сроки, бюджет, приемлемая работа на конкретных устройствах или их типах ), а то, как конкретно оно выглядит "под капотом" и сколько по этому поводу можно сделать ссылочек на умные книжки и статейки( притом, "умные" они не объективно, а по мнению энного неизвестного круга лиц ) сторонним людям глубоко наплевать.
И если человек называет себя крутым программистом, но не может исполнить проект в сроки и бюджет, т.е исполнить его ПРАВИЛЬНО - он не крутой и, даже, не хороший программист - он черти кто, незаслуженно получающий зарплату.
КРИТИЧЕСКИ важны время и бюджет при, нередко, не самых конкретных требованиях итп. И быть тем, кто убивает экономику проекта только ради абстрактной "статической типизации" итп - быть тем, кто именно проваливает даже вполне удачный проект и нифига не умеет применять инструментарий