ベルリンの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