トップ «前の日記(2022/02/03 (木) ) 最新 次の日記(2022/02/05 (土) )» 編集 RSS feed

HsbtDiary


2022/02/04 (金) [長年日記]

マネジメントの極意は「自分のことは棚にあげる」こと

タイトルは https://qiita.com/jnchito/items/0a0b46106681f41f2f0e のインスパイアです。

昔エンジニアなどをやっていた時に、マネージャや上司から何かコメントを受けると「とは言っても、このコードも書けないのにさあ」というような気持ちになった経験から、自分が実際にマネジメントをする立場になると、「は〜、React とかあまりわからんので方針とか出しにくいなあ」となって止まってしまうことがあります。

昨今のソフトウェアエンジニアリングは幅も深さも異次元のレベルまで広がっているので、全てのことをマネジメントが実践できるというのは正直無理な話です。自分ができることしかマネジメントできないなら、ソフトウェア開発の世界では何もできないのに等しいです。

そこで必要なことは「自分のことは棚にあげる」です。

Google のソフトウェアエンジニアリングという本にも技術マネジメントは「わかったふりをして進める」というようなことが書いてありましたが、概念や理論はざっくりと把握した上で、「あー、はいはい。React ね」とわかったふりをしてそれがビジネス的にどういう成果を出すのか、エンジニアリングとしての効果はどれくらいか、というのを推進していくのがマネジメントの極意と思います。

ただ、わかったふりをしながらリーダーシップを発揮するというのが難しいポイントで、ある領域においてはわかったふりをしつつ、ある領域においては率先垂範をしていく、例えばドキュメントの整備は誰よりもやる、というような活動は必要と考えています。自分も Ruby, Python, AWS, GCP などでは、なんかトラブルが起きたら「あー、はいはい、〜がミスってるんじゃないの」とすぐ答えられるようには日頃から鍛錬しています。

以上、エンジニアリングマネジメントにおける棚上げ力について解説しました。なお、この棚上げ力というのは同僚の @kentaro がよく言ってる言葉で、最近よくあちこちで使ってます。棚上げ力おすすめです。

MacBook Pro M1 Max を 1 週間使ってみての感想

先週の金曜にそれなりに動くようにした M1 Max の MacBook Pro 14 インチを 1 週間使ってみたので感想です。

  • とにかく静か、Zoom 繋いで、Chrome のタブを大量に開いて、ruby/ruby を make -j でビルドしても何も音がしない、遅くもならない
  • ただし、単独のプロセスはそれほど速くはない、M1 からアーキテクチャが変わってるわけではないので、それはそう
  • サーマルスロットリング的なものが一切ないので、何をやっても速い、ということだと思う
  • Chrome の描画や JS 実行速度はめちゃくちゃはやい、メモリを積みまくっているからか、バス幅がデカくなってるからか、もしくは両方が原因だと思う
  • クラムシェルと外部ディスプレイから、ミラーリング、またはその逆、というような切り替えは爆速、信じられない速さ
  • Discord がいまだに Intel バイナリしか出てないけど、自分が使う範囲ではほぼ Universal になっているので、パフォーマンスの劣化はない
  • homebrew をはじめとする CLI 中心の開発は快適。ruby/ruby の何も問題なし、ただし TruffleRuby は Darwin arm はまだなかったりするので、動かないならサポートはいいかな...みたいな気持ちになってしまう
  • Docker 環境は地獄、これ x86_64 なイメージで何かをしたい、ってのは無理じゃないですかね。Rancher Desktop でも Colima でもなんでもいいけど、host を containerd にしようが Docker runtime にしようが遅い、ホストを arm64 にした上で docker のレイヤでエミュレーションをして x86_64 イメージを実行しても、ホスト自体を x86_64 にしてもとにかく遅い。軽く実行、ならなんとか耐え切れるけど開発は無理。

以上って感じでした。最後がとにかく致命的ですね。Asakusa.rb でも話していたんですが、コンテナ環境にするくらいなら、昔のようにネイティブで Rails 動かしたり、go なり rust で開発したほうがいいと思います。いやあ、時代はぐるぐる回るものですね。