Я научился программировать в школе, по самоучителю, и мог писать простые игры.
Я учился сам, только по самоучителю без преподавателей, без форумов и видеоуроков.
И я пришел к тому, что если что-то не работает или работает не так как ожидалось - значит я чего-то не понимаю. И если разобраться, то станет понятно почему происходит именно так.
Могут быть конечно и глюки, но даже в этом случае, если я пойму что именно и как глючит, я смогу дальше действовать с пониманием.

Еще в школе, когда я уже мог писать небольшие игры, я записался на курс по программированию. Рядом сидел один парень, который постоянно ругался на компьютер, на программу, что это “гавно не работает”, хотя он, “всё сделал правильно”.
Я пытался объяснить ему что, надо понять что на самом деле происходит. Что нужно использовать отладочную печать, и вообще попытаться понять.
Но не очень получалось.
Но сам я постоянно убеждался, что если у меня чтол-то не работает - то проблема в моем понимании, оно не соответствует реальности, а не в проблемах с реальностью.

Есть такое высказывание:”Если твоя программа работает, но ты не понимаешь как она работает, то это хуже чем если бы она просто не работала” - Ведь это говорит о том, что нет понимания, как работает программа, которую сам же написал. Это значит что ошибки могут всплыть в любом месте.

Инженерный подход предполагает понимание механизмов работы. А если возникает проблема - ищется проблема, ищется то место, где предполагаемое не совпадает с наблюдаемым.

Удивительным образом инженерный подход учит нас эмпатии.
Где есть такой взгляд на проблему “интересно почему не работает” - там нет осуждения.
Где нет осуждение и есть искреннее желание понять - там есть эмпатия.

Ведь когда я говорю:”Ок - это не то что я ожидал, где именно мое понимание и реальность расходятся?” тут нет осуждения.
Вместо крика “Работай тупая железка!”, на принтер, который не печатает (а я работал в тех. поддержке 6 лет), я могу попытаться понять что же произошло на самом деле. Увидеть картину целиком, понять что с принтером, можно даже сказать, понять принтер, почему он там не печатает.

Если я могу проявить подобное понимание к автомату, который взял деньги, но не выдал банку колы. То могу проявить подобный подход и к людям.

Инженерный подход учит нас не осуждению, а это то чего людям так не хватает. Ведь кто захочет делиться чем-то личным, если знает что в ответ услышит слова осуждения.

Если я пытаюсь понять человека, почему он поступил именно так, и что еще более важно, почему я так реагирую - это огромный шаг к эмпатии, к не осуждению.
Шаг от “работай тупая железка” к “интересно, что здесь такого что я не замечаю или не понимаю”.
И что еще более важно, такой же подход можно применить и к себе: “Почему я раздражен, хотя хочу быть спокоен, что пошло не так? Могу ли я вернуться к спокойствию, и как? А если нет, то чего я не замечаю?”