![見出し画像](https://assets.st-note.com/production/uploads/images/162553566/rectangle_large_type_2_f577570a4cf297ea72f2dba4c23d0a5c.png?width=1200)
Photo by
yesyoshino
仕事をお願いするときにIN/OUTを決める
仕事が上手い人、特にエンジニア経験者と話していると仕事のINPUTとOUTPUTの定義が非常にうまいなーと思う。その気付きを書く。
成果物 = f(必要な情報、必要な人、必要な既存アセット)
これを決めてシュッと仕事を振ってくる。もしくは足りていないものについては的確に聞いてくる。成果物においても
求める形式
締切
狙い
やってほしくないこと
など期待するスキームが明確である。
これが出来る人はきっとすでに脳内にメンタルモデルがあるのだろう。脳内にタスクに必要なフローと構造、依存関係が見えている。だから必要なものが見える。素材を入れ込むと何かが出てくる関数に「どんな素材が必要なのか」がはっきりと定義できる。
これはプログラミングにおけるインタフェース定義に近いのだと思う。
自分の責務がどこまでなのか
相手とのコミュニケーション方法(プロトコル)はなにか
そのコミュニケーションの中でどんな情報を求めているのか
依存関係はどの用につながっているのか
優秀なエンジニアが人に物を依頼することが上手なのは上記のような責務分離と領域分離、インタフェースがうまいからなのだと思った。
より上位グレードになると組織の協業もそのような目線で見ていることにも気づく。個々のモジュールが協調して動くという点では、プログラミングも人も抽象化するとあまり変わらないのだろう。
私ももっとうまくなりたいものだ。