タイトルは https://qiita.com/jnchito/items/0a0b46106681f41f2f0e のインスパイアです。
昔エンジニアなどをやっていた時に、マネージャや上司から何かコメントを受けると「とは言っても、このコードも書けないのにさあ」というような気持ちになった経験から、自分が実際にマネジメントをする立場になると、「は〜、React とかあまりわからんので方針とか出しにくいなあ」となって止まってしまうことがあります。
昨今のソフトウェアエンジニアリングは幅も深さも異次元のレベルまで広がっているので、全てのことをマネジメントが実践できるというのは正直無理な話です。自分ができることしかマネジメントできないなら、ソフトウェア開発の世界では何もできないのに等しいです。
そこで必要なことは「自分のことは棚にあげる」です。
Google のソフトウェアエンジニアリングという本にも技術マネジメントは「わかったふりをして進める」というようなことが書いてありましたが、概念や理論はざっくりと把握した上で、「あー、はいはい。React ね」とわかったふりをしてそれがビジネス的にどういう成果を出すのか、エンジニアリングとしての効果はどれくらいか、というのを推進していくのがマネジメントの極意と思います。
ただ、わかったふりをしながらリーダーシップを発揮するというのが難しいポイントで、ある領域においてはわかったふりをしつつ、ある領域においては率先垂範をしていく、例えばドキュメントの整備は誰よりもやる、というような活動は必要と考えています。自分も Ruby, Python, AWS, GCP などでは、なんかトラブルが起きたら「あー、はいはい、〜がミスってるんじゃないの」とすぐ答えられるようには日頃から鍛錬しています。
以上、エンジニアリングマネジメントにおける棚上げ力について解説しました。なお、この棚上げ力というのは同僚の @kentaro がよく言ってる言葉で、最近よくあちこちで使ってます。棚上げ力おすすめです。
先週の金曜にそれなりに動くようにした M1 Max の MacBook Pro 14 インチを 1 週間使ってみたので感想です。
make -j
でビルドしても何も音がしない、遅くもならない以上って感じでした。最後がとにかく致命的ですね。Asakusa.rb でも話していたんですが、コンテナ環境にするくらいなら、昔のようにネイティブで Rails 動かしたり、go なり rust で開発したほうがいいと思います。いやあ、時代はぐるぐる回るものですね。