機械学習エンジニアと名乗れるようになった

フルタイムR&Dができる部署に移った。

これでちゃんと機械学習エンジニアと名乗れるようになった。

よろしく。

 

AI(人工知能)レコメンドサービスのシルバーエッグ・テクノロジーに入社して1ヶ月経った

転職して1ヶ月が経ちました。

初めての転職でしたが、希望通りの会社に転職できました。

 

転職先はシルバーエッグ・テクノロジー株式会社です。

9月27日にマザーズに上場したばかりの最近何かと話題の会社です。

どういうことをやっているかというと、AI(人工知能)・機械学習を応用したリコメンドサービスを提供しています。

私はそこのPythonエンジニア・ウェブデベロッパーとして入社しました。

そこで私の業務スタイルはなかなかユニークなのでブログに残そうと思いました。

 

1.リモート開発

シルバーエッグは大阪・東京・ヨーロッパにオフィスを構えてるわけですが、私はその中の東京にいます。シルバーエッグの本社は大阪であり、大阪には多くの優秀なエンジニアがいるのですが、東京支部にはセールスやコンサルの人が大半です。(東京支部にも、もちろん機械学習界隈で有名なあの人とかいるわけですけど。)

そして、ウェブデベロッパーとして東京支部にいるのは私一人だけなので基本的に開発はリモートです。ビデオ会議は週2回以上は行い、情報の共有や方針を決めています。また、プロダクトのリリースは週2回のペースなのでプロジェクト管理ツールのチケットやチャットなどでかなり頻繁なやり取りをやっています。

一人だけリモートだと向こうの温度感とかわからないんじゃないの?って思うかもしれません。しかし、そんなことはありません。なぜかというと、東京オフィスと大阪オフィスには大きなスクリーンモニターがあり、互いのオフィスの様子が見えるようになっています。ですので、向こうのオフィスでざわついていると何か起こってるなってわかるわけです。リモート開発で不便だと感じたことはありません。

 

2.飛び交う英語と日本語

私の所属しているチームには当然日本語がしゃべれない人もいるのでビデオ会議やチャットなどは基本的に英語です。前職では業務で英語を喋ったり書いたりする機会が全くなかったので少し不安でしたが、割と何とかなっています。変な英語でも、案外伝わるものなんだなって(笑)コーディングやAPIの設計の方針などで議論していて激しくなってくると私はめちゃくちゃな英語を使ってしまうのですが、私の意図を理解して適切に返してくれます。(あとで自分のチャットのログなどを見て死にたくなることも多いですが。)

ただ、もちろん他のチームやコンサル・セールスの人などは英語を使う必要がない人もいるわけです。彼らがプロダクトのフィードバックを返してくれるわけですけど、プロジェクト管理のチケットを日本語で書くわけです。なので英語のチケットと日本語のチケットが入り混じっています。たまに気付いた人が英語の翻訳をチケット内に書いたりしています。また、ビデオ会議などでも誰かが日本語を喋り出した途端に日本語で議論が続いたりして日本人じゃない人は大丈夫かなって思っていたら、その人が急に日本語で割り込んでいて続いて英語で喋り出すのでその後から英語になるというカオス議論を経験したこともあります。個人的にはこういう感じは嫌いではないのですが、自身の英語力はやっぱり上げないといけないとは思ってリスニングや単語を復習したりなどはしています。英語力は今後の課題です。

 

まとめ

英語を使ってリモート開発という、なんかシリコンバレーにありそうな感じのスタイルを日本に居ながら体験してるようなものだと私は思っています。

あと、シルバーエッグについてはあまり言及しませんでしが、社長がエンジニアということもあってエンジニアが尊敬されている雰囲気が社内にあり非常に快適な環境です。ただ、自分はエンジニアと言ってプログラミング歴もまだ3年に満たず、社内でも一番若いヒヨッコなのでこれからも精進していきたいと思います。あと、英語も!

 

 

『エンジニアとして世界の最前線で働く選択肢』の感想

竜盛博さんの『エンジニアとして世界の最前線で働く選択肢』を読み終わったので感想を書きます。

 

エンジニアとして世界の最前線で働く選択肢 ~渡米・面接・転職・キャリアアップ・レイオフ対策までの実践ガイド

 

どんな本か

アメリカ(主にシリコンバレー)で働くことに興味がある日本人エンジニア向けに書かれた本です。

メリットだけではなくデメリットもしっかり書いてあって、著者やその周りの人の経験に基づいて公平な立場で書かれています。皆なが気になっている日本との違いやアメリカの社会全体の雰囲気の話はもちろんの事、面接対策やビザ、レイオフ(解雇の種類)のようなテクニックや制度のことについても細部にわたって書いているのがこの本の特徴です。

そういう意味ではすでにアメリカにいる人でも興味深い内容だろうし、学べることも多いと思います。

 

気になった内容やトピック(箇条書き)

  • まず最初にアメリカに向いている人といない人の話が書いているのがちょっと衝撃的でした。こういう本や記事は大抵アメリカに行った方が良いという話になりがちですが、この本は優秀でもアメリカの雰囲気に合わない人がいるのでそういう人はアメリカに行く必要はないということが書いていて本当に公平に書いてるなと思いました。
  • "シリコンバレーメジャーリーグ"という例えが個人的には好きでした。どういうことかというと、シリコンバレーは雇用の流動性が高く、会社を何回も転職をする人もいれば引き抜きなども多くあります。これは野球のメジャーリーグに例えるなら、会社が個々のチームで社員が選手ということです。社員(選手)はシリコンバレーというリーグにまず所属し、それからどこかの企業というチームに入る。チーム間の移籍などが頻繁にあるという感じです。
  • 転職の面接テクニックを詳細に書いているのが面白かったです。電話面接ではリモートでコードを書くのでヘッドセットを使うべき、ホワイトボードコーディング面接では後で書き込めるようにスペースを空けて書くべきなどすごい細かいテクニックが書いていました。また、面接に出そうなアルゴリズムの問題なども書いていて著者の意気込みを感じました。
  • また、有名企業の面接の多くが一日にわたって数回面接するというのが辛そうでした。日本だとせいぜい1,2時間程度の面接が日をまたいで複数回ある感じでしょうか?一日中ぶっ続けで面接するのは疲れそうです。
  • キャリアについては日本と全く違う感じでした。日本だとプログラマーは35歳で定年でそのあとはマネージャーになるというのがありがちなキャリアです。シリコンバレーでは、プログラマーのキャリアとマネージャーのキャリアが別にあります。ずっとプログラマーをやって給料を上げていくことも可能ですし、申請して途中からマネージャーの仕事もやってみることもできます。なかなか柔軟なキャリアパスがあるのはいいですね。
  • 他にも日本と違うのはレイオフという解雇制度です。企業の都合で社員を解雇することをレイオフと言います。レイオフされるなんてたまったもんじゃないってイメージがありましたが、実は真逆で、数ヶ月分(多くて半年以上)の手当てが会社から出る場合があるので、余暇に使ったりのんびり転職活動をする人が多いそうです。レイオフがあることがわかると自らレイオフしてくれって頼む人も珍しくないとか(笑)
  • この話が一番好きなんですが、最後の方にアメリカから突出した企業が出てくる理由として"雇用の流動性"のおかげで良い会社には良い人材が集まりやすいからという話があってなるほどと思いました。

全体の感想

アメリカにはいずれ行きたいなと思っていたけど、あまりアメリカの制度について調べたことがなかったので非常に勉強になりました。アメリカに行きたい欲が高まってきます。次の転職くらいには考えてもいいかな?

 その他

アメリカで行われた出版記念講演会の動画を見つけたので貼っておきます。

 

本の内容も少し話しています。

 

 

『Python機械学習プログラミング』を読む。第1章、第2章

Raschkaの「Python機械学習プログラミング」の日本語版が出たので読んでいきます。

 

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)

 

第1章「データ から 学習 する 能力」 を コンピュータ に 与える

概要でした。

教師あり、教師なし、強化学習の軽い説明と前処理やPythonの話でした。

網羅的な本で強化学習の説明をしている本を初めて見た気がします。多くの場合は「ただし強化学習は除く」と注釈がついているもんですよね。

第2章「データ から 学習 する 能力」 を コンピュータ に 与える

パーセプトロン、adalineの説明とPythonでの実装でした。

irisという花の分類を例にやりました。

データはcsvがurlをたたいて取得できるようになっているのでデータの取得で困ることや面倒になることはなかったです。

データの扱いは基本的にnumpyとpandasでやります。pandasのdataframeの扱いなどはPythonでデータサイエンスやる際に必須となっているのでいいですね。

理論の説明は簡潔で分かりやすいです。数式がしっかり書いているので線形代数微積分程度の知識は必要かもしれません。また、数式とコードの対応がわかるようにコード中に数式のコメントがあるのも良かったです。

本全体を通して可視化にこだわっているので、pyplotの扱いに慣れるのにはちょうどいい感じもあります。

サンプルコードをjupyterで実行したものをgithubに上げています。

見ればどんな感じの内容かわかると思います。

github.com

まとめ

教育的に書かれているので独りでも読めますし、勉強会などの教材にぴったりかもしれません。

続きも読んでいきます。