KLab×はてな エンジニア応援ブログコンテストという企画があったので、ちょっと便乗して自分語り。
武勇伝というと大げさですが、私にとってチャレンジだったことをいくつか。
- 海外で働きはじめた
- 「死んだ」プロジェクトを復活させた
これまでに記載した内容と重複する部分もあります。ご了承ください。
日本を出るという選択
おそらく私にとって今のところ最も大きな転機は、やはり「日本を出て海外で働きはじめた」ことでしょう。
最近「パナソニック採用の8割外国人」や「楽天・英語が出来ない役員は…… (三木谷社長インタビュー)」でニュースになったり、「死ぬほど英語を勉強してきたからわかる、英語学習の限界」という記事を読んだりしたので、それと若干絡めて。
実のところ、これまでにも散々言ってきたように、英語が大の苦手で「海外で暮らす」ことが自分にとって選択肢になり得るとは、その当時思っていませんでした。
楽観主義であまりに計画性のない私をしっかりと支えてくれたのは嫁さん。移住に関しては、案外あっさりと決断してしまったような気がするのですが、綿密な情報収集と現状分析に関しては嫁さん抜きでは無理でした。
ニュージーランドの永住権を取得するためには IELTS という英語のテストで、ある基準をクリアする必要がありましたが、嫁さんの用意周到な準備のおかげで、私は IELTS の勉強だけに集中していたとも言えます。
「日本を出て海外で働く」というと人によってはものすごい前向きな挑戦のように感じる人もいるかもしれません。
私の場合、その当時住んでいた場所から「物理的に距離のある場所」で暮らさないと精神的にきついと思った……簡単に言えば、「逃げ出したかった」という面があったことだけは書いておかないといけないと思います。
ある意味切羽詰っていたので、思い切った行動を取ることができたのかもしれません。
就職するまで
ニュージーランドの永住権を無事取得し、実際に移住する前に一週間ほど下見旅行に行きました。
下見旅行では、就職活動の事始めとして幾つかのエージェントにコンタクトしてみましたが、私のつたない英語では、会ってもくれません。数名のエージェントと電話越しに話しましたが、相手が何を言っているのかよく分からない。
一人からは呆れたように「あなたの英語ではニュージーランドで働くのは無理」とはっきり言われたのだけは覚えてます。
結局就職活動以前の問題で、当面は英語を鍛えるのを第一に考えることにしました。移住してしばらくは語学学校に通ったり、地元のコミュニティスクールに通ったり……。
最初の三ヶ月は本格的に就職活動はしていませんでしたが、たまたま通学していた英会話学校では、移民向けの就職活動に力を入れていて、そこで知った移民向け就職セミナーなどは参加していました。
就職活動に本腰を入れるようになってからは
- 新聞などの求人広告に目を通す
- ウェブ上の求人サイトに登録する
- 就職斡旋エージェントに会う・電話する
- 会社に押しかけ、履歴書を置いてくる
などなど。
ニュージーランドには基本的にコネが全くない状態でした。とりあえず、上がってくる求人を嫁さんがざっくりリストアップして、その中から私が自分のスキルに関連した内容に絞り込んで応募するような作業を日々繰り返しました。
当時応募した会社は延べ数で 150 社以上になります。当時の風向きもあり、書類選考で落とされてしまって、まず土俵にも上がれないような感じでした。
面接のチャンスは突然やってきました。面接をしたい旨の電話がかかってきて、あれよと思う間もなく、決まってしまったような……。
最初の面接は、人事マネージャと開発マネージャとの面談。
技術的なバックグラウンドの確認はもちろんですが、どうしてニュージーランドに移住したのかなど、一般的な質問も……。どのぐらい話したのかほとんど覚えていませんが、一時間は話していなかったような気がします。ここで感触が良かったようで、確か次の面接の約束もしたような気がします。
二回目の面接は、技術面接。複数のシニアエンジニアを前に、プログラミングに関する技術問題を解きます。
基本的なアルゴリズムとそれに関するメモリ効率・計算量オーダーの理解など。C 言語のプログラマの募集だったので、C 言語に関する質問もありました。ホワイトボード・紙を使って説明します。
基本的な面接の流れは、今でもそれほど大きくは変わっていないようです (とりあえず、現在働いている会社では。他所の会社はよく分かりません)。
死ぬほど英語を勉強してきた方と違って、私は英語に関して半ば放棄していました。その分、技術的な方面に注力してきました。注力というか、ぶっちゃけて言うと、嫌いな英語を避けて好きなことをやってきたという感じ。
基本的に「モノ作り」が好きで、プログラミングはソフトウェアという「モノ」を作るために必要なツールの一つでした。幸運なことに世界で主流になってるほとんどのプログラミング言語は世界で共通です。
なでしこや Mind など現在現役で利用されている日本語で記述可能なプログラミング言語も存在します。日本語で記述可能なプログラミング言語というと、どうしても「ぴゅう太」を思い出してしまう、そんなベーマガ読者だった私、というのは余談です。
「プログラミング言語」は、ある種の強力な世界共通の言語です。英語を話せる人は世界にごまんといますが、プログラミング言語を理解し、記述する能力のある人は、まだまだ少ないと言えるでしょう。
幸い日本はプログラミング言語を学ぶ環境が充実していると思います。英語以外の言語で日本語ほど技術文書が手に入りやすい言語はあまりないような気がします。
もっともそれ故に英語の技術文書を読んだ時にすっと頭に入ってこなかったりするんですが……。
エンジニアとして
ソフトウェアエンジニアとして海外の現地会社に就職することができました。
英語の能力はもちろん必要で、それを向上することもきっちり求められましたが、それ以上に技術的なスキルが重要であるというのがはっきりしています。
携わったのはコンシューマ向け製品開発で、よりユーザーに近い部分を担当したことは、私にとって新鮮で刺激的でした。
思いついたアイデアはつたない英語で伝えきらないので、開発中のソフトウェアに組み込んで、プロジェクトマネージャやシステムエンジニアに直接売り込み。……「こんなのどう?」
あるプロジェクトでは、新しいユーザーインタフェースを作りこみました。
新しいインタフェースは、斬新でしたが、どうやって使うのか初見では分かりづらい。……そもそも説明が必要なインタフェースは、あまり出来が良いとは言えないのですが、スケジュール的に押しています。
ミーティング後、大体一時間ぐらいでしょうか、ちょっとしたヘルプをアニメーションで表示する機能を簡易実装して、システムエンジニアにデモンストレーション。その時のマネージャやエンジニアの笑顔は今でも覚えてます。
世界的なリセッションの影響は、辺境の地ニュージーランドにも襲いかかります。私の会社も影響を受けて、大規模なリストラがありました。
それまでにも何度かリストラはありましたが、その時は主要なメンバーもごっそりいなくなってしまうような大きなもの。社員は半数近くになってしまったでしょうか。今にして思うと精神的にきつかったみたいで、身体にもその影響がはっきり出たりしました。
リストラのあおりを受けて、進行中のプロジェクトも軒並み中止に。私がテクニカルリーダーとして進んでいたプロジェクトもキャンセルされました。
代わりにそれまで開発していたソフトウェアからフレームワークとなるライブラリ群を抽出して開発することになりました。
キャンセルされたプロジェクトは、個人でテクニカルリーダーを担当した初めてのプロジェクトなので、思い入れがありました。マネージャからは「your child」と言われたり……。
新しく担当したライブラリ群にはテスト用アプリケーションが必要で、キャンセルされたプロジェクトで使われた部分もそのテストアプリケーションの一部に組み込みで動作していました。一時、その部分は要らないから削除しようという話もありましたが、無理して削除することもないかとそのままに。
しばらくそのライブラリ群を担当していましたが、皮となるアプリケーションの仕様がうまくまとまらず、結局プロジェクト自体を見直す羽目に。そこで白羽の矢が立ったのが、キャンセルされた私のプロジェクトでした。
- すでにアルファ版として、ベース部分は動作している
- 主要部分をコーディングした私がいる
- プロジェクトスケージュールがタイト
という理由だったようです。
自分で公開しないと決めたのならともかく、自分の作ったソフトウェアが日の目を見ないことほど悲しいことはありません。やはりとても嬉しかったです。実際、嫁さんもこの時は声が弾んでいたと言っていました。
「復活」が決まってからは、仕様策定に参加したり、コーディングはもちろん、全体の進捗管理、リソース管理も必要です。リソース不足でアイコンなども私が作ったり……(これまでも小さな UI パーツは作ったりしていましたが、 私がデザインしたアイコンなどが半ば公式的に採用されてしまったのは初めて)。
プロジェクト終わりかけで決まって出てくるやっかいなクラッシュバグなどもありましたが、どうにか予定通りにリリースできました。