コードを書く仕事をずっと続けていたい、と考えている。「日本以外でなら」という条件付きで。
ソフトウェアエンジニアという職に対する待遇と状況が日本と英語圏ではまったく異なるというのが大きい。元からコードを書いてモノ作るのが好き、というのがあるが、そんな私でも仮に日本でエンジニアをしていたら「なんとかしてコードを書く仕事から脱出しよう」と考えていたと思う。ところが海外に出た途端に考えが変わった。
まず日本では給与がありえないぐらいに低くおさえられている。日本の技術力は高く、すごいエンジニアがたくさん居る。でもそんなすごいエンジニアでさえ「?」というような額の給与で働いている。
一方アメリカのソフトウェアエンジニアの年収の中央値が1180万円。イギリスが1021万円。現地の物価や家賃の高さなどを考慮しても明らかに待遇がいい。シンガポールのデータはないがどう考えても日本のそれとは比較にならない。
この年収は中央値であり、あくまで平均的なスキルのエンジニアが稼ぐ額。もしあなたが「オレのスキルは平均より上だぜ」と考えていて、それが本当なら英語圏で1000万円以上稼いでいても不思議ではない。
理由はカネだけではない。こちらではソフトウェアを設計してコードを書くことの専門性を活かした運営がされている。海外と日本のエンジニアを比較した議論では給与待遇の話が多いが、この運営体制の方が問題としては根深いと感じる。
かつて日本でエンジニアをしていた頃には「上流ほどエライ。下流は文字通り下っ端。」という発想があった。プログラマーというのは下流のエンジニアで、詳細仕様書に書かれた通りにコードを書けばそれだけでOkだ、と。この発想の根本には仕様書をコードに落としこむなんて誰でもできるカンタンな仕事、という発想がある。
これにはまったく賛同できない。
優秀なエンジニアとダメなエンジニアの生産性は何十倍にもなる。(ステーブ・ジョブズは200倍と言っていたが)これは今までの私の実感と一致する。シンガポールではお土地柄から全世界から様々な個性のエンジニアと遭遇する。どの会社もカスを掴みたくないので、採用にはある基準をもって厳選するのだが、それでもひょんなことから滑り込んでくる人がいる。それがたまたま技術的に発展途上でスキルレベルと職務が合っていなかったときの、その生産性の落差は強烈だ。
おそらくそんな経験も相まって「コードを書くということがカンタンな仕事ではない」という共通認識が誰にでもある。
コードを書かずに詳細仕様書が作れる人なんて居ない。
どんなに優秀な人であってもこれは無理。そしてシンガポールに来てからは詳細な仕様書なんて見たことがない。ほとんどは全体的な方針やらAPIを決定して、まずコードを書く。書き始めると仕様を変更した方がいい箇所が出てくる。で、エンジニアが独自の判断でガンガン仕様変更をしていく、という流れだ。カンタンに言うと「作りながら変更しながら完成させる」という感じ。ここがソフトウェアエンジニアの仕事の最も面白い部分だと思っている。
上流様から「テメー、ぷろぐらまーのクセに上流様が書いたキレいな仕様書を変更すんじゃねー」なんて絶対に言われない。
むしろそうしてコードを書く人が考えて、よい設計仕様に改良していくのが本来の仕事だからだ。コードを書いて具体的にモノを作っていく過程で見えてくること、改良した方がいいことが山のようにあり、こうした仕事の中で各エンジニアの生産性の違いが大きくでる。
多国籍なエンジニア達と働くようになって、見た目は短パンとTシャツの兄ちゃんでいつもヘッドホンをつけてMacBookのキーを叩いているだけで、日本的な基準で言うと「遊んでる」にしか見えない奴が、実は驚くべき成果を上げている例は何度も目撃してきた。
日本で働いていた時にはコードを書く人が「この仕様をこういう風に変更した方がいいんだよ」と提案している場面に遭遇したことが1回も無い。もう構造的に建築ゼネコンのように上流から下請け構造になっているから不可能だった。管理者にしてもゴチャゴチャ文句言うプログラマーよりも黙って納期守って言われた通りにだけコード書く奴の方が使いやすい、となっていた。
このような話をした際の上流様の反論として以下のようなのがあった。
「例えばサッカーの監督の場合。監督は選手と同じスキルを持っている必要は無いのです。監督には監督の仕事があって、その監督の仕事でスペシャリティを発揮しているのです。ボールを蹴るのは3流であっても、監督としては一流であれば問題ないのヨ。」と。
これ指摘しているポイントが違う。この例えで言うなら
「その監督はそもそもサッカーで勝つための監督をしていない。監督のプロフィール写真をフォトショ加工して見栄え良くすることに一生懸命になってるだけ。本来の仕事とその成果に目を向けましょうよ」というのが言いたいことだ。
ただ、これをホントの意味で理解するには想像力がある人にはパッと分かるが、想像力が無ければ難しいのかもしれない。
こういうことにいち早く気が付いている人達は日本国内でもイケてるスタートアップとかにさっさと転職しているような気がする。
もしこれをお読みのエンジニアの方で海外転職をお考えならばこれだけは断言できる。日本でコードも書かずにエラそうにしてるだけの上流様よりも、コード書いているあなたの方が海外の人材市場においては何万倍も有利ですよ、と。海外では詳細仕様書いてエラそうにするだけのポジション、なんて存在しないからだ。
こちらに海外転職をお考えのエンジニア向けにいろいろ記事書いたので、ご興味があればぜひ。
Entries in 海外転職 category
日本の優秀な技術者が海外でエンジニアをすること、もしくは挑戦すること、に基本的にいつも賛成。