Программисты в душе бывают строителями и ломателями.
Строитель читает инструкцию, как строить, и строит по ней не спеша, из года в год, оттачивая мастерство строить по инструкции. Новые идеи и парадигмы так осваивать труднее, потому что он пытается строить из новых кирпичей старые конструкции как привык, ему сложнее переучиться, потому что надо изучить новую инструкцию с нуля.
Из плюсов мышления строителя – он работает быстрее и надёжнее, каждое новое здание у него предсказуемо похоже на то, что было в плане, и скорее всего лучше предыдущего, потому что после 10 раз у него получается лучше, чем после 1, а после 100, лучше, чем после 10.
Ломатель смотрит на вещи по другому, он читает инструкцию, и видит в ней не только что можно делать, но и что нельзя.
Поэтому он учится и тому и другому, что медленнее, чем учиться только строить.
Но благодаря этим знаниям он смотрит на здание по другому, он видит, что в нём неправильно, и может либо отбросить ненужные конструкции (сказать автору плана - это нафиг не нужно, без этого будет дешевле и лучше), тогда его все любят и уважают.
Но чаще бывает по другому, он видит, что здание держится на одном кирпичике.
Он говорит автору плана – смотри, здесь косяк, если выдернуть один кирпич, то всё здание навернётся. За такое ломателя никто не любит – план переделывать долго и дорого, и чаще всего кирпичик подпирают костылями и продолжают строить новые дома по старым планам.
Строители улучшаются, оттачивая скорость возведения одинаковых зданий (в десять раз больше домиков за месяц – в десять раз больше денег), ломатели – строя такие здания, для которых ещё нет чётких планов и инструкций (отгрохал не церквушку, а монументальный собор – респект тебе и уважуха в веках).