海外で(国内でも)エンジニアとして成長するための英語勉強のすすめ

エンジニアの仕事をしていると英語に触れる機会は多いと思います。日本国内だけで国内の顧客相手の仕事であっても、技術系の文章などオリジナルは英語で書かれているものがほとんどです。

これからエンジニアとして仕事をしていくうえで、国内であってもまたは将来海外転職するつもりならなおさら英語能力は必要となってきます。エンジニアとしてキャリアの半分は海外で仕事をしてきているので、そのあたりの経験から英語勉強の勧めを書いていこうと思います。

# ITの技術文章は英語オリジナルが多い
そもそもITの技術は海外発のものが多く、普段エンジニアとして仕事をしていて国内初のものだけで仕事をしている人はほとんどいないと思います。開発言語にしても、クラウド系のテクノロジーも多くは海外発でそれらの技術文章も英語がオリジナルのものが大半ではないでしょうか。

例をあげると、クラウドのリソース管理などによく使われる`terraform`
英語でしか技術文章を公開していません。

https://registry.terraform.io/browse/providers

Q&Aのサイトでよく使われる`stackoverflow`
日本語バージョンもありますが、英語のほうは掲載されている量が1000倍ぐらいあります。

https://stackoverflow.com/questions

この様に英語オリジナルの技術文書は、大変多いです。ブラウザの翻訳機能を使って読むこともできますが、オリジナルの英語の文書を抵抗なく読むことが出来ると仕事上の幅も広くなると思います。

# サポート言語
使用しているソフトウェアーやハイパスケーラーにもよりますが、すべてのサービスで日本語のサポートがあるとは限りませんし、あっても営業時間が限られていたりします。
英語のサーポートですと、サポートをしているチームがアメリカ、ヨーロッパ、アジアと分散して存在してたりするので、２４時間受けられるケースもあります。
例えば、`Google Cloud`のサポートの場合ですと、現時点では以下のようになります。
>サポート時間
>英語によるサポートは、太平洋標準時（GMT - 8）の日曜日の午後 5 時から金曜日の午後 5 時までのサポート時間にご利用いただけます。

>日本語	月曜日～金曜日の午前 9 時～午後 5 時、日本標準時（GMT + 9）

https://cloud.google.com/support/docs/language-working-hours?hl=ja

英語の場合24x5のサポートを受けることができます。サポートが必要なケースにもよりますが、時間に限られずにサポートを受けられる選択肢があるのはエンジニアにとっては助かると思います。

# OSSへの参加
オープンソースソフトウェア（Open Source Software)にIssueを挙げたりプルリクエストをする場合、基本的には英語でやり取りになります。

**kubernetes /ingress-nginx**

https://github.com/kubernetes/ingress-nginx/issues

**Azure / AKS**

https://github.com/Azure/AKS/issues

プルリクエストはコードの変更点などを見れば意図がわかったりするので、そこまで細かな説明なく翻訳ツールなどを使ってもできるとおもいます。しかしIssueを挙げる場合は、バグレポートだったり、質問なんかもでき、開発者と直接やり取りができたりするのである程度細かなやり取りができたほうがより円滑に解決につながります。

このようにOSSだと開発者と直接やり取りができたりして、問題があった時に素早く解決する有効手段です。Azureなどで、オフィシャルのサポートチャンネルを使ってサポートリクエストを挙げることもできますが、OSSで公開しているもの多くIssueを挙げることで解決できることもあります。

自分も経験ありますが、担当しているシステムでどう考えても公開されているドキュメントとは異なる動きをしている場合、OSSを利用して質問やバグレポートを出すと数日中に返答や解決方法を提示されて助かったことがります。また、解決方法がなくてもいつ頃にリリースが出る予定などの情報をもらえる場合もあります。最終的にそれが原因で仕様変更となったとしても、仕様変更の理由のエビデンスとなるので変更をかけるときにも役に立つはずです。

また、OSSのIssuesを見ることによってトラブルシューティングにもすごく役に立ちます。同じ問題を抱えている人がすでにIssueを挙げているかもしれず、その中に解決の糸口になるようなことが含まれていることも多くあります。

# クラウドとリモートワーク
システムも以前のようにオンプレミスで社内ネットワークからしかアクセスできない、もしくは出社して会社のネットワークからしかアクセスできないというのは減ってきていると思います。多くのシステムがクラウドに移行している時期にたまたまコロナ禍でリモートワークが広まりだしたため、エンジニアは以前よりも制限が少なくどこからでも仕事ができるようになりました。

これはつまり、海外のエンジニアも日本の会社のシステムや開発を以前より行いやすくなったこととも言えます。また日本に在住しながら海外のシステムを開発、運用することも行いやすくなったと思います。ということは、日本顧客のシステムだからとか、日本にあるシステムだから日本ベースのエンジニアがその仕事をするとは限りません。これからよりエンジニアとしての競争も、激しくなるのではと考えられます。

時差の問題があるので、ある程度の制限はありますが日本の開発の仕事や、運用の仕事を東南アジアから行う分には時差も少なくほぼ何の問題もなく行えます。求人サイトなどでも、日本の求人であってもフルリモートで日本在住でなくても大丈夫みたいな案件も見かけるようになりました。

このまま進むと、外国の人と一緒に仕事をしたり、海外の仕事を請け負う機会も増えてくると思います。またそれに備えていないと、日本のシステムの仕事であっても外国ベースの人に仕事が回されるかもしれません。

例えば、インドはIT企業がたくさんあり、多くの企業が進出していたりまたはアウトソースしていたりします。大手のベンダーのサポートを受けたりすると、アジアの時間帯だとインドベースのエンジニアが担当されることもよくあります。インドでは英語を話す人が多くいるので、アジアの時間帯をカバーするには都合がよいのでしょう。

# エンジニアとしてのキャリア
これからのキャリア形成にとって、英語が使えるとそうでないとでは選択肢は大きく変わってくるはずです。
国内の企業に勤めていても、海外に顧客を持っていたり支店があったりなど現地の人とコミュニケーションを取って仕事を進めることは多いと思います。それだけでも英語ができると担当できる業務やプロジェクトの幅も広がりますし、より幅広い経験ができます。また、海外に転勤などの可能性も多くなってくると思います。
海外に転勤がよいかどうかは人によりますが、選択肢が増えることや、そういう人材であると会社から認められることはプラスになると思います。

また、国内で転職をする場合でも外資系の企業の場合、ある程度の英語が必須条件であったりもしくは会社の公用語が英語の会社もあります。それらの会社で、外国出身の同僚や上司などと仕事をすると毎日多くのことを学ぶことができます。それはITの仕事ことだけでなく、出身地の文化や環境など直接仕事には関係ないように見えますが将来役に立つことは多くあります。

例えば、年末の時期は日本では師走という言葉がある通り繁忙期だったりしますが、クリスマスの文化のある国は、２０日以降ぐらいか極端に静かになります。自分も日本で勤めていた時は２５日は普通の出勤日でしたが、海外の支社はほぼすべての国で休日で海外の同僚はみんなクリスマス休暇でいなくなったりしました。これは国内にいた外国出身の社員も同様で、よく欧米出身の人たちに”クリスマスに仕事しているのは信じられない”と言われていました。

また外資系に勤めると、自分は日本ベースで仕事をしていても上司は違う国にいたりすることもよくあります。困ったときにすぐに相談できないなどのデメリットもありますが、外国出身の上司の場合は海外のワークライフバランスの感覚でスタッフのマネージメントを行うので休暇が取りやすかったりとメリットも大いにあります。

# 海外転職/海外転勤について
ITエンジニアとして海外転職や海外転勤する場合、国にもよりますが英語圏でなくても英語は最低限使えないと仕事以上に普段の生活にも困ります。
英語が使えるようになると、海外転勤や海外転職の機会も広がります。それまでは転職の対象は日本国内だけだったのが、海外の多くの国も対象になりえます。本人次第でいくつかの国を渡り歩くことや、ノマドビザを取って異なる国で働くことも可能になるでしょう。

ただ、海外転職、転勤するとメリットもデメリットもあります。ここではそれらの一部を紹介したいと思います。

## 休暇　ワークライフバランス
ヨーロッパの国では社員のワークライフバランスを重要視している国が多くあります。自分がいるドイツは休暇が多いことで知られていて、年間３０日以上の有休がある会社が多くあります。会社全体で休暇を取りやすい環境なので、３０日の休暇を有効に使うことはそれ程難しくありません。すべて使い切る人も全く珍しくないです。

また、残業も日本の感覚で行くとほとんどないようなものです。ITエンジニアとしては緊急の問題の時や、メンテナンス作業で普段の就業時間外に仕事をする必要があるときもありますが、残業を前提に採用したり仕事の割り振りをするようなことはありません。国によったら就業時間後のメールや業務連絡は法律で禁じられていたりします。

## 年収の違い
これは少しサーチするだけで見つけられると思いますが、国ごとのITエンジニアの年収調査のレポートの多くでアメリカやスイスのようなトップの国と比べて日本は半分以下です。ただ、単純に年収だけで比較するのはあまり良い比較とも思えません。国の物価、税制、福利厚生などの違いもあるので、それらを加味して考える必要があります。

例えば、ヨーロッパの国では収入から源泉徴収される所得税や健康保険料、年金など国によりますが40-50%になることもあります。そうすると、手取りはかなり少なく感じますが福利厚生でその分を相殺できたりします。ドイツの場合だと、カンパニーカー制度が多くあるので、自分で車を購入したり普段の所持費用を出す必要がなかったりします。また、食費などものによってかなり安かったりするので、最終的に手元に残る額も調整できたりします。

アメリカは年収ではトップクラスですが、場所にもよりますが賃料もかなり高かったりします。

https://www.rentcafe.com/average-rent-market-trends/us/ca/san-francisco/

こちらのサイトによりますと、サンフランシスコの740 sq. ft.　69㎡のアパートの賃料は3,397ドル(1ドル=140円で計算して47万円)だそうです。近辺のいわゆるシリコンバレーといわれるほかの町でも2,500ドル以上のところがほとんどです。そうするといくら給料がよくても、半分以上賃貸料に持っていかれてしまったりするので結局手元に残る額も限られてしまいます。
このように、国や国の中でも地域によって家賃などはかなり違うので、それらのことをあらかじめ調査しておくのは重要です。

ただこれらを加味しても、現在の日本の年収は欧米のそれと比べてかなり低いのが現状のようです。

## レイオフ
最近アメリカの大手のIT企業で行われていて話題になっていますが、国によっては結構簡単にレイオフができます。個人的な所感ですが、レイオフが簡単にできる国は年収が総じて高いなどの金銭的なメリット大きいような気がしています。就業者としても当然レイオフはリスクなので、それに伴う収入が必要ということでしょうか。
ヨーロッパのの国では労働者を保護する法律が結構あるので、アメリカのように簡単にレイオフすることはできませんし、しっかり手順を踏まないと法廷で解決なんてこともあります。

これも国ごとで異なるので、どの国に海外転職を決める重要な要素だと思います。

## 年金
年金は働く国、社会保障協定、期間によっても違いますが海外移転するときに日本の住民票を海外転出して日本への年金支払金を免除されるようにするか、もしくはそのまま残しておいて移転先と両方で支払うかなど収入や将来の計画を考えて決める必要があります。
社会保障協定を結んでいる国に移転する場合は、将来その国から収めた期間の分だけその国の支払い基準をもとに支給されます。
支払い方法も、日本円建てだったり、現地通貨建てだったりとルールがあるようで、定年後に住む場所とは違う国で長く働くと為替変動のリスクを負うことになります。2022年のように円安になると日本円建てでもらっている場合は増えるかもしれませんが、逆に円高になるとその分減ることになります。

海外で仕事をすることについては以前も、こちらに書きましたので合わせてごらんください。

https://qiita.com/dg4101/items/e180b0d56774a021ab74#%E5%B9%B4%E9%87%91%E5%88%B6%E5%BA%A6%E3%81%A8%E7%B4%8D%E7%A8%8E


# 最後に
ITエンジニアにとって英語がどのようにキャリア形成に役に立つか、これまでの経験をもとに書いてみました。いかがでしたでしょうか。
仕事だけでなく個人的なつながりも多くなり、これからの人生に役に立つことは大きいです。何かの参考になればと思います。