コードは世界共通、でも「正しさ」は別。海外ITエンジニアがぶつかった「倫理の壁」と、あなたがクビになる前に知るべきこと

「常識」がひっくり返った日、あるいは僕が「監視者」と呼ばれた日

(ここから本文:約3000文字)

「海外でエンジニア」、いい響きですよね。

僕も、日本にいた時は、漠然とした「憧れ」を持っていました。

自由な雰囲気、フラットな人間関係、最先端の技術、実力主義、そして、もちろん高い給料…!

まあ、実際こっちに来てみたら、キラキラした部分ばかりじゃなく、泥臭いことも死ぬほど多いんですが(WPFのレガシーコードとの戦いは、国境を越えても続く…!)、それでも、日本にいた頃とは比べ物にならないくらい、刺激的な毎日を送っています。

さて、そんな僕が、こっちに来てから約半年。

ようやく現地の生活にも慣れ、C#のコードベースにもキャッチアップし、「よし、いっちょ、日本で培ったスキルを見せてやるか!」と、ちょっと調子に乗り始めていた頃の話です。

当時、僕が所属していたチームは、あるレガシーなデスクトップアプリの保守・運用を担当していました。WPF製です。それはもう、見事なまでにスパゲッティなコードでした。

チームのメンバーは、優秀なんだけど、どこか「保守的」。

日々のタスクは、主に「バグ修正」と「顧客からの問い合わせ対応」に追われていました。

で、僕は思ったわけです。

「これ、めっちゃ非効率じゃない?」

特に、問い合わせ対応。

ユーザーから「ここが動かない」と連絡が来るたびに、担当者がログを掘り起こし、場合によってはユーザーの環境にリモートで入って、状況を確認する…という、非常に「手作業」感の強いプロセスでした。

僕の日本人エンジニアとしての「常識」が、ここで、うずき出します。

「改善(KAIZEN)だ!」と。

「このプロセス、自動化できるじゃん」

「ユーザーがエラーに遭遇した瞬間、自動でクラッシュレポートと関連ログを収集して、サーバーに送るツールを作れば、問い合わせ対応の時間が1/10になるぞ」

「空いた時間で、もっと本質的なリファクタリングとか、新機能開発ができる!」

完璧なロジックだと思いました。

日本の現場なら、「お、いいね!」「さすが!」と、称賛されたかもしれない。

これは「チームのため」「会社のため」「ユーザーのため」になる、「絶対的な善」だと信じていました。

そこで僕は、週末を使って、C#とWPFでサクッと(といっても結構大変でしたが)その「自動ログ収集ツール」のプロトタイプを作りました。

バックグラウンドで動作し、アプリの特定のエラーを検知したら、関連するログや環境変数を自動でパッケージングして、社内の分析サーバーに送信する。

我ながら、良い出来だと思いました。

月曜日の朝。

僕は、ちょっと得意げな気分で、チームの定例ミーティングで、そのツールをデモしました。

「これで、僕らの問い合わせ対応が劇的に楽になります!」

そう言って、ドヤ顔で画面を見せた、その瞬間。

ミーティングルームの空気が、凍りつきました。

文字通り、「シーン…」という音が聞こえそうなくらい。

あれ?

ウケなかった?

いや、それどころじゃない。

何人かの顔が、明らかに「引きつって」いる。

一番シニアの、ドイツ出身のエンジニア、マークス(仮名)が、ゆっくりと口を開きました。

彼の声は、いつもは温厚なのに、その時ばかりは、氷のように冷たかった。

「…Taro(僕の名前)、君は、これを、誰の許可を得て作ったんだ?」

「え?」

僕は、質問の意味が理解できませんでした。

「え、許可…ですか? 週末に、僕が勝手に作ったプロトタイプですが…」

「違う、そうじゃない」

マークスは、かぶりを振りました。

「君は、**『ユーザーのPCから、自動で、情報を収集する』**ツールを作った。そうだな?」

「は、はい。エラーログですけど…」

「その情報には、何が含まれている?」

「えーっと、スタックトレースと、OSのバージョンと、あと、作業中のファイルパスとか…」

「ファイルパス?」

彼の声が、一段、低くなりました。

「それって、ユーザーがどんな名前のファイルで作業していたか、僕らに『わかってしまう』ということか?」

「あ…」

僕は、そこで、初めて事のヤバさに気づき始めました。

「いや、でも、それはバグ解析のために…!」

「Taro。君は、自分が何をしたか、わかっているのか?」

彼の目は、僕を「改善をしてくれた、イケてる新人」としてではなく、

まるで「重大なルール違反を犯した、危険な監視者」を見るような目でした。

「僕らの『常識』では、ユーザーのPCは、たとえ会社の備品であっても、『聖域(サンクチュアリ)』だ。本人の明確な同意なしに、そこから『ファイルパス』のような機微な情報を、自動で収集するなんてことは…」

彼は、言葉を選びながら、続けました。

「…倫理的に、あり得ない」

「倫理的に、あり得ない」

その言葉が、僕の頭に、深く、深く突き刺さりました。

僕が「効率化」という「正義」のために作ったものが、ここでは「倫理違反」だと、断罪された。

僕の「常識」が、

僕の「良かれ」が、

僕の「エンジニアとしての正義」が、

この国では、このチームでは、「間違っている」と突きつけられた瞬間でした。

「え、でも、Googleとかだって、クラッシュレポート送ってるじゃん!」

「日本じゃ、これが普通なのに!」

喉まで出かかった、その言葉。

でも、僕は、それを飲み込みました。

マークスの本気(マジ)の目を見て、これは「郷に入っては郷に従え」的な、生半可な文化の違いじゃない、もっと根深い「価値観の断絶」なんだと、肌で感じ取ったからです。

さあ、どうでしょう。

あなたは、この話を聞いて、「大袈裟だな」と思いますか?

それとも、「Taro、ヤバいことしたな」と思いますか?

これが、僕が「The Illusion of Universal Ethics(普遍的な倫理という幻想)」に、リアルにぶち当たった最初の日です。

この記事を読んでいるあなたが、将来、僕と同じような「良かれと思ったのに、最悪の結果を招く」という失敗をしないために。

次の「承」のセクションでは、なぜ、僕の「カイゼン」は「悪」とされたのか。

日本と海外(特にヨーロッパ)で、ここまで「エンジニアの常識」が違う背景にある、「データプライバシー」に対する「文化レベル」の意識の違いについて、最近の具体的なテック業界の「炎上事例」なんかも交えながら、深掘りしていきます。

これ、知らないで海外行くと、マジで「クビ」じゃ済まない可能性もありますからね。

なぜ「正しい」は国によって違うのか? データプライバシーと「歴史の重み」

(ここから本文:約3000文字)

あのミーティングの後、僕は(当然ながら)意気消沈して、マークスに謝罪しました。

「すまない、Taro。君を責めたいわけじゃないんだ」と、彼は前置きしつつ、僕に、なぜ彼があそこまで強く反応したのかを、ゆっくりと説明してくれました。

その理由こそが、僕たち日本人エンジニアが、海を渡る前に、絶対に理解しておかなければならない「倫理の壁」の正体でした。

1. 「利便性」 vs 「プライバシー」: 日本の「常識」

まず、前提として、僕の「常識」を整理してみましょう。

日本で僕が受けてきた教育、働いてきた環境では、「効率化は善」でした。

そして、「サービス」とは、時に「おもてなし」であり、「(言われなくても)相手の不便を先回りして解決する」ことでした。

僕の作ったツールは、まさにこれ。

「ユーザーがイライラしながら、わざわざサポートに連絡し、ログを送る」という不便を、先回りして解決する。「良きこと」ですよね?

そして、データプライバシー。

もちろん、日本にも個人情報保護法はあります。

でも、どうでしょう?

僕らは、Tポイントカードを作るために、当たり前のように個人情報を提供し、

LINEで「位置情報をオンにしますか?」と聞かれれば、「まあ、便利だし」と許可し、

ECサイトで「あなたへのおすすめ」が表示されることに、そこまで強い拒否感は持っていません。

(もちろん、人によりますが)

総じて、僕らの社会は、「多少のプライバシーデータ」と「高い利便性(サービス)」を、天秤にかけた時、後者を選ぶことに、比較的、寛容です。

僕の「常識」は、この「土壌」で育ったものでした。

2. 「監視」への異常なアレルギー: ヨーロッパ(特にドイツ)の「常識」

さて、一方で、僕が今いるヨーロッパ、特にマークスの出身地であるドイツの「常識」は、どうでしょう。

彼らにとって、「データプライバシー」は、「まあ、あったらいいよね」というレベルの権利ではありません。

それは、**「何があっても守らなければならない、人としての基本的な権利」**であり、ほぼ「信仰」に近いレベルの、絶対に譲れない一線です。

なぜか?

「Taro、歴史を学んだことがあるか?」と、マークスは言いました。

「僕の親の世代、あるいは祖父母の世代が、どんな社会に生きていたか、知っているか?」

僕は、ハッとしました。

ドイツという国が、20世紀に何を経てきたか。

ナチス・ドイツによる統制、そして戦後は、東ドイツ(DDR)の秘密警察「シュタージ(Stasi)」による、徹底的な「国民の相互監視」社会。

「シュタージ」は、国民のあらゆる情報を収集しました。

誰が、誰と、いつ会い、何を話したか。

どんな本を読み、どんな手紙を書いたか。

密告が奨励され、家族や友人でさえ、信じられない。

「『効率化のため』『国家の安全のため』という名目で、集められたデータが、どれだけ多くの人の人生を破壊したか、想像できるか?」

マークスの言葉は、重かった。

彼らにとって、**「本人の明確な許可なく、個人の情報を収集する」**という行為は、たとえそれが「ファイルパス」という些細な情報であっても、

「バグ修正」という(一見、無害な)目的であっても、

あの悪夢の「シュタージ」の行いと、地続きなんです。

彼らのDNAには、「権力(それが会社であれ、国家であれ)による、データの収集」に対する、強烈なアレルギー、恐怖心が、深く、深く、刻み込まれています。

僕が「KAIZEN!」とドヤ顔でデモしたツールは、彼らの目には、

「ユーザーが知らないうちに、勝手にPC内の情報(ファイルパス)を抜き取り、サーバーに送る」

=「シュタージの監視ツール」

と、ほぼイコールに映っていた。

…ヤバくないですか?

僕は、そんなつもり、1ミリもなかった。

でも、彼らにとっては、僕は「倫(みち)を外れたエンジニア」そのものだったわけです。

3. 「常識」が「法律」になった: GDPRという「壁」

この「歴史的な重み」と「プライバシーへの強い意識」が、単なる「文化」や「気分の問題」で終わっていないのが、ヨーロッパの(そして、海外で働くエンジニアにとっての)本質的なヤバさです。

この「常識」は、**「GDPR(General Data Protection Regulation:一般データ保護規則)」**という、世界で最も厳しいと言われる「法律」になっています。

聞いたこと、ありますよね?

数年前に、やたら「Cookieの使用に同意しますか?」というバナーが、Webサイトで出始めた、あれの原因です。

GDPRについて、エンジニアとして(特に僕らみたいなアプリ開発者として)知っておくべき最低限の「ヤバさ」は、こんな感じです。

  • 超高額な罰金: 違反したら、企業の「全世界の年間売上高」の*4%*とか、平気で吹っ飛びます。数百万ユーロじゃありません。数百億円数千億円規模の罰金があり得ます。
  • 「明確な同意」が必須: 「(たぶん)いいだろう」は、一切通用しません。「このデータを、この目的で、こう使います。いいですか?」と、ユーザーが自発的にチェックを入れない限り、アウト。
  • データ最小化の原則: 「念のため、あれもこれも取っておこう」は、アウト。「その目的を達成するために、絶対に必要な最小限のデータ」以外は、収集してはいけません。

さて、ここで、僕の「自動ログ収集ツール」を、GDPRの物差しで測ってみましょう。

  1. 明確な同意: 取ってません。自動で送る前提でした。はい、アウト。
  2. データ最小化: 「バグ解析のため」に、「ファイルパス」は「絶対に必要な最小限」でしょうか? …怪しいですよね。「スタックトレースだけで十分じゃないか?」と言われたら、反論できません。はい、アウト。

僕がやろうとしたことは、

「文化的に」最悪のタブーであると同時に、

「法律的に」会社を倒産させかねない、超ハイリスクな行為

だったわけです。

そりゃ、マークスも、氷のような目で僕を見ますよ。

「この日本人ルーキー、うちの会社を潰す気か?」と。

4. 炎上するビッグテック: これは「対岸の火事」じゃない

「いやいや、それはTaroが大袈裟なだけでしょ」

「ビッグテックは、もっとうまくやってるよ」

そう思いますか?

とんでもない。

最近のグローバルなテック業界の「炎上」や「論争」の、ほぼ全てが、この「倫理観の違い」から生まれています。

  • Facebook(現Meta)とケンブリッジ・アナリティカ事件:ユーザーデータを「(本人の明確な同意なく)政治コンサルに横流し」していた。アメリカでは「まあ、やりすぎたね」くらいだったかもしれませんが、ヨーロッパでは「民主主義の根幹を揺るがす、最悪の裏切り」として、GDPR導入の大きなきっかけになりました。
  • Amazonの「Alexa」は、いつも聞いている?:「アレクサ」と呼びかけるまで、デバイスは「待機」していると、僕らは信じています。でも、過去に「従業員が、ユーザーの録音データを聞いて、AIの精度を上げていた」ことが発覚し、大問題になりました。利便性(AIの精度向上)とプライバシー(盗み聞き)の、典型的な衝突です。
  • データは誰のもの?: アメリカ政府 vs Microsoft (アイルランド事件):アメリカ政府が「犯罪捜査のため」として、Microsoftに対して「アイルランドにあるデータセンターの(アメリカ人じゃない)データ」を提出しろ、と命令しました。Microsoftは「ここはアイルランドだ、アメリカの法律は適用されない」と抵抗。…ほら。僕らが書いたC#のコードが生み出す「データ」が、国境を越えた瞬間、法律と政治の、ど真ん中の問題になるんです。

僕がやった「ファイルパスを自動で送る」という小さな(つもりの)行為は、これら「数千億円規模の炎上」と、根っこは全く同じ。

「エンジニアが、技術的な『効率』や『面白さ』を優先し、その土地の『倫理』や『法律』を軽視した」

ただ、それだけのことなんです。

でも、その「だけ」が、あなたのキャリアを、一瞬で終わらせる威力を持っている。

日本でWPFのデスクトップアプリを開発しているだけなら、ここまで「歴史の重み」や「国際法」を意識する必要は、なかったかもしれません。

でも、海を渡って「グローバルなエンジニア」になるということは、そういう「地雷原」のど真ん中で、コードを書く、ということなんです。

じゃあ、どうすりゃいいんだ?

「倫理」なんて、フワフワしたもののために、技術的な「正しさ」を、我慢しなきゃいけないのか?

あのミーティングで、僕は、どうすべきだったのか?

次の「転」では、この「やらかし」の後、僕がどうやってチームの信頼を(なんとか)回復しようとしたか、

そして、この「倫理の壁」の教訓を、別の形で、もっと痛烈に、ドイツ人マネージャー(そう、マークスです)に叩き込まれることになった、僕の「大失敗」について、お話ししようと思います。

 「良かれ」が招いた大失敗。僕は「ヒーロー」のつもりで「犯罪者」になった日

(ここから本文:約3000文字)

「シュタージ事件」から、約半年後。

僕は、すっかりチームの(WPF担当としての)中核メンバーとして、バリバリ働いていました。

そして、ついに、新機能開発のリードを任されることになったんです!

その新機能とは、「クライアント企業(BtoB)向けの、従業員パフォーマンス管理機能」。

僕らが作っているWPSアプリは、とある専門職向けの業務ツールでした。

クライアント企業の管理者が、自分の部下(従業員)たちの「作業状況」を把握し、業務改善に役立てたい、というニーズがあったんです。

具体的には、「どの従業員が、どの機能を、一日に何回使っているか」「一つのタスク処理に、平均どれくらい時間がかかっているか」といったデータを収集・可視化するダッシュボード機能でした。

さあ、どうでしょう。

これを聞いて、日本のSIerや受託開発の現場にいた人なら、「ああ、あるある」って思いませんか?

「サボってるやつを可視化したい」とか、「誰の作業がボトルネックになってるか分析したい」とか、まあ、管理職なら当然の要求ですよね。

僕も、「はいはい、よくある管理機能ね」と、何の疑いもなく、設計を始めました。

ここで、僕の頭に、あの「シュタージ事件」が、**(悪い意味で)**活きてきます。

「(ふふん…前の俺とは違うぜ)」

「ユーザーのPCから、ログを『自動で』送るのはNGだったな」

「よし、今回は、サーバーサイドのAPIアクセスログを集計しよう」

「どのユーザーIDが、いつ、どのアクションAPI(『タスク完了』とか『データ保存』とか)を叩いたか、そのログは(バグ解析用に)元々サーバーにある。それを集計するだけだ」

完璧だ、と思いました。

これなら、ユーザーのPCを「監視」するわけじゃない。

ユーザーが自発的に行った操作の「結果」を、サーバー側で集計するだけ。

GDPR的にも、ユーザーは「業務のために、このアプリを使う」ことに(包括的に)同意しているはずだ。

セーフ! 完全にセーフだ!

僕は、意気揚々とWPFの画面設計(XAML)と、バックエンド(C#)のロジックを組み上げました。

管理者がログインすると、部下の一覧と、彼らの「タスク処理件数」「平均処理時間」なんかが、キレイなグラフで表示されるダッシュボードです。

…そして。

ここで、僕は、**最悪の「良かれ」**を、もう一つ、トッピングしてしまったんです。

そう、日本人の「KAIZEN魂」が、またしても、うずいた。

「(あれ? このデータ、管理者だけが見るの、もったいなくない?)」

「(従業員本人にも、『あなたの生産性』を見せてあげたら、もっと良くない?)」

「(自分の立ち位置がわかれば、みんな、もっと頑張る(Kaizenする)はずだ!)」

僕は、WPFのメインウィンドウの隅に、小さなダッシュボード・ガジェットを追加する実装をねじ込みました。

そこには、こう表示されます。

「あなたの今週のタスク処理数: 25件 (チーム平均: 38件)」

うわあ。

今、文字に起こしただけで、鳥肌が立つ。

当時の僕は、「これぞ、データドリブンな業務改善だ!」と、本気で信じ込んでいました。

日本のゲームやアプリでよくある「全国ランキング」とか「偏差値」みたいなノリで、「競争心」を(良い意味で)刺激する、素晴らしい機能だと。

そして、運命の新機能デモの日。

今度は、シニアエンジニアとしてではなく、「マネージャー」として参加している、マークスの前で。

僕は、自信満々に、そのWPFの画面をスクリーンに映し出しました。

「…そして、これが、今回の『目玉』です。管理者はもちろん、従業員本人も、自分のパフォーマンスをチーム平均と比較・確認できます!」

「これで、各自が自分の生産性を意識し、チーム全体のパフォーマンスが、ボトムアップで改善されます!」

ドヤ顔。

我ながら、完璧なプレゼンだと思いました。

シーン…。

あれ?

また、この空気?

半年前、あのミーティングルームを支配した、あの「絶対零度」の空気が、

今度は、オンラインミーティングの画面越しに、ビンビンに伝わってきました。

デジャヴ?

いや、前回より、もっと、冷たい。

前回は「コイツ、ヤベえな(無知だな)」という『困惑』が半分だった。

今回は、違う。

画面越しのマークスの顔は、困惑を通り越して、静かな『怒り』と、深い『失望』に満ちていました。

デモが終わった後、他のメンバーが(明らかに動揺しながら)当たり障りのない質問を終えると、マークスが、静かにマイクのミュートを解除しました。

「…Taro。ミーティングの後、君だけ、ちょっと俺との1on1(ワンオンワン)のルームに入ってくれ」

その声のトーンで、僕は、自分が「半年前より、もっと、根本的に、ヤバいこと」をやらかしたのだと、悟りました。


(1on1のミーティングルーム。二人きり)

「Taro」

マークスの声は、静かでしたが、怒鳴られるより100倍怖かった。

「君は、この半年間、何を学んだんだ?」

「え…」

僕は、まだ、事態が飲み込めていませんでした。

「ま、マークス? もしかして、GDPR的に、何かマズいことが…? でも、今回はサーバーログで、PCは監視してませんし…!」

論点が違う!!

その時、初めて、マークスが声を荒らげました。

「君は、まだ、わかっていないのか?

僕らが、あの『シュタージ事件』で話していたのは、技術的な『方法』論(PCを監視するか、サーバーログか)だけじゃない。

僕らが守ろうとしている『倫理(Ethics)』とは、そういうことじゃないんだ!」

「君は、『法律(GDPR)違反じゃないからOK』という、最低ラインでしか、物事を考えていないのか?」

彼は、僕が実装した「最悪の機能」を、一つずつ、糾弾し始めました。

1. 「監視(Surveillance)」の本質を、理解していない。

「『従業員のパフォーマンスを管理する』。Taro、君が作ったそれは、結局、何だ?

それは『デジタル時代の監視(Surveillance)』そのものだ。

『シュタージ』がやろうとしたことと、本質は同じだ。

『効率化のため』『会社のため』という大義名分で、個人の行動を、会社が、管理者が、常に『見張る』ということだ。

それを、僕らエンジニアが、率先して作ってどうするんだ!

ドイツ(ヨーロッパ)の文化において、労働者が『監視』されることへの嫌悪感と抵抗を、君は、まだ、何も理解していない」

2. 「比較(Comparison)」という、最悪の圧力。

「そして、何だ、あの『チーム平均との比較』というのは!!」

「君は、自分がどれだけ『非人道的(inhumane)』なものを作ったか、わかっているのか?」

「ここで(ドイツで)働く人間にとって、『個人のパフォーマンスを、他人の平均と比べ、ランク付けする』というのは、労働者の尊厳を、根本から踏みにじる行為だ!

それは『Kaizen(改善)』じゃない。『心理的虐待(psychological abuse)』だ!

『なぜ、平均より遅いんだ?』『なぜ、あいつより件数が少ないんだ?』…そういう、際限のないプレッシャーを生むだけだ。

僕らは、ロボットじゃない。人間なんだ!」

3. 最も致命的なミス:「労働組合(Works Council)」の完全な無視。

「…そして、Taro。君は、会社を潰す気か」

(また、そのセリフ…!)

「仮に、仮にだ。100歩譲って、会社が、どうしても、その『監視システム』を導入したいと言ったとしよう。

だとしても!

ドイツ(多くのヨーロッパ諸国)では、従業員の行動やパフォーマンスを監視・測定するようなシステムを導入する際は、『必ず』、**『労働組合(Works Council / ドイツ語で “Betriebsrat”)』**の承認を得ることが、法律で義務付けられているんだ!

それを、なんだ?

一介のエンジニア(君)が、『良かれ』と思って、勝手に実装した?

もし、これが、そのままリリースされていたら、どうなる?

労働組合が、即座に会社を訴える。

裁判所命令で、この機能は即時停止。

会社は、組合に対して、巨額の賠償金を支払うことになる。

君がやらかしたのは、そういうことだ。

半年前の『シュタージ事件』が、『うっかり地雷を踏んだ』レベルだとしたら、

今回のは、『わかってて、地雷原のど真ん中で、踊り狂った』ようなもんだぞ!」

…僕は、何も、言い返せませんでした。

僕は、「GDPR」という「法律の条文」さえ守ればいいと、問題を、ものすごく、矮小化して(小さく)見ていました。

前回の失敗を、「(技術的に)ユーザーPCからログを取る方法が悪かった」としか、反SO(はんせい)していなかった。

違った。

彼らが守ろうとしていたのは、「法律」の、その奥にある、もっとデカいもの。

それは、歴史の教訓から生まれた、**「個人の尊厳」であり、「労働者としての人権」であり、「監視されない自由」**でした。

僕の「Kaizen(効率化)」という「正義」は、またしても、

彼らの「Dignity(尊厳)」という「正義」と、

今度は、正面から、激しく、衝突した。

僕は、チームの生産性を上げる「ヒーロー」のつもりだった。

でも、彼らの文化、彼らの倫理観から見れば、僕は、

「労働者の尊厳を踏みにじり、違法な監視ツールを独断で実装し、会社を訴訟リスクに晒した、最悪の『犯罪者(に等しいエンジニア)』」

だったわけです。

「技術的に可能か?」

「法律的にセーフか?」

そんな問いは、スタートラインでしかなかった。

本当に問うべきだったのは、

「この機能は、ここで働く『人間』の尊厳を、守っているか?」

という、もっと、根本的な問いでした。

僕は、それに、答えられなかった。

さて。

二度も、デカい地雷を踏み抜き、

マークス(と会社)からの信頼を、完全に(また)失った、僕。

もう、海外エンジニアとして、詰んだのか?

C#とかWPFとか言ってる場合じゃないのか?

いや、まだ、だ。

ここからが、本当の「サバイバル」であり、「学習」でした。

最終回となる「結」では、

この「二度目の大失敗」という、どん底から、

僕がどうやって、「倫理のOS」という、フワフワしていて、でも、メチャクチャ大事なものを、自分の中にインストールし直していったか。

そして、今、海外でエンジニアとして生き残るために、あなたが日本にいるうちから準備できる、「具体的な思考法」について、お話ししようと思います。

「倫理のOS」をアップデートし続けろ。海外で「信頼される」エンジニアになるために

(ここから本文:約3000文字)

あの、マークスとの地獄の1on1の後。

僕は、まず、何をしたか。

WPFのコードを書くのを、一旦、止めました。

いや、物理的には書いてましたけど、頭の中のプライオリティを変えたんです。

C#の新しい構文を覚えるより、MVVMの美しい実装を考えるより、先にやることがある、と。

それは、**「自分が『何も知らない』ということを、心の底から認める」**ことでした。

僕は、それまで、「技術は世界共通。俺のC#とWPFのスキルは、ここで通用する」と、どこかで驕っていました。

そして、前回の「シュタージ事件」の後も、「はいはい、GDPRね。法律ね。守ればいいんでしょ」と、問題を「知識」としてしか、処理していなかった。

違う。

これは、「知識」の問題じゃない。

「OS」の問題だ、と。

僕が日本で培ってきた「常識」や「正義」(=KAIZEN!効率化!競争!)。

これは、僕の「OS」の、根幹(カーネル)レベルに組み込まれている。

そして、その「OS」は、ここ(ドイツ/ヨーロッパ)の「ハードウェア(文化・歴史・法律)」とは、根本的に、互換性がないんだ、と。

じゃあ、どうするか?

OSを、入れ替えるしかない。

1. 「提案」を捨て、「質問」を拾った

まず、僕がやったこと。

ミーティングで、一切、「KAIZEN(改善)の提案」をするのを、やめました。

その代わりに、僕は、チームで一番「アホな質問」をするヤツになりました。

「あの、これ、超基本的なことで、馬鹿げてるってわかってるんですけど…」

「『なぜ』、僕らは、この機能で、ユーザーの『氏名』を使っちゃダメなんですか?」

「『なぜ』、ボタンの文言は、『同意する』じゃなくて、『詳細を理解した上で、許可する』じゃないとダメなんですか?」

日本人的には、「そんなことも知らないのか」と恥ずかしい行為かもしれません。

でも、もう、プライドなんか、捨てました。

僕は「無知」なんだ、と。

そして、彼らが「当たり前」すぎて、口にも出さない「倫理の前提(前提OS)」を、一つずつ、言語化してもらう。

それしか、僕が「アップデート」される道は、なかった。

2. 「敵()」の懐に、飛び込んだ

次に、僕がやったこと。

二度目の失敗で、僕が「完全に無視していた」と断罪された、あの存在。

そう、**「労働組合(Works Council / Betriebsrat)」**です。

正直、怖かった。

僕にとっては、会社(と僕のキャリア)を訴えかねない、「敵」みたいなイメージでしたから。

でも、この「OS」が、何を「是」とし、何を「否」とするのか、理解しない限り、僕は、また地雷を踏む。

僕は、プロダクトマネージャーに(マークスじゃなくて、もうワンクッション置いて)、

「あの、僕、Betriebsrat(労働組合)の人と、一度、話がしてみたい」

と、お願いしました。

「僕が、どれだけ無理解だったか、直接謝罪して、彼らが『何を守ろうとしているのか』を、エンジニアとして知りたい」と。

…この行動は、色々な意味で、僕のターニングポイントになりました。

最初は(当然)警戒していた組合の代表も、僕が「日本から来た、何も知らないエンジニア」であり、本気で「こちらのルールを学びたい」という姿勢を(拙い英語で)示すと、彼らの「歴史」と「哲学」を、教えてくれました。

彼らは「敵」じゃなかった。

彼らは、「効率化」の対極にある、「人間性の最後の砦(とりで)」を守ろうとしている、真摯な「パートナー」でした。

彼らと話して初めて、僕は、「転」でマークスに言われた「労働者の尊厳」という言葉の「重み」を、肌で理解したんです。

3. 「告発者」を「メンター」に変えた

そして、マークス。

僕を「犯罪者」とまで(心の中で)呼んだ、彼。

僕は、彼にも、真正面から、ぶつかりました。

「マークス、僕は、二度も、あなた(と会社)を裏切った」

「でも、僕は、ここでエンジニアを続けたい。あなたの下で、学びたい」

「だから、お願いがある」

「僕が、これから、少しでも『ユーザーデータ』や『パフォーマンス』に関わる『アイデア』を思いついた瞬間…」

「コードを1行も書く前に、あなたに5分だけ、壁打ち(相談)させてほしい」

**「Taro’s Ethics Check(タローの倫理チェック)」**と、僕は(自虐的に)それを名付けました。

「このアイデア、シュタージ度、何パーセント?」

「これ、労働組合に、即、訴えられるヤツ?」

マークスは、最初、呆れた顔をしていましたが、やがて、笑い出しました。

「…Taro。君は、本当に、馬鹿なヤツか、賢いヤツか、わからんな」

「いいだろう。その『チェック』、やってやる。ただし、俺のコーヒー代は、君の奢りだ」

僕の「OS」は、こうやって、少しずつ、上書き(アップデート)されていきました。

C#のコードレビューじゃなく、「倫理レビュー」を、僕は、誰よりも多く、受けたんです。

【海外で働くエンジニアを目指す、あなたへ】

さあ、僕の「大失敗」の話は、これで、おしまいです。

長々と、僕の恥を晒してきましたが、最後に、この記事のテーマである「読んだ人が、これを知って、よかったというような得する情報や人生術」を、お伝えします。

技術(C#)は、あなたを「海外の面接会場」まで、連れて行ってくれます。

でも、「倫理(Ethics)」だけが、あなたを「その会社」に、居続けさせてくれます。

僕が学んだ、最大の「人生術」は、これです。

「The Illusion of Universal Ethics(普遍的な倫理という幻想)」

そう、僕らの「常識」や「正義」は、日本国内でしか通用しない、ドメスティックなOSなんです。

そのOSのまま、ヨーロッパのハードウェア(文化・法律)に、アプリ(=あなた)をインストールしようとしても、クラッシュする(=クビになる)のは、当たり前。

じゃあ、どうするか?

「OSの互換性チェック」を、怠らないこと。

あなたが、もし、僕の失敗談を読んで、「ヤバいな」と、少しでも冷や汗をかいたなら、

おめでとうございます。

あなたは、もう、あの日の僕よりも、遥かに、先に進んでいます。

あなたは、地雷原の存在に、気づくことができた。

僕が、あのどん底から学んだこと。

それは、「倫理のOS」を理解し、アップデートし続けたエンジニアは、

ただの「C#コーダー」じゃなくなる、ということ。

あなたは、「リスク(地雷)を回避できる」だけじゃない。

「現地の倫理観(OS)と、グローバルの要求(KAIZENとか)を、両方理解した上で、互換性のある(クラッシュしない)ソリューションを設計・実装できる」

そういう、「グローバル・ブリッジ・エンジニア」になれるんです。

それって、ただWPFのXAMLが書けるエンジニアより、

どれだけ、市場価値が「高い」か、わかりますよね?

海外で働くって、そういうことです。

コードを書くのは、当たり前。

そのコードが、その土地の「人間」の、「尊厳」を、傷つけないか。

僕らは、技術者である前に、その「倫理」の番人じゃなきゃいけない。

…あ、ちなみに。

マークスとは、今ですか?

今じゃ、一番の「戦友」ですよ。

この前も、「あのWPFのレガシーコード、MVVMにリファクタリングするけど、どっちの設計(パターン)が『倫理的』に美しいと思う?」なんて、技術と倫理がごちゃ混ぜになった、アホな議論を、ビール飲みながら、朝までやってました(笑)

あなたの「OS」、アップデートする準備は、できてますか?

コメント

タイトルとURLをコピーしました