俺たちが「すり減って」も、バグは減らないという現実
どうも、こんにちは!海外の某都市で、ITエンジニアやってます。
メインはC#とWPFを使ったデスクトップアプリの設計開発。そう聞くと、「お、なんかUIビシバシ作って楽しそう」って思うかもしれないけど、現実は結構エグい。金融系とか製造系のガチガチな業務アプリが多くて、UIの後ろにあるビジネスロジックがまぁ複雑怪奇。ちょっとした修正が、地球の裏側にある別の機能に影響したりして、毎日がデバッグと祈りの連続(笑)
さて、このブログの読者さんは、これから海外でエンジニアとして働きたい!とか、もうすぐこっち来ます!って人が多いと思うんすよね。
みんな、海外で働くエンジニアって、どんなイメージ持ってます?
やっぱ、「定時ダッシュ」「充実のプライベート」「カフェでMacBookカタカタ(俺はWindowsだけど)」「議論を交わすイケてる同僚」……みたいな、キラキラした感じ?
うん、わかる。俺も日本にいた頃はそう思ってた。
でも、先に現実を言っとくと、場所が海外になったからって、エンジニアの仕事が楽になるわけじゃ、マジでない。
もちろん、日本みたいな「意味のない付き合い残業」とか「謎の飲み会文化」は、ほぼゼロ。そこは最高。
でもね、代わりに「成果」へのプレッシャーがエグい。
日本だと、「プロセス」や「頑張り」も評価の対象になったりするじゃないですか。「あいつ、最近遅くまで残ってるな。頑張ってるな」みたいな。
こっち(海外)は、ゼロ。皆無。
「で、君は何をデリバー(納品)したの?」
すべてがこれ。
どんだけ夜中までコード書こうが、どんだけ複雑なアルゴリズムと格闘しようが、最終的に「動くモノ」「価値のあるモノ」を期限までにデリバリーできなきゃ、「働いてない」のと同じ。いや、むしろ「時間(=コスト)を無駄遣いした人」っていうマイナス評価すらあり得る。
日本にいた頃の俺は、典型的な「グラインド(Grind)系エンジニア」だったと思う。
グラインドってのは、「すり減らす」って意味。
そう、文字通り、自分の時間と精神と体力をすり減らして、仕事にぶち込むスタイル。
俺、WPFの画面設計とか大好きなんすよ。XAMLとにらめっこして、どうやったらもっとレスポンシブで、MVVMの原則に沿った美しいコードになるか…とか考え始めると、マジで止まらない。
日本で働いてた時、クライアントの無茶な要求でUIがぐちゃぐちゃになって、締切前は毎晩終電。夜中にエナドリとカップ麺でキメながら、「うぉー!俺、今、世界で一番WPFと向き合ってる!」みたいな、謎のハイテンション。
バグが出れば、そりゃもう根性。
「このバグが取れるまで、俺は帰らない…!」
そうやって、文字通り「時間」を溶かして、プロジェクトをなんとか着地させてきた。
で、そういう働き方が染み付いたまま、こっちに来ちゃったわけですよ。
最初のプロジェクトは、とある製造業向けの在庫管理システムの改修だった。レガシーコードの塊で、WPFのビュー(XAML)に直接、ビジネスロジックがべったり書かれてるような「地獄」みたいなコード。
俺の担当は、特定の条件下でパフォーマンスが劇的に落ちる問題の解消。
「よっしゃ、日本で鍛えたこのデバッグ力、見せたるわい!」
俺は、日本でやってたのと同じスタイルで挑んだ。
そう、**「グラインド」**で。
同僚たちが17時半とかに「じゃあね!良い夜を!」って爽やかに帰っていく中、俺は一人オフィスに残る。
(ふっ…甘いな。この問題の根は深いぜ…?)
とか思いながら、ブレークポイントを仕掛けまくり、メモリダンプを眺め、プロファイラを回し続ける。
一日目、解決せず。
二日目、原因のあたりはついたが、解決せず。
三日目、夜10時。ついに原因を特定し、コードを修正。テストも通った。
「っしゃー!!!」
深夜のオフィスで一人ガッツポーズ。
この「俺がやってやった感」、たまんねぇ。
翌朝。
ちょっと寝不足の顔で、意気揚々とチームリーダー(こっちの人)に報告したんすよ。
「昨日の夜、ついにあのパフォーマンス問題、解決しました!原因は〇〇で、こう修正しました!」
って。
そしたら、リーダーの第一声、何だったと思います?
「なんで昨日、帰ったんだ?」
……は?
俺、一瞬キョトンとした。
え、いや、帰ってないし。解決するまでやったし。
「いや、帰ってないですよ。昨日の夜10時にFixして、コミットしました」
って言ったら、リーダー、ちょっと眉間にシワ寄せて、こう言ったんすよ。
「Taro(俺の名前)、君は昨日、18時の時点で『原因のあたりはついたが、特定には至ってない』ってチームチャットに書いたよね?」
「は、はい。そうですけど…」
「じゃあ、なんでその時点で、俺やシニアエンジニアのKen(仮名)に『助けが必要だ』って言わなかったんだ?」
「え…いや、でも、自力で解決できたし…」
「違う。君は3時間、追加で働いた。俺たちはその間、家族とディナーを食べてた。もし君が18時の時点でアラートを上げてたら、Ken(その道のベテラン)が『ああ、それ俺もハマったわ。〇〇を見てみろ』って30秒でアドバイスして、君は19時には家に帰れてたかもしれない。君の3時間は、チームの3時間より価値があるのか?」
………。
頭をガツンと殴られたような衝撃だった。
マジで、言葉が出なかった。
俺は、「自力で」「時間をかけて」解決したことを、「頑張った証拠」として、むしろ「誇らしく」報告しに行った。
でも、彼(リーダー)の評価軸は、まったく違った。
彼の視点では、俺は、
- 問題を一人で抱え込み、
- チームのリソース(ベテランの知見)を活用せず、
- 結果として、無駄な時間(残業代)を会社に発生させた、「非効率なエンジニア」だった。
俺がすり減らした「3時間」は、彼らにとっては「成功」でも「頑張り」でもなく、ただの「非効率なコスト」でしかなかったんすよ。
日本で「美徳」とされがちな「根性」や「粘り強さ(という名の長時間労働)」が、ここでは「リスク管理能力の欠如」や「非効率」と判断される。
このカルチャーショックは、マジでデカかった。
俺、このままだと、ここでサバイブできない。
「成功」の定義を、根本から変えないといけない。
俺たちエンジニアの価値って、一体なんだ?
「何時間働いたか」じゃないことは、もう痛いほどわかった。
じゃあ、なんだ?
「何行コードを書いたか」? 違う。
「解決したチケットの数」? それも、なんか違う。
俺が夜10時まで「グラインド」して潰したバグより、同僚が17時に帰るまでに「チームで」潰したバグの方が、よっぽど「価値」がある。
この経験から、俺は「時間」で自分を評価するのを、一切やめた。
このブログで書きたいのは、そういう話。
俺たちが目指すべき「ピークパフォーマンス」っていうのは、エナドリ飲んで深夜までキーボードを叩き続けることじゃない。
いかに「すり減らない」で、いかに「持続可能」な形で、最大の「インパクト」を出すか。
それは、精神論じゃなくて、超具体的な「技術」であり「人生術」だ。
これから海外で戦おうって思ってる優秀な皆さんに、俺みたいに「頑張り方」を間違えて消耗してほしくないんすよ。
「起」の今回は、まず俺がぶち当たった「グラインド(すり減らす働き方)の罠」について、実体験をシェアさせてもらいました。
たぶん、多くの日本人エンジニアが、多かれ少なかれこの「呪い」にかかってると思う。
じゃあ、具体的にどうやってその「呪い」を解いて、「時間」以外の何を「指標」にすればいいのか?
次の「承」では、この「グラインド信仰」がエンジニアのキャリアにとっていかに危険か、そして俺たちが本当にフォーカスすべき「価値(Value)」とは何か、もうちょい深く掘り下げてみようと思います。
その「頑張り」、誰のためのもの? 消耗しない働き方へのシフト
(「起」の続きから)
前の話で、俺が良かれと思ってやった「根性のデバッグ(という名の深夜残業)」が、こっちのリーダーには「非効率なコスト」とバッサリ斬られた話をしました。
あれはマジで、価値観が180度ひっくり返る体験だった。
俺は、「Taroは頑張ってるな」って言われると思ってたのに、現実は「Taroはなんで助けを求めないんだ?」だった。
ここで、日本と海外(少なくとも俺のいる環境)の、「仕事」に対する根本的なスタンスの違いに気づいたんすよ。
日本(特に昔ながらのSIerとか):
プロセスや「どう頑張ったか」が重視される傾向がある。「あいつはいつも遅くまでやってる」っていうのが、困難なプロジェクトを乗り切った「武勇伝」になりがち。
海外(の成果主義の現場):
結果(アウトプット)が全て。プロセスは「どうでもいい」とは言わないけど、それは「結果を出すために最適化されるべきもの」。「無駄な頑張り」は、むしろマネジメントの失敗と見なされる。
俺の「3時間の残業」は、リーダーからすれば「最適化に失敗したプロセス」でしかなかった。
この一件以来、俺は「働き方」っていうか、「評価指標」を根本から変えることにしたんです。
1. 「時間」から「価値(インパクト)」へ:エンジニアのメトリクス(指標)革命
まず捨てたのが、「労働時間」っていう物差し。
これはマジで危険。エンジニアが「時間」で評価し始めると、ロクなことにならない。
だって、考えてみてくださいよ。
C#で言えば、ある機能を実装するのに、LINQを駆使して3行で書くシニアと、forループとif文をネストしまくって50行かくジュニア、どっちが「時間がかかる」か?
(もちろん保守性とかパフォーマンスは別問題として)
慣れてればすぐ終わる。慣れてなければ時間がかかる。
設計が良ければすぐ終わる。設計がクソなら時間がかかる。
なのに、「時間(=頑張り)」を評価軸にしちゃうと、**「非効率なヤツほど、頑張ってるように見えちゃう」**っていう、ヤバいバグが発生するんすよ。
これ、日本にいた時、薄々感じてませんでした?
スキルがなくてダラダラ残業してる人が、なぜか「あいつは頑張ってる」って評価されて、スキルがあって定時で帰る人が「あいつは楽してる」みたいに見られる、あの理不
尽。
海外でそれをやると、一瞬で「使えないヤツ」の烙印を押されます。
こっちのマネージャーが見てるのは、「時間」じゃない。
**「君がチームとプロダクトに、どれだけの『インパクト』を与えたか」**だけ。
「インパクト」ってのは、例えばこういうこと。
- バグを潰した「数」じゃない。
- そのバグが、どれだけクリティカルだったか?
- そのバグ修正が、どれだけのエンドユーザーを「助けた」か?
- あるいは、そのバグ修正が、他の開発者の「生産性」をどれだけ上げたか?
- 書いたコードの「行数」じゃない。
- そのコードが、どれだけの「ビジネス価値」を生み出したか?(例:コンバージョン率が上がった、処理速度が改善して顧客満足度が上がった)
- そのコードが、どれだけ「負債」を減らしたか?(例:複雑だったロジックをリファクタリングして、今後の開発スピードが上がった)
- 「俺がやった」じゃない。
- いかに「チームをスケールさせた」か。
- (俺があの時怒られたみたいに)一人で抱え込まず、チームの知見(コードレビュー、ペアプロ)を活用して、いかに「最短時間」で「最高品質」のものをデリバリーしたか。
C#とWPFのエンジニアとして、俺がリーダーに評価されるのは、XAMLの画面を何枚作ったかじゃない。
「あの分かりにくかったエントリー画面、Taroが設計し直してくれたおかげで、ユーザーサポートへの問い合わせが今月3割減ったよ」
これ。これこそが「インパクト」。
この画面を作るのに、俺が10時間かかったか、100時間かかったかは、二の次。
(もちろん、見積もりの100時間と実績10時間じゃ大違いだけど、それは「見積もり精度の問題」であって、「頑張り」の問題じゃない)
「時間」っていう、自分をすり減らすだけの呪われた指標から、いかに早く「インパクト(価値)」っていう、自分もチームもハッピーになる指標に乗り換えられるか。
これが、海外でエンジニアとしてサバイブする「起承転結」の「承」、つまり「転換点」になるんすよ。
2. 「頑張ってる感」の演出は、百害あって一利なし
この「インパクト思考」に切り替えると、面白いことが起きます。
「忙しそうにすること」が、めちゃくちゃダサく感じ始める。
日本だと、なんかいつもバタバタしてて、夜遅くまで残ってて、「いやー、今週マジ寝てないわー」とか言ってる人が、「デキる人(風)」に見えたりする瞬間、ありませんでした?
こっちだと、それ、ただの「タイムマネジメントできない人」か「タスク抱え込みすぎな人」です。
俺の同僚(ドイツ人)で、めちゃくちゃ仕事できるシニアエンジニアがいるんすけど、彼、定時(17時)の30分前くらいから、ソワソワしだすんですよ。
で、16時45分とかに「OK、今日の俺のタスクはここまで。この件は明日朝イチでやるから、よろしく!」ってチームチャットに投げて、17時ジャストに「じゃあな!」って帰る。
もし17時過ぎても彼が残ってたら、それはもう「プロダクション(本番環境)で大障害が起きてる」レベルの非常事態。
彼が「デキる」と評価されてるのは、決して「遅くまで働いてるから」じゃない。
彼が「デキる」のは、
- 自分のキャパシティを正確に把握してる。
- 無理なタスクは「それは今週は無理」とハッキリ断る。(か、優先順位の変更を交渉する)
- 問題が起きたら、一人で抱えず、即座に「これヤバそう、誰か知見ない?」とアラートを上げる。
- 結果として、彼がアサインされたタスクは、必ず「期限内」に「高品質」でデリバリーされる。
っていう、**「予測可能性」と「信頼性」**が異常に高いから。
彼は、自分のパフォーマンスが最大になる時間を知ってて、そこ(主に午前中)に一番頭を使う設計のタスクを入れて、午後はレビューとか簡単な修正を入れて、夕方にはきっちりガス欠になるように「エネルギーを使い切って」帰る。
グラインド(すり減らす)してない。彼は「コントロール」してる。
俺があの時、「3時間」の残業で失ったのは、リーダーからの信頼だけじゃない。
「Taroは、どれくらいでタスクが終わるか予測できないヤツ」っていう、エンジニアとして致命的な「予測可能性」の信頼も失ってた。
もし俺が、あの時18時の時点で、
「リーダー、原因の特定に手こずってます。想定より時間がかかりそう。今日は一度帰って、明日朝イチでKenに相談したいから、15分だけ時間もらえないか?」
って言ってたら、どうだったか。
リーダーは「OK、Taro。良い判断だ。明日の朝、Kenを捕まえておくよ」って言ったはず。
俺は定時で帰れた。
リーダーは進捗を把握できた。
チームはリスク(Taroが沼にハマる)を回避できた。
全員ハッピーだったんすよ。
「頑張り」をアピールしようとした俺の行動が、全員をアンハッピーにしてた。
マジで、あの時の自分に言ってやりたい。
**「お前の頑張りは、誰のためでもねぇ。ただの自己満足だ」**って。
「承」では、この「時間至上主義」から「インパクト至上主義」へのマインドセットの転換について、熱く語らせてもらいました。
でも、「言うは易し」ですよね。
「わかった、じゃあ明日から時間じゃなくインパクトで生きる!」って言っても、具体的にどうすりゃいいんだよ、と。
次の「転」では、この「インパクト」を最大化するために、俺が実践してる「頑張らない」ための具体的な戦略――つまり、いかに「生産的でない時間(Un-productive Strategies)」を意図的に組み込んで、持続可能なパフォーマンスを手に入れるか――について、掘り下げていきます。
あえて「何もしない」が最強の武器。俺が実践するサステナブル・ハック
(「承」の続きから)
「時間」じゃなく「インパクト」で評価される。
「頑張り」より「予測可能性」が信頼に繋がる。
頭ではわかった。
「承」で書いたみたいに、マインドセットは切り替えた。
でも、ここからが一番むずかった。
だって、俺たちは「頑張り教」の熱心な信者として、長年修行を積んできちゃってるわけですよ。
頭で「インパクトが大事」ってわかってても、夕方17時、まだバグが取れてないのに同僚が「じゃ!」って帰っていくと、心の奥底で(まじかよ…)とか思っちゃう。
「助けを呼べ」って言われても、
(いや、こんな簡単なこと(本当は簡単じゃない)でシニアの手を煩わせたら、俺、評価下がるんじゃ…?)
とか、謎の「遠慮」というか「恐怖」が湧いてくる。
そう。マインドセットを変えただけじゃ、体(=行動)がついてこない。
「グラインド(すD減らし)中毒」は、思ったより根深いんすよ。
この中毒症状を乗り越えて、「インパクト」を出す体質に変えるために、俺がやったこと。
それは、「頑張る」ための戦略じゃない。
あえて**「頑張らない」ための戦略**。
一見すると「非生産的(Un-productive)」に見えるけど、実はこれが、長期的に最高のパフォーマンスを出すための「キモ」だった。
俺が「すり減らない」ために、毎日意識してる具体的なハックを、包み隠さずシェアします。
ハック1:『15分ルール』と『撤退の勇気』
まず、これ。
「起」で書いた、俺が3時間沼にハマった反省から生まれたルール。
「一つの問題(特にデバッグ)で、15分間ガチで進捗がゼロだったら、即座に『白旗』を上げる」
15分、本気で調べる。Stack Overflowも見る。ドキュメントも読む。
それでも、「マジでわからん」「次の一手が思いつかない」ってなったら、そこで「グラインド」モードに入るのを、強制的にやめる。
で、何をするか?
「助けを求める」
これだけ。
チームチャットに、「ちょっとハマった。〇〇(機能名)で、××(事象)が起きてる。△△(試したこと)はやったけど、見当がつかない。誰かヒント持ってない?」って投げる。
これ、最初の1ヶ月はマジでキツかった。
「こんなこと聞いて『お前、そんなこともわかんないの?』って思われたらどうしよう」っていうチキンハートが邪魔する。
でも、面白いことに、こっちのシニアエンジニアたちは、こういう「早いSOS」をめちゃくちゃ歓迎するんすよ。
なんでか?
彼らにとっても、それが「効率的」だから。
彼らにとっては、俺が3時間悩んでから「すみません、もうダメです…」って泣きついてくるより、15分の時点で「ヒントください」って言われた方が、よっぽど楽。
「ああ、それ、たぶんWPFのVisual Treeの生成タイミングの問題だわ。〇〇のイベントハンドラ見てみ」
って、5分で解決するアドバイスをくれる。
俺は2時間55分得する。シニアは5分でチームの生産性を上げたことになる。会社は無駄な残業代を払わなくて済む。
全員、ハッピー。
あの時、俺が「根性」で見つけようとした答えは、誰かの「5分の知見」だったんすよ。
この「15分ルール」は、一見すると「他人に頼る」という非生産的な行為に見えるかもしれない。
でも、これは**「チームのアセット(資産)を最大限に活用する」**っていう、最高に生産的な「戦略」なんすよ。
ハック2:昼休みは「PCから半径100m」離れる
これも、俺が意識してるルール。
日本にいた頃、マジでやってた。
「時間ないから」っつって、デスクでコンビニ飯食いながら、片手でVisual Studioのデバッガを動かす、みたいな。
あれ、最悪。
効率いいと見せかけて、効率、ゼロ。
なんでかって、脳が「切り替わって」ないから。
特に、俺らが扱ってるC#とかWPFの、複雑な非同期処理(async/await)とか、MVVMのViewModelとViewのデータバインディングの闇とか、そういう「脳みそに負荷がかかる」問題って、ずーっと画面とにらめっこ(=「集中モード」)してても、解けないことが多い。
むしろ、一回、完全に忘れることが大事。
脳科学的に「拡散モード」っていうらしいすけど、問題から意図的に離れて、リラックスしてる時に、脳が勝手にバックグラウンドで情報整理してくれて、「あ!」って閃く。
俺は、昼休みは絶対にPCを閉じる。
スマホも極力見ない。
会社の外に出て、公園のベンチで、ただぼーっと空見てる。
(周りから見たら、ただのサボってるオッサン 笑)
でも、この「非生産的」な30分が、マジで効く。
「……あ、もしかして、あのWPFのDataContext、コンストラクタでセットされてないんじゃなくて、親コントロールから継承されてるのを、俺が別のとこで上書きしてる…? だからバインディングが切れてるんじゃ…?」
みたいな「神の啓示」が、だいたい降りてくるのは、ラーメン食ってる時か、公園でぼーっとしてる時。
「グラインド」してる時は、視野がめっちゃ狭くなってる。
あえて「何もしない」時間を作って、脳をリセットする。
これが、結局、一番早くバグを潰すための近道だったりする。
ハック3:「未来の俺」のための、カレンダー予約
これは、ドイツ人シニア(「承」で出てきた彼)の真似から始まった。
**「毎週金曜の15時~17時は、『リファクタリングと学習』の時間」**として、カレンダーをブロックする。
この時間は、絶対に、今のスプリントのタスクをやらない。
じゃあ何やるか?
- 前から気になってた、あの「クソコード」(例:一つのメソッドに500行書いてある、C#の神クラス)を、ちょっとずつリファクタリングする。
- 新しく出た .NET 8 の新機能とか、WPFの新しいライブラリ(例えばCommunity Toolkitとか)を触ってみる。
- 自分の開発環境(RiderとかVS Code)の、便利なショートカットを新しく覚える。
これ、短期的には「非生産的」の極み。
だって、チケット(タスク)は1ミリも進まないから。
でも、マネージャーはこれを「やれ」と言う。
なぜか?
「グラインド」っていうのは、「目先の火」を消すために、「未来の自分」から時間と体力を「前借り」してる状態。
いずれ、破綻する。
この「未来のための2時間」は、逆。
「未来の自分」に「投資」してる。
今、あのクソコードをリファクタリングしとけば、半年後に新しい機能追加が入った時、俺(か、誰か)が「3日」かかるところを「1日」で終わらせられるかもしれない。
今、新しいライブラリをキャッチアップしとけば、次のプロジェクトで、車輪の再発明(無駄な実装)をしなくて済むかもしれない。
これが**「持続可能性(Sustainability)」**。
すり減って(Grind)燃え尽きたエンジニアに、価値はない。
常に「研がれて」いて、来年も再来年も「インパクト」を出し続けてくれるエンジニアに、価値がある。
この「あえて何もしない(ように見える)時間」こそが、俺たちエンジニアの「刃」を研ぎ続けるために、不可欠な習慣なんすよ。
「時間」で戦うのをやめ、「インパクト」で戦うと決めた。
その「インパクト」を持続可能にするために、俺は「15分ルール」「強制リセット」「未来への投資」っていう、一見「非生産的」な習慣を取り入れた。
最初はサボってるみたいで罪悪感あったけど、驚くことに、これを続けた方が、よっぽど「成果」が出るようになった。
定時で帰れる日も増えたし、コードの品質も上がったし、何より、精神的にめちゃくちゃ楽になった。
「転」では、この超具体的な「頑張らない」ための戦略をシェアしました。
じゃあ、最後に。
なんでこんな「グラインドしない」働き方が、これからのエンジニアにとって、ただの「個人が楽する」ためだけじゃなく、「競争優位性」になるのか。
「すり減る」人から、「研ぎ澄ます」人へ。それが君の最強のカードになる
(「転」の続きから)
さて、「起」「承」「転」と、俺が海外でぶち当たった「頑張りの壁」から、いかにして「すり減らない」働き方にシフトしていったか、その具体的なハック(15分ルール、強制リセット、未来への投資)まで、全部ぶっちゃけてきました。
ここまで読んでくれた人は、たぶんこう思ってるかもしれない。
「いや、Taroよ。お前が言ってる『頑張らない戦略』って、結局は『個人的に楽したい』だけじゃないのか?」と。
「会社はそんな『サボってる(ように見える)』ヤツを、本当に評価するのか?」と。
今日は、その「核」となる部分に、俺なりの「答え」を出したいと思います。
結論から言います。
この「頑張らない」戦略は、個人の利益であると同時に、俺たちエンジニアがこれからの時代で生き残るための、最強の「競争優位性」になります。
これは、精神論でも、ワークライフバランス(笑)みたいなフワッとした話でもない。
超、超、ロジカルな「生存戦略」の話です。
なぜ「グラインドしない」ことが「競争力」なのか?
理由は、大きく二つあります。
1. 「すり減る」エンジニアは、チームにとって「最大のリスク」だから
まず、マネージャーの視点に立ってみてください。
Aさん:
いつも定時で帰る。タスクの進捗も「予測可能」。ヤバそうなタスクは「15分ルール」ですぐにアラートを上げ、チームで対処する。定期的に「未来への投資(リファクタリング)」もやるから、彼が書いたコードはメンテしやすい。
Bさん:
いつも夜遅くまで残ってる。「根性」で一人で問題を抱え込み、金曜の夜中に「できました!」とコミットしてくる。でも、そのコードはレビューされておらず、翌週の月曜に別のバグを生む。そして、半年に一度、「燃え尽きました」と言って1週間休む。
さて、あなたがマネージャーなら、どっちのエンジニアに「来期の超重要な新機能の設計」を任せたいですか?
…言わずもがな、ですよね。
「Bさん」みたいなグラインド系エンジニアは、一瞬の「英雄的」な頑張りで、短期的には問題を解決するかもしれない。
でも、彼らは「脆い(もろい)」。
彼らのパフォーマンスは、「その時のやる気」とか「体調」に大きく依存する。いつ「燃え尽きる(バーンアウト)」かわからない。彼らが倒れたら、プロジェクトも倒れる。
彼らは、チームにとって「時限爆弾」なんですよ。
一方で、「Aさん」みたいな「頑張らない」エンジニアは、「しなやか(レジリエント)」です。
彼らは自分のパフォーマンス(と限界)を正確に把握し、無理をしない。問題はチームで解決する。コードは常にクリーンに保とうとする。
だから、彼らのパフォーマンスは「持続可能」で「予測可能」なんです。
海外の(まともな)企業が欲しがるのは、「一瞬だけ輝く英雄」じゃない。
「長期間、安定して価値を生み出し続ける、信頼できる資産」です。
俺が「転」で紹介した「あえて何もしない」ハックは、すべて、この「予測可能性」と「持続可能性」を高めるための戦略なんです。
それは、会社(チーム)にとって、最高に価値のある「投資」なんですよ。
2. AI時代に「グラインド」は、何の価値も生まないから
これが、今日一番言いたいこと。
俺たちITエンジニア(特にC#とか書いてるプログラマ)の仕事は、ここ数年で劇的に変わりました。
そう、GitHub Copilot をはじめとする、AIの台頭です。
ぶっちゃけ、昔ながらの「グラインド」――つまり「根性でググり、時間をかけてボイラープレート(お決まりの)コードを書く」みたいな仕事は、もうAIに勝てない。
俺が「うーん」とか唸りながら30分かけて書くようなWPFの面倒なデータグリッドのテンプレート(XAML)とか、C#の退屈なINotifyPropertyChangedの実装とか、AIはマジで3秒で書いてくる。
俺たちが「グラインド」してやってた作業の多くは、AIに代替されつつある。
じゃあ、そんな時代に、俺たち人間のエンジニアの「価値」って、どこにあるのか?
それは、**「AIには(まだ)できないこと」**です。
- どの問題を「解くべき」か判断すること(=ビジネス価値の理解)
- どのコードが「クソ」で、将来「負債」になるか見抜くこと(=設計思想、アーキテクチャの知見)
- チームメンバーの「助けて」に、的確なアドバイスをすること(=コミュニケーション、チームビルディング)
- 複雑な非同期処理のバグが「なぜ」起きたのか、その「根本原因」を突き止めること(=深い思考)
これ、全部、**「脳みそが疲れてない」**ことが大前提なんです。
夜中までグラインドして、エナドリでキメて、寝不足の頭で、クリエイティブな設計ができますか?
「時間がない」って焦ってる時に、他人の「助けて」に優しく耳を傾けられますか?
視野が狭くなってる時に、バグの「根本原因」が見えますか?
…無理ですよね。
AIが「単純作業」という名の「グラインド」を肩代わりしてくれる時代。
俺たち人間に残された「付加価値」は、「思考」と「コミュニケーション」と「戦略」の領域にシフトしてる。
そして、その「付加価値」を最大化するために必要なリソースは、「根性」や「時間」じゃない。
**「フレッシュで、クリアで、創造的な『脳』の状態」**です。
俺が「転」で書いた「昼休みにPCから離れる」とか「未来のために時間を確保する」っていうのは、まさに、この「最高の脳の状態」をキープするための、**プロフェッショナルとしての「義務」**なんです。
サボってるんじゃない。
それが、AI時代に「価値」を生み出すための、一番大事な仕事だからやってる。
結論:君の「成功」を、再定義しよう
このブログシリーズのタイトルは、「Redefining Success: Peak Performance Without the Grind(成功の再定義:すり減らないピークパフォーマンス)」でした。
俺が海外に来て学んだ「成功」の定義は、これです。
「時間」を切り売りして、「根性」をアピールすることじゃない。
「価値」を生み出すために、自分の「エネルギー」と「チーム」を、いかに賢くマネジメントするか。
これから海外で働こうとしてる、そこの君へ。
たぶん君は、技術力も高いし、勤勉だし、めちゃくちゃ優秀だと思う。
だからこそ、日本で培ったその「頑張り」という名の「呪い」を、こっちに持ってくるのは、本当にもったいない。
君の価値は、君が「どれだけ苦しんだか」で決まるんじゃない。
君が「どれだけ賢く、チームとプロダクトに『インパクト』を与えたか」で決まる。
「15分で助けを呼ぶ勇気」
「あえて『何もしない』時間を作る戦略」
これらは、「逃げ」や「サボり」じゃない。
すり減らずに、長く、太く、価値を出し続けるための、最強の「プロフェッショナリズム」です。
海外(ここ)で戦うなら、「すり減らす」人になるな。
常に「刃を研ぎ澄ます」人であれ。
君のその「賢さ」こそが、これからの時代、世界中どこででも通用する、一番の武器になるんだから。

コメント