Subscribed unsubscribe Subscribe Subscribe

ジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと家族と共に流れ着き、ベルリンのスタートアップで働くソフトウェアエンジニアの日記

仕事で一生コード書いててもいい。ただし日本以外に限る

日本以外でならコードを書く仕事をずっと続けていたいと考えている。

ソフトウェアエンジニアという職に対する待遇と状況が日本と英語圏ではまったく異なるというのが大きい。元からコードを書くことが好きでオモロイと思っているのがあるが、そんな私でも、もし日本でエンジニアをしていたら「なんとかしてコードを書く仕事から脱出しよう」と考えていただろう。なぜ海外に出た途端に考えが変わったかを書く。

まず日本では給与がありえないぐらいに低くおさえられている。日本の技術力は高く、すごいエンジニアがたくさん居る。でもそんなすごいエンジニアでさえ「?」というような額の給与で働いている。

一方アメリカのソフトウェアエンジニアの年収の中央値が1180万円。イギリスが1021万円。現地の物価や家賃の高さなどを考慮しても明らかに待遇がいい。シンガポールのデータはないがどう考えても日本のそれとは比較にならない。
このようなデータを検索するといつも「平均値」ではなく「中央値」で示している。理由はカンタン。一部の人はとんでもない額をもらっており、平均値にしてしまうとムダに高くなってしまうからだ。そしてもう一度言うがこの1000万円以上の年収は中央値だ。あくまで平均的なスキルのエンジニアが稼ぐ額。もしあなたが「オレのスキルは平均より上だぜ」と考えていて、それが本当なら1000万円以上稼いでいても、英語圏ではまったく不思議ではない。それほど待遇に差がある。

日本ではトンデモナイ額を稼ぎだすエンジニアの話なんて、会社を創業して売り抜けた創業者が実は元エンジニアだった、ぐらいの話しか聞かない。

理由はカネだけではない。こちらではソフトウェアを設計してコードを書くことの専門性を活かした運営がされている。海外と日本のエンジニアを比較した議論では給与待遇の話が多いが、この運営体制の方が問題としては根深いと感じる。

私がかつて日本でエンジニアをしていた際には「上流ほどエライ。下流は文字通り下っ端。」という発想があった。プログラマーというのは下流のエンジニアで、詳細仕様書に書かれた通りにコードを書けばそれだけでOkだ、と。この発想の根本には仕様書をコードに落としこむなんて誰でもできるカンタンな仕事、という発想がある。

これにはまったく賛同できない。
優秀なエンジニアとダメなエンジニアの生産性は何十倍にもなる。(ステーブ・ジョブズは200倍と言っていたが)これは今までの私の実感と一致する。シンガポールではお土地柄から全世界から様々な個性のエンジニアと遭遇する。どの会社もカスを掴みたくないので、採用にはある基準をもって厳選するのだが、それでもひょんなことから滑り込んでくる人がいる。それがたまたま技術的に発展途上でスキルレベルと職務が合っていなかったときの、その生産性の落差は強烈だ。

おそらくそんな経験も相まって「コードを書くということがカンタンな仕事ではない」という共通認識が誰にでもある。
コードを書かずに詳細仕様書が作れる人なんて居ない。どんなに優秀な人であってもこれは無理。シンガポールに来てからは詳細な仕様書なんて見たことがない。ほとんどは全体的な方針とAPIを決定して、まずコードを書く。書き始めると仕様を変更した方がいい箇所が出てくる。で、エンジニアが独自の判断で変更をかけていく、という流れだ。カンタンに言うと「作りながら変更しながら完成させる」という感じだ。

上流様から「テメー、ぷろぐらまーのクセに上流様が書いたキレいな仕様書を変更すんじゃねー」なんて絶対に言われない。
むしろそうしてコードを書く人が考えて、よい設計に改良していくのが本来の仕事だからだ。コードを書くことで見えてくること、改良した方がいいことが山のようにあり、こうした仕事の中で各エンジニアの生産性の違いが大きくでる。
シンガポールで各国のエンジニアと働くようになって、見た目は短パンとTシャツの兄ちゃんでいつもヘッドホンをつけてMacBookのキーを叩いていて日本的な基準で言うと遊んでいるだけにしか見えない奴が、実は驚くべき成果を上げている例は何度も目撃してきた。

日本で働いていた時にはコードを書く人が「この仕様をこういう風に変更した方がいいんだよ」と提案している場面に遭遇したことが1回も無い。もう構造的に建築ゼネコンのように上流から下請け構造になっているから不可能なのだろう。管理者にしてもゴチャゴチャ文句言うプログラマーよりも黙って納期守って言われた通りにだけコード書く奴の方が使いやすいはずだ。

このような話をした際の上流様の反論として以下のようなのがあった。
「例えばサッカーの監督の場合。監督は選手と同じスキルともっていなければダメってことではないでしょう。監督には監督の仕事があって、その監督の仕事でスペシャリティを発揮しているのです。ボールを蹴るのは3流であっても、監督としては一流であれば問題ないのです。」と。

これ指摘しているポイントが違う。この例えで言うなら
「その監督はボールを蹴るどうこう以前に、サッカーを見ないで野球見ながらサッカーチームの監督をしてますよ。『本来の仕事とその成果に目を向けていないこと』に気付いてすらいない」というのが私の言いたいことだ。

ただ、これをホントの意味で理解するには想像力がある人には分かるが、想像力が無ければ実際に英語圏に来て見てみなければずっと分からないのかもしれない。

日本の技術者が海外でエンジニアをすること、もしくは挑戦すること、に基本的にいつも賛成。

英語と技術を学ぶにはこちらの本オススメです。
tango-ruby.hatenablog.com