エンジニアのメンタルモデル
トライアンドエラー
とにかく試して、その結果(フィードバック)を見て学んで、また試そう
安易に試して良い、迂闊に試して良い
だってプログラムなんだもん、すぐ実行できるもん
概念駆動
必要な概念は適宜つくる(名前をつけることも含む)
上手くいきそうな概念がわからない場合、仮でもいいのでつくる(仮説検証)
読みやすさ
書いたものを発展させていく世界なので、その「書いたもの」が読めないといけない、探せないといけない、理解しやすくないといけない
生産性の追求
工夫
こういうのは当たり前
これは登さんの工夫だが、同じようなことは当たり前にやっている
僕の場合、ミニマリズムなど「そもそも抱えるものを減らして集中しやすくする」スタイルがメインだったりするsta.icon 人によって本当に違うが、一般人が見たら「そこまでやる?」「キモ」「プロだねぇ……」ってレベルにはなる
これをしてないのは以下
単にエンジニアリングもしている(仕事なり趣味なり)というだけ。職業はエンジニアだろうが、精神としてはエンジニアではない。SIerのSEはほぼこれ
ただの天才。天才は頭の中ですぐにつくれて「あとはそれを外に出すだけ」なので細かいことにこだわる必要がない。
あるとすれば「外に出すという作業が湧くモチベがほとんど来ない」ので対処しないといけないとか、仕事としてやることが多すぎるので回転あげないといけない(登さんはこっちのタイプ)とかかなsta.icon
反復性の排除
同じことを繰り返すことに価値はない
繰り返さなくても済むように自動化する
作業の嫌悪
誰がやっても同じ結果になるもの(手順に従うことだけを期待されたことも含む)には価値がない
そういうのはエンジニア以外の雑魚がやればいい
貴重なエンジニアのリソースをそんなくだらんことに使わせるな
俺たちの仕事じゃない
ただしそういうのにかかる手間をなくしたいから自動化する、みたいな仕事ならアリ
(まあ大体は盤外戦になってそういう仕事自体をなくす方向になるけど) 鍛錬の追求
よく「n回使うつもりがないなら自動化しなくていいよ」というが、これはhereではない
自動化(含めエンジニアリング)は常に鍛錬していないと鈍るので、1回しか使わないとしても自動化するべきだ
そうやるからこそ「自動化しているのに」「自動化をしない人達が単に作業するよりも速い」も実現できたりする
このモデルに犯された人達は、これをエンジニアリング以外の世界にも適用する
sta.icon
人間相手にトライアンドエラーしようとするとか
yes
含まれる
明示的に書いてはいないが、上記には事実上含まれている(たとえば傲慢な態度もチラホラ出ているだろう)と思う
input: 以前考えたやつら