ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと流れ着いたソフトウェアエンジニアのブログ

【読者質問 04】「まともなコードが書けるエンジニア」はどんなレベル?

ご質問ありがとうございます。さっそく質問から

以前のブログで、"まともなコードが書けるエンジニアは海外移住できる"とおっしゃられてましたが、"まともなコードが書けるエンジニア"とはどういったレベルのエンジニアでしょうか。一人で企業レベルのサービスを一から設計し、それをもとにJavaでスマートフォンアプリを開発し、さらにrubyでAPIやwebサービスを開発することができ、保守運用までもできてしまう、ということまで求められるレベルなのでしょうか。

ご質問者さんがおっしゃっているブログ記事はこちら。
まともなコードが書けるエンジニアならどこでも海外移住できるという単純な理由

ご質問に書かれている技術範囲はちょっと広すぎる気がする。例えばウェブ系の場合はフロントエンドかもしくはバックグラウンドに分けて、そのどちらかで専門性を発揮して活躍できるレベルとなる。

これらのエンジニアレベルを最もてっとり早く把握する方法はターゲットにしている国のIT企業が出している求人票を読むこと。求人票には「**ができる人を求む。給料は**出す」となっているので一番分かりやすい。

例えばこんなの。以下にあるのはググってヒットした、ロンドンで募集しているシニアRubyデベロッパーのポジション。たまたまヒットしただけ。転職エージェントが出してる求人票だし、この会社の詳しいことまでは知らない。
IT Job: Senior Ruby Developer London
きっとそのうちにこのリンク先の求人票も消滅するだろうし、内容をここにコピーした。

Up to£80K

The Company

Award winning, cutting edge technology company developing revolutionary software within the healthcare industry. Located in central London in a brilliant, open plan space surrounded by experts solving complex AI challenges.

ヘルスケア産業に従事している企業でロンドン中心部にあり、と。AIなんてキーワードを入れてるあたりが「うちはイケてますアピール」を感じる。
で、給料がUp to£80Kだから日本円換算すると最低でも年収1100万円から1200万円ぐらい。

The Role

You will be working within the Core development team developing across a multitude of different web applications with the overall aim of making healthcare accessible to everyone, everywhere. The challenges you face will have a heavy focus on making scaleable solutions throughout with bullet proof tests along the way.

An opportunity to work revolutionary projects surrounded by talented people, solving real problems which will make a real difference in the world.

Your Skills

– Commercial experience in Ruby. You should be comfortable with Ruby outside any frameworks.
– Have knowledge of a Ruby server side framework preferably On Rails.
– Good knowledge of databases.
– Strong knowledge with designing API’s.

Nice to haves:

– Experience of AWS
– Experience with Chef
– Experience with micro-services environment

ヘルスケアサービスに関してスケーラブルなシステムの構築をしてくれ、と。
求めるスキルはRuby、Rails、データベース、API設計。もう普通なバックエンド技術といえる。

求職者に持ってて欲しいスキルはAWS、Chef、マイクロサービス、となっている。

これはあくまで1例でしかないが、求められている技術がそこまで多義に渡っていないことは読み取れる。質問者さんが言うような「ひとりで全部やれよ!」のような環境でないことは確かだ。この例にあるようにバックエンドを設計から保守まで見る、というのが今の英語圏では一般的な募集要項だと思う。フロントエンドでも同じ。どちらかの技術をしっかり持っていれば十分。

だからと言ってこのポジションへの応募とオファー獲得が楽勝とは思わない。オフィスがロンドンという魅力的な大都市にあることから応募者は世界中から来ることはカンタンに予想できる。英語ができてRailsもできてAWSが使えてChefでレシピが書ける奴なんて腐るほど居る。それに1200万円の値段が付けば、同様のスキル持っているのにロシアとか東欧でその1/10の値段で働いているエンジニアが「オレも行ったろか」と考えない訳がない。ライバルはそういう連中になる。

ポジションの名前がSenior Ruby Developerとなっていることから、Juniorレベルの面倒を見る役割も求められる。Juniorの技術スキルはまだ入門者レベルだったとしても、地元のイギリス人とかだと英語はネイティブになる。そんな英語ネイティブなエンジニアに対して「君のコードのここはちょっと直した方がいいと思うんだよね」と言った後、イギリス訛の英語でまくし立てるように「え?なんで?オレとしてはこれこれはこういう意図でこっちの方がいいと思うんだけど、なんで直した方がいいと思うの?なんでよ?ハッキリ言ってくれる?ぜひ参考にさせていただきたいから」となってもビビらないでしっかり英語でご指導差し上げるだけの態度も必要になる。

それにAWSとかChefってひとことで言ってるがこれらを本当の意味で習得するのは至難の業だ。なのでアレもコレも技術習得しなければと思わず、ある程度は絞った範囲内で技術習得した方が効率的。そのためにはターゲットの都市の求人票を検索して、しっかり市場調査していけばおのずと道筋は見えてくると思われる。

以上が「"まともなコードが書けるエンジニア"はどんなレベル?」の回答でした。ぜひググっていろんな求人票を見てください。その後、この記事みたいにCV送ってスカイプ面談でもしたらもっと分かると思いますよ。

tango-ruby.hatenablog.com
tango-ruby.hatenablog.com
tango-ruby.hatenablog.com
tango-ruby.hatenablog.com
tango-ruby.hatenablog.com

【読者質問 03】シンガポールからベルリンに移った理由

ご質問ありがとうございます。ではさっそく質問から

シンガポールからベルリンに移られた理由がいまいちよくわかってないので教えてください。

ご質問者さんはコメントに「シンガポール転職を考え中」とあったので質問を「シンガポールで嫌なことがあってベルリンに移住したのか?シンガポールは住むのにおすすめできない国なのか?」と言いたかったのかも、と深読みした上で回答する。
シンガポールにはまったくイヤなことは無かった。シンガポールは私にとって今でも世界で最も住むにはいい都市のひとつ。清潔で治安も最高に良く、医療、教育、どこをとっても最高レベルに充実している。ただ「他にもいい都市があるんじゃね?」と考えて移住したのがベルリンになる。

私の経歴をひとことで言うと、日本で社畜エンジニア→シンガポールのITスタートアップを数社渡り歩く→ベルリンのITスタートアップ、となる。

まず日本から家族と共に住まいをシンガポールに移した時の感想はとにかく目に入るもの、出会う人達、その人種、考え方、話す内容、食事、職場環境、全てが異なり新鮮で楽しかった。物事の考え方が急拡大していくのが自分でも分かった。自分とまったくバックグラウンドの異なる人達と言葉を交わした際のメリットは計り知れない。外国の人達と積極的に話しもしないで「アメリカ人は**」「中国人は**」なんてイメージだけで言ってる人はちょっと人生を損していると思う。この辺りのことはこちらの記事にも書いた。
シンガポールに暮らして、シンガポールを拠点に周りの東南アジアの国々をヒマさえあれば旅行しまくった。そうして色んなことを経験するにしたがって、シンガポールを拠点とした生活に心の底から満足していた。

それと同時に同僚のITエンジニア達の国を転々と移動する生活スタイルを見ていて「現代のITエンジニアというのはどこでも住む国を選べるのだな」ということが分かってきた。そうなると「シンガポールに満足しているが、私と家族にとってシンガポールが地球上でもっともいい国だ、なんて言えるのか?」と疑問に思うようになった。旅行ではなく、じっくり住まいを置いて住んだ国が日本とシンガポールのたった2カ国だけで、一体なにが分かるのか、と。

元々がケチな根性も手伝って英語ができるITエンジニアなのに2カ国での居住経験しかないのはもったいない、と思うようになった。
以前ロンドンのホテルにチェックインする際に別の老夫婦もチェックインするところだった。ホテルの人が「これ朝食券です」って券をその老夫婦に渡そうとしたら「いや、私らはいつも朝食は食べないの、結構ですのよ」とか言ってるとこを目撃した。もうタダならなんでももらう私にとっては一生ありえないセリフだった。
まーとにかくケチな性格もあって、いろいろ移住しないと損と思うようになり、次の行き先を家族と共に探しだした。

大きく考えて今後の経済圏はだいたい3つに分かれる。北米、EU、中国の3つ。中国をはじめとするアジア圏はシンガポールで十分堪能したので、次は異なる経済圏を考えた。アメリカは個人的にニューヨークに憧れがあった。これは単なる憧れ。しかしどこまで調べてもアメリカの医療制度と教育制度(大学に入る前)が壊滅的にしか思えないので辞めた。
で、残るはEUとなった。私の予想では今後30年ぐらいでEUはひとつになると考えていた。EUという単位で見るとかなり巨大な経済圏になる。混乱がありながらもひとつになりつつあるEUを最も体験できるのはドイツのベルリンかな、ということでベルリンを候補にした。よくよく調べてみると医療制度や教育制度もそれなりで、家族からも「じゃあとりあえず行ってみるか」となり、職を探して応募してオファーもらって移住した、となる。

ベルリンに来てみて感じたのは来る前に予想していた「今後30年ぐらいでEUはひとつに」というのは半分ぐらいは間違っていたな、ということ。ある階層の人達にとってもうEUは本当の意味でひとつになっていた。国際都市ベルリンに暮らす多国籍な同僚エンジニア達の意識に関することなので、文章にするのが難しいが結論だけいうと「彼らにとっては国境がほとんど意味無さそうに見えてしょうがない」ということだ。

いろいろと移住の理由と並べたが、実際のところは行ってみないと分からない。分からないから面白そうだし来てみた、というのが本当のところ。そういう予想もしてなかった出来事との出会いが海外移住の楽しさなので、今後もいろいろ移住してみたいと思っている。これが私のベルリンに移った理由でした。

ご質問あればぜひこちらから! しばらく質問箱は閉じることにしました。


ひとつのところに落ち着かずいろいろ動き周る人の代表と言えば高城剛。多動日記を読むと「この人はなんでこんなに移動してんだよ」の素朴な疑問に少しは答えてくれている。もう目次を見ただけで楽しい気分にさせてくれる。私の中では高城氏の書籍の中でこれがベスト。またいつか書評書こ。
目次がこれ。これだけあっちこっち行って元気なオッサンだなー、とただ感心する。
f:id:tango_ruby:20170707205923p:plain

本書より

「なんでそんなに旅行に行くのか?」と聞かれることもあるが、逆に聞きたい。「いったい、なぜ、同じ場所にいるのか?」と

高城剛

tango-ruby.hatenablog.com
tango-ruby.hatenablog.com
tango-ruby.hatenablog.com
tango-ruby.hatenablog.com

【読者質問 02】日本と海外のエンジニアの「平均的な技術力」に違いはあるか?

ご質問ありがとうございます。ではさっそく質問から

ブログを読ませていただいた限り、面接でプログラミングテストをされることが一般的なようですが、海外のエンジニアの方は、普段からアルゴリズムの知識、ネットワークの知識、コンピュータの知識について詳細に語れるくらいの知識を持っているものなのでしょうか。日本のエンジニアと海外のエンジニアの「平均的な技術力」にどのような違いがありますか。

知識の有無に関しては日本と英語圏のエンジニアの間にそれほど違いがあると思ったことはない。優秀な人達やそうでもない人達が混ざり合っているのが社会だからだ。しかし人はそれぞれの環境に合わせて最適化されるので「環境の違いがエンジニアひとりひとりの違いに色濃く出ているなー」というのが私なりの回答になる。

まず質問の前半部分にある「色んな知識を語れるぐらいか?」について。どれぐらい語れるかにもよるが、普通にITエンジニアをしている人でアルゴリズムが一体ナニなのかまったく知らない、なんて人は日本にも英語圏にもほとんど居ないだろう。ひとりひとりのエンジニアと向き合って話せばそれが日本人でもアメリカ人でも「よく知ってる奴も居れば知らない奴も居る」というのが実情。
元Googleエンジニアに「やっぱりGoogle社内ってのはめちゃくちゃに優秀な奴ばっかりか?」と聞いたことがあるが、その率直な答えは「いや、そんなことねーよ。平均すれば技術に長けた人が多い会社であることは間違い無いが、なんといっても大企業だし従業員数が多いんだ。中には『なんでこの人がグーグラーなの?』ってのも居るって」だった。感覚値なので真意を確かめる術は無いが、たくさん人が居ることは様々なレベルの人が居る、ということなのだろう。
したがってひとことで「海外のエンジニア」と言ってもレベルは様々です、が回答になる。

質問の後半部分の「技術力の違い」について。これは技術レベルの高低ではなく、種類の違いを感じる。なぜならエンジニアが置かれている環境が違うからだ。英語圏のエンジニアの労働環境が日本のと異なる点は大きく言うと以下の3点。

  1. できなければクビが普通にある
  2. ジョブスコープが決まっている
  3. SEがいない

それぞれがそのまま英語圏のエンジニアの特徴にも言い換えられる。

1) できなければクビが普通にある
できない人はクビになってしまうので、極端に技術力が無いのになぜがずっと在籍している人というのを見たことがない。こうして文字にすると「なんで技術力が無くてエンジニアチームに在籍してる奴が居るんだよ?」と当然な質問が出てきそうだが、少なくとも私が日本に居た時は確かにそういう方が居た。「ちょっとこの人ってエンジニアに向いてないな」という人が居て、それでも不思議なぐらいにクビにならずに済んでいた。というか日本の会社である朝出社したら同僚がクビになって消えていた、なんてことは聞いたこと無かった。ある意味で日本的雇用のいいところかもしれないが英語圏では普通にクビがある。なんでもお構いなしにばんばんクビを切ってくるなんて無慈悲な世界ではないが、あることはある。したがって英語圏では極端にデキない人というのは無い。

2)ジョブスコープが決まっている
入社する前からジョブスコープという「あなたにはこれをやってもらいます」が決まっているので、まったく畑違いのことを頼まれることは少ない。そのためいわゆる英語圏のエンジニアは専門バカ的な感じがある。ウェブ系の場合、フロントエンドとバックエンドのエンジニアは違う人になっている。iOSとAndroidをひとりのエンジニアが両方見ることはあったが、ひとりでフロントからモバイルアプリ、ウェブ、バックエンド、インフラまで全部やります、って人には会ったことが無い。でも日本のブログなんかにあるエンジニアの経歴にはそういう全方向OKです!みたいな方が居てちょっと感心してしまう。
英語圏でそういうマルチな能力をまったく必要としていない訳ではないと思う。しかし専門性があって、その中で能力を発揮して欲しいという意図は英語圏の方が強く感じる。
日本人の友人で日本の大手衣料系会社で店舗管理をやっていた奴がいて、そいつから「今度、人事部に異動することになったんだよ」と聞いてなんかすごいびっくりした。こういうのは英語圏ではあり得ない。店舗管理の専門性と人事の専門性は明らかに違うし、もし人事部に人が足りないのなら、外から人事の専門性を持った人材を採ってくるのが英語圏のやり方だ。社内の人間を別部署に異動させて補うという発想が元から無い。エンジニアについても一緒。「次からSwiftが必要になるから、勉強しとけ」なんて言われたことも言ったこともない。そうなったらただSwiftが今日からできる即戦力ある人を雇うだけ。
そんな背景もあってエンジニアはちょっと専門バカ的になってしまうのだろう。
スタックオーバーフローにあったエンジニアの給与調査で肩書に「フルスタック」の文字が入ると給与が低くなる傾向がある、とデータが出ていた。その理由もなんとなくこの辺りにある気がする。

3)SEがいない
SEは日本だけに存在する職種で英語圏には無い。こちらの記事に詳しいことは書いたが、それぞれのエンジニアが受け持つ範囲が日本で言うところの上流から下流まで全てになる。コーディングの知識が無い人が誰かに「こういう機能を実装しろー」と言って仕事が完結するポジションは無い。なので「エンジニア=専門の範囲内において設計から保守まで全部見ることができる人」となる。ビジネスよりの人が「こういう機能があるべき」と言ったとしてもエンジニアがコード書いている途中に「おいおい、そんなモン要らん。こっちの方がいいんだ。なぜなら。。。」とやってる場面がよくあるし、そうやらなければならない。

要は環境がこんな感じなのでそこで生活するエンジニアもそれに合わせている。当たり前すぎるので全員が英語できる、というのは省略した。(そこが一番大きな違いかも。。。)
日本と海外のエンジニアの「平均的な技術力」に違いはあるか?の回答でした。

ご質問あればぜひこちらから! しばらく質問箱は閉じることにしました。


海外転職の情報収集はこの本がいちおし。書評も書いた。

tango-ruby.hatenablog.com

tango-ruby.hatenablog.com

tango-ruby.hatenablog.com

tango-ruby.hatenablog.com
tango-ruby.hatenablog.com