27歳で初めてコードを書く
データサイエンスの受託会社への転職は意外なほどあっさり決まった。初めての面接で内定が出た。
広告代理店のネームバリューと優秀な友人の職務経歴書の雛形のおかげもあるが、当時、AIブームでとにかく人手が足らず、猫の手も借りたい状況だったことが最も大きな理由だ。
その会社は3ヶ月の契約社員でデータ解析が出来そうな者を採用し、3ヶ月やらせてみて使えなかったら首を切るという非常にドライで合理的な採用をしていた。
そのため、最初は契約社員での採用だったが、そんなのは関係ない。
データ解析が学びたくて学びたくて仕方ないのだ。3ヶ月でクビになったとしてもその間、勉強もさせてもらって、お金ももらえるのだ。プラスしかない。このチャンスを逃すわけにはいかない。
2週間の研修で、コマンドの使い方、SQL、Pythonの基礎コード、機械学習の各種アルゴリズム、Rの基礎コードを詰め込んで覚えていった。
27歳で人生で初めてプログラミングに関わった。大学の授業で一般教養でC言語の授業を受けたことはあったが、意味がわからず、先輩の回答を丸写しして単位を取ったことがあるくらいしか、触れたことはない。
本当に、、、、全く理解出来なかった。
コマンド・・・・なんだそれは。。。ターミナルという存在がわからない。
for文ってなんだ?繰り返す、、、?
意味が分からなかった。
そんな状態なのに2週間の研修期間が終わると案件に配属された。
最初は、ソーシャルゲームの離脱者を解析する案件。言語はRだった。
RとPython、どちらも出来ないが、まだとっつきやすかったのがPythonだったのに、、、、
しかし、泣き言は言ってられない。とにかく与えられたタスクをこなすことだけを考えた。
まずは離脱者と継続ユーザーの行動を特徴量にしていくタスクが割り振られた。
離脱者と継続ユーザーの行動にどのような差があって、離脱してしまうかを機械学習で解析するために、各行動をダミーデータにしていくのだ。
それぞれの行動を0,1のデータに直していく。
離脱者は、ゲームのクエストに行って、モンスターを強化して、ガチャをして、離脱したという結果があったときに、それを{0,0,0,1,0,0,1}というような数値ベクトルで表していくことで、解析ができるようになる。
数値で表せることができさえすれば、機械学習アルゴリズムが、表現した数値ベクトルはどこが特徴的なのかを解釈できるように計算してくれるのだ。
こんなのいきなり自分の頭で考えても分からない。そういう時はどうするか。人の頭を使うんだ。ここでは広告代理店の経験が生きた。とにかく周りに話しかけて、コミュニケーションを取って、分からないことをうまく聞き出すんだ。
自分である程度考えて分からなかった、人に聞く。人に聞きすぎても嫌がられるので、ランチをご馳走したり、お菓子を買ってきたり、差し入れをしたりすることで、嫌われないようにしていた。
そうして、配属されて1ヶ月ほどこのプロジェクトで前処理と呼ばれる作業を、人に助けてもらいながら、なんとかこなすことが出来た。
しかし、なんとか振られたタスクが多少出来たくらいでは評価されない。
次の案件ではもっとできるようにならなければ、契約を切られるというプレッシャーがあった。