たいむかぷせる2

何年か後に見なおして頭を抱えてくなるものたちのあつまり

機械学習エンジニアからソフトウェアエンジニアになって1年経った

はじめに

 「そういえば,来期は1年間ソフトウェアエンジニアをやっていただきたいんですが」と当時のマネージャーに言われてから1年になる。その頃の私は機械学習エンジニアとして着実に成長はできていたのだと思う。実際に機械学習プロダクトを本番環境に投入することができていたし,機械学習のモデル構築以外にもデプロイ周りやインフラ周り,データベース周りといった知識も身につけることができていた。けれど「もっとユーザーに近いところで仕事がしたい」という思いも持っていた。

ユーザーに近い機械学習プロダクトのむずかしさ

 機械学習プロダクトをユーザーに近いところ,つまり実サービスに投入するのはむずかしい。そもそも機械学習プロダクトを形にするのにはとても長い時間がかかる。機械学習で解くのが適切そうな課題を見つけて,データを集めて,いくつか実験をして,モデルを構築して,それをデプロイする。それだけで数週間から長くて数ヶ月はかかる。クックパッドでは一連のフローがかなりやりやすくなっていた。それでも2週間単位で改善サイクルを回すサービス開発とでは,大きくスピード感が異なる。
 また「機械学習で解くのが適切そうな課題を見つける」のもとてもむずかしいことだった。サービス開発側に課題は山ほど転がっているけれど「機械学習で解くのが適切そう」かどうか彼らはあまりよく知らない。逆に機械学習側は「どのような課題があるのか」をあまりよく知らなかった。
 エンジニアとして「使われもしないものをがんばって作ってしまう」のはなにより悲しいことのひとつだと思う。そして機械学習エンジニアは,そういうことが起こってしまいがちなエンジニアでもある。そんなわけで「サービス開発側のスピード感を身につける」や「サービス開発側の課題発見のためのドメイン知識を身につける」あたりを目的として,とりあえず1年限定でソフトウェアエンジニアをやってみることになった。

サービス開発のスピード

 私のキャリアはもともとウェブエンジニアからスタートしていたので,またソフトウェアエンジニアをやったとしてもそんなに困難ではないだろう。そう思っていたのだけれど,その甘さはことごとく崩されていくこととなった。今年1年はずっとiOSアプリのためのAPIを作るためのサーバーサイドエンジニアをしていた。ウェブエンジニアをやっていたとはいっても,スマートフォンWeb用の画面を作るのと,アプリのためのAPIを作るのとは,かなり頭の使い方が異なってくる。
 gRPCやElasticsearchといった新しい技術のキャッチアップは大変だったし,裏側のSQLに気を配りながらRailsActiveRecordでデータベースにクエリするのはとてもむずかしかった。またiOSアプリは日々大量のアクセスが来るため,ボトルネックとならないように適切にデータベースアクセスをしたり,インフラ周りの構成を変更したりするのもかなりむずかしかった。
 「サービス開発特有のスピード感」に慣れるのにもとても苦労した。機械学習プロダクトは研究開発的な側面も多いため,明確に納期が設定されないことも多い。ゆっくり色々なデータを引っ張ってきたり,色々な手法を試したりしてモデルを少しずつ改善していくのは楽しかったけれど,逆にいえばずるずる開発を続けてもあまり問題になることはなかった。でもサービス開発ではそうもいかない。だらだら開発しているとリリーススケジュールが迫ってきてしまう。

チームで開発するということ

 チーム開発であるということにもとても苦労した。機械学習プロダクトを開発していた頃はほとんどひとりでコードを書いていたけれど,実際にサービス開発をしているとそうはいかない。ひとりでコードを書いていれば,レポジトリのほぼ全容を把握しているので好き勝手にコードが書けた。けれどチーム開発では適切にコードレビューを受け,コードレビューをする必要がある。
 コードレビューが必要なのは「コードを書いた人以外に最低1人がそのコードをメンテナンスできるようにする」という考え方にはとても救われた。それまではわからないしなんかよさそうだからと安易にLGTMをしてしまいがちだった。けれど「ここはこういうことですか」と聞いたり「ここはこう書いたけれど自信がないです」と書いたりすることで,コードレビューが効果的にできた気がする。
 iOSアプリエンジニア,サーバーサイドエンジニア,デザイナー,ディレクター と協力しながらアプリの機能を実装していくのもとてもむずかしかった。デザイナーもディレクターも仕様や機能についてすべて把握しているわけではないので,GitHub issueベースの内容から必要なところは再度聞いたり,場合によっては一部を諦めたりして実装を進めていく必要がある。

ソフトウェアエンジニアは楽しい?

 そんなわけでサービス開発の「スピード」と「チーム開発」のむずかしさに苦しんでいた頃にCTOから「ソフトウェアエンジニアは楽しい?」と聞かれた。楽しいか,と言われるとどうなのだろう…と少し答えに詰まってしまった。たしか「楽しいというよりは苦しいです」という風に答えた。けれどこの苦しさはずっと続くようにも思えなかった。ソフトウェアエンジニアリングに限らず「新しいことを身につける」というのはだいたいそうで,はじめのうちは苦しいけれど少し経てば楽しくなるんじゃないか,そんな風にも答えた。
 エンジニアにとって「楽しい仕事をする」というのはなにより大事なのだと思う。仕事が楽しければ,勉強を勉強だと思わずに,それこそ休日にいくらでもコードは書けるし,日々の仕事も捗っていくはずだ。そうこうしているうちに突き抜けていってスペシャリストになる,というのがしあわせな働き方だと思う。けれど苦しみながらソフトウェアエンジニアをするのはそこまで「楽しい」とはいえないんじゃないか,という疑問もあった。
 ここでソフトウェアエンジニアを諦めてまた機械学習エンジニアに戻るという選択肢もあった。けれどその選択肢は選ばなかった。このまま中途半端な状態でソフトウェアエンジニアをやめてしまうのは悔しかったし,ようやくドメイン知識も開発力もついてきて,やっと「やりたいこと」ができるようになってきそうだったからだ。「やりたいこと」いうのは,上で述べた「楽しい仕事」に近い場合が多い。

実際にユーザーに届くということ

 そんなことを考えているうちに,大規模なアプリのリニューアルの開発に加わることになった。今まで機械学習エンジニアをしていた頃はほとんど触れることがなかった「ユーザーに直接触れる部分での開発」だった。
 「スピード」にはあまり自信がなかった。けれど迫りくるリリーススケジュールの中で仕様を少しずつ詰めていったり,大量のアクセスをさばける構成にしたり,テストをきちんと書いたりするのは,十分に「楽しい」仕事だった。まだまだ身につけることは山ほどあるけれど,少しはソフトウェアエンジニアとして成長できたんじゃないか,という気はする。
 そして無事に(?)リリーススケジュールを守り切ることができた。ずっとAPIばかり作っていたのであまり感じることはなかったけれど,実際にiOS側のエンジニアと協力してつなぎ込みを行い,はじめて「実際に画面が動いた」ときはすごく感動した。日々の仕事でコンソールに流れてくるテキストを見ているだけだとついつい忘れてしまうけれど,こういう「作ったものが動く」喜びを求めてソフトウェアエンジニアになったのだということを思い出した。もう少し,ソフトウェアエンジニアとしてがんばれそうな気がした。

これからのこと

 私の「ソフトウェアエンジニア」としての1年は終わった。そして次の1年も「ソフトウェアエンジニア」として働くことに決めた。ようやくドメイン知識もついてきたし,実装力もまだまだだけれど,1年前に比べるとぐっと成長できてきたような気はする。
 「機械学習を実サービスに投入する」ということにはこだわりをもってきたし,これからもこだわりをもっていきたい。けれどそれはただの「手段」であって「目的」ではないということもきちんと意識していく必要がある。さいわい私はコーディングと同じくらい人と話したりアイデアを出したりすることが好きだった。そのため今後はじっくりと力をつけながら「機械学習でしか解決できないユーザーの課題」を見つけて,それを解決できたらいいなと思っている。もちろん「機械学習を使う」ことは最重要ではないのだけれど。
 今年もがんばるぞ〜。

買ってよかった料理がはかどる場所を取らない調理器具

はじめに

 リモートワークが長引いてきました。 前回の記事 で書いたとおり,私の会社では2月17日からずっと続いています。ずっと家にいなければならない,という状況の中で,料理は数少ない楽しみのひとつですよね。そんなわけで私も料理をしてはTwitterにアップする,というのを続けています。その中で「それどうやって作るの?」とか「なんか不思議な調理器具使ってない?」みたいなことを言われることが増えてきました。
 キッチンがじゅうぶんに広くて,もっとたくさんの調理器具が置けたなら,私の料理ライフはもっと大きく変わるはずです。けれど私の家もキッチンもそんなに広くはないし,そんなにお金をかけられません。でも料理は楽しみたい。そんな中でこつこつと調理器具を増やしてきました。
 そんなわけで今回は 場所を取らない そして そんなにお金がかからない 調理器具を紹介します。アフェリエイトは設置していないので,安心してこのブログのリンクからお買い求めくださいね。ちなみにすべて私が実際に所持しているものです。

低温調理器: Anova

 低温調理器は私の料理ライフを大きく変えてくれた調理器具のひとつです。低温調理器,と聞くとなんかハイテクな感じがしてきませんか。でも原理は簡単なんです。つまるところ お湯の温度を一定に保ってくれるデバイス であり,温度が変わらない湯せん,といったところでしょうか。
 低温調理器でなにが作れるんですか?と聞かれることも多いんですが, なんといってもお肉 です。通常の火入れをしてもおいしいのですが,低温調理をするとうまくタンパク質の変性を避けておいしく料理することができるそうです。特にローストビーフやチャーシュー,よだれ鶏は絶品です。お店クオリティのお肉料理が作れます。それ以外にも魚介のコンフィや温泉卵なんかも作れます。 BONIQ公式レシピ が種類も多く詳しくて助かっています。
 公式サイトを見ると大きめの鍋が必要っぽく見えますがそんなことはなく,Anovaが取り付けられる10Lくらいのプラスチック耐熱容器を使っています。米びつとかでも使えるやつですね。

f:id:studio_graph:20200405234304j:plain
低温調理で作った料理たち

 私はその中でもAnova Nanoというのを持っています。通常サイズはアメリカンに肉を大量調理したい人向けなので,一般家庭にはNanoでじゅうぶんだと思います。似たものでも (たぶん) 基本性能は変わらないのでお好きなものをどうぞ。Anovaが買いたい場合は 公式サイト だと12,000円くらいします。USの Amazon.comで売っているもの を買うと送料込みでも少し安かったです。英語が読めて住所を英語に変換すれば日本にも発送してくれるので,共同購入者を見つけるといいと思います。

ぶんぶんチョッパー

 ぶんぶんチョッパーは本当に革命的です。つまりは 手動のフードプロセッサー なのですが,そこがよさを引き立てています。

  • かさばらない
    • 手動なのでコンパクトに使えます
  • 丸洗いできる
  • ある程度かたいものもいける
    • 手で引っ張るとトルクが稼げるので電動式に比べて調整しやすい
  • 値段が比較的やすい
    • 1,000円ちょっとで買える

 ぶんぶんチョッパーを使うとみじん切りがとっても簡単にできるようになります。お好み焼きも簡単に作れますし,一人暮らしならば野菜をとにかくみじん切りにしてキーマカレーやミートソースを量産しましょう。レンジだけで簡単に1食分を用意できますよ。  

ガスバーナー

 ガスバーナーも安くてかさばらないのに,かなり重宝していてほとんど毎日使っています。いいところはなんといっても 手軽の炙り調理ができる というところにあります。だいたいのものは炙るとおいしいのは言うまでもないのですが,それ以外にも色々なよさがあります。
 さいきんオーブンレンジを手に入れたのですが,電気式200℃までしか出ないタイプです。たとえばグラタンは200-250℃くらいで焼きたいのですが温度が足りません。上に乗せたチーズはいちおうとろけてくれるのですが,おいしそうな焼き目をつけるというところまではむずかしいです。
 そこでガスバーナーを使うんです。 あっという間に焼き目がついておいしそう になります。それ以外にもカレーの上のチーズもさっと炙ればすぐに焼きチーズカレーが作れます。スーパーで買ってきたお刺身を炙ってごはんに乗せればちょっと贅沢な海鮮丼になりますし,焼きおにぎりを軽く炙ってめんつゆで割っただし汁をかけると絶品〆メニューになります。
 カセットガスで動作するので追加の燃料も手に入りやすいです。燃えやすいものを取り除いた適当な陶器の皿の上で炙っていますが,気になる方は耐熱皿や金属製のバットを買いましょう。屋内で使う場合は換気扇のそばで使うのをお忘れなく。

f:id:studio_graph:20200405235058j:plain
ガスバーナーで焦げ目がつけられたものたち

ホットサンドパン

 パンはパンでも食べられるパンではなく,飛ぶ方のパンです。もともとホットサンドがかなり好きな方で,登山をはじめたのをきっかけに買いました。小さい頃の記憶ではたしかホットプレートと一体型になっていて,洗うのが面倒だった記憶がありますが令和ともなると便利ですね。まるごとそのまま火にかけられるので 場所を取らないし洗うのがとても楽! というわけで,ホットサンドパンを買ってからというもの,ほとんど毎週ホットサンドを食べています。
 具はだいたいいつも同じで,ケチャップ,とろけるスライスチーズ,千切りキャベツ (すでに切ってあるものを買うと楽ちん),ベーコン,目玉焼き,マヨネーズあたりをエイっとしています。よくばりなのでたくさん具が入って,上下分離するものを買いました。近くのちょっといいベーカリーで買った食パンに挟めばもうオシャレなランチです。最初の方はわざわざフライパンを別に用意して目玉焼きやベーコンを焼いていました。今は目玉焼きはレンジ,ベーコンはガスバーナーが楽なことがわかったのでそうしています。

f:id:studio_graph:20200405235214j:plain
ホットサンドを作ることしか知らない

 私はそんなに考えずにAmazonでエイっと買いました。耳までしっかりプレスできるタイプです。ホットサンドがバラバラにならないので重宝していますが,ホットサンド以外のもの,たとえばチキンとかソーセージとかを焼きたい人は耳までプレスされないものを買うといいと思います。

シリコンスチーマー

 シリコンスチーマーもとても便利です。オーブンレンジをゆずってもらってからよくグリル焼きやピザ,グラタンを作るのですが,ブロッコリーやじゃがいや人参もを毎回茹でるのがそこそこ面倒でした。そんなときはシリコンスチーマーを使えば時間も手間も短縮できます。
 皿にラップかけてレンジ調理していたこともあるのですが,ラップがもったいないのと皿が熱くなったりラップがはじけたりして不便でした。シリコンスチーマーなら繰り返し使えるし熱くなりにくいので重宝しています。水溶性のビタミンも流れ出さないので,栄養面でも茹でるよりよさそうです。
 グリル料理以外にも,カレーやシチューなどの煮込み料理では,火の通りにくい根菜は先にレンジしておくと時間短縮になってとっても便利です。

折れるまな板

 これは見たままなのですが,まな板が折れるとこんなに便利だったんですね。調理したあとべきっと折れば水切りも鍋やボウルに移すのも楽です。というところまでは想像していたのですが,折った状態だと面積が小さくなるので,実は洗い流すのも楽でした。

さいごに

 今回は「今までより料理が楽しくなる」をコンセプトに,私がさいきん買ってよかった調理器具を紹介しました。実はよく切れる包丁とか,砥石とか,鍋とかフライパンもかなり料理を楽しくしてくれるのですが,道具本来の使い方と大きく変わらないはずであるためここでは省略しています。ここに書かなかった調理器具で買うといいものがあったらこっそり教えてくださいね。
 そういえば 前回の記事 で書いたとおり,今は ラゴンジュルナル というところで記事を書いています。 ラゴンジュルナルでのはじめての記事 は「聖地」について書きました。久しぶりのエッセイはちょっとだけ緊張したのですが,なかなかいい記事が書けたと自画自賛しています。
 なかなか世界が大変なことになっていて毎日ずーんとなってしまいます。料理とブログは家でもできるので,ちょっとずつでも世界をよくしていけたらいいな,と思っています。おわり。

会社が原則リモートワークになって3週間経った

はじめに

 2月17日に「そういえば明日から原則リモートワークね」と言われてリモートワークを開始してから,そろそろほぼ3週間経つ。なぜリモートワークになったのかは プレスリリース を見てほしいのだけれど,実際に「働く側」としてリモートワークをしてみてどう感じたのかを,少しまとめておこう。

リモートワークに対するイメージ

リモートワークというのは,その名の通り「Remote Work」であり,つまりは「オフィスではなく家で働く」ということになる。*1でも私は,あんまりリモートワークにいい印象を持っていなかった。 以前のインターンシップの記事 にも書いていたとおり,どうしてもコミュニケーションコストが高くなってしまうというのはわかっていた。そのため「しなければならないときに仕方なくするもの」というイメージがあった。
 そんなイメージを持ちながら去年の4月に新卒入社した。今の会社は前のインターンシップ先に比べて,リモートワークの環境がかなり整っていた。もちろん会社の問題というよりは,世の中がちょうどリモートワークの方向に寄ってきていたというのもあるのだろうけど。
 でも私はリモートワークはしたことがなかった。ざわざわしている環境はそんなに嫌いではないし,さまざまな環境が整っているオフィスよりも自宅で仕事した方がいい理由があまり見つからなかった。子育て中の人には人気の仕組みだったけれど,私はオフィスで働いた方が向いている人間であるらしかった。
 そんなわけで,いきなり「明日から原則リモートワークしてね」と言われて,正直困惑していたし,これで今まで通り成果出せるんだろうか,と不安だった。

リモートワークのための設備

 いきなりリモートワークはじめるぞ!となったとき,すぐはじめられる人はどれくらいいるんだろう。ちなみに私はすぐにはじめられない人だった。元々オフィスに出向いて仕事をする前提で近くのマンションを借りたし,なんなら自室にはオフィスデスクもオフィスチェアもなかった。実際に会社の人たちに聞いた話だと,オフィスデスクもオフィスチェアも固定回線もなかった,という人も多そうだった。
 オフィスと同じ設備はないけれど,いちおうごはんを食べるためのちゃぶ台はあったので,いったんそれで仕事できないかどうか試すことにした。実際にリモートワーク期間以前にも,出社する1時間とか,短時間のリモートワークはそのちゃぶ台で行っていた。
 だいたい想像がつくと思うけど,ちゃぶ台で毎日仕事をするのは無理があった。どうやっても2時間くらいで腰が終わりを迎えてくる。ストレッチや昼寝でごまかしていたけれどさすがに無理なので,オフィスデスクとオフィスチェアを購入することに決めた。
 机とイスには金をかけろ,どこかで聞いたけれど,実際にはAmazonでそれぞれ5,000円くらいのものを買った。耐久性に問題があるのかもしれないけれど,今のところは問題なく業務ができている。

会議とかツールの話

 予想していたとおり,リモートワークになることで業務が大きく変わるか,というとそんなことはなかった。私はエンジニアなので業務の時間の多くはキーボードを叩いてコーディングをしている時間になるし,主にSlackでコミュニケーションを取るというのはなにも変化がなかった。
 変わったことといえばミーティングがすべて Zoom になったことだろう。そりゃ対面のミーティングの方がいいに決まっている,と思っていたが意外と悪くはなかった。きちんと表情を見ながら話せば,100%とはいかないまでも非言語的なコミュニケーションも行える。
 オンラインミーティングならではの利点もあった。全員で画面共有できるためスライドを作る必要がなく,GoogleDocsを共同編集する形で資料が完成するのはとても便利だった。今まではミーティングを設定したりリスケしたりしようとすると会議室が足らない,という問題があった。けれどオンラインミーティングなら参加者のスケジュールさえ合わせておけばミーティングをいくらでも開くことができる。具体的なツールのあれこれに関しては会社の技術ブログに詳しい。

すべての人にリモートワークが向いているか

 リモートワークがはじまった頃は「最高だしすべてのはたらく人がリモートワークすればいいのに」と思っていたけれど,今になってみると「やっぱりそうではないな」ということに気づいた。最初はリモートワーク楽しいと思っていたけれど,ただ単に新しいモノが刺激的だっただけだといえる。
 やっぱりどうしてもリモートワークは生産性が落ちる。今リモートワークでじゅうぶんに成果を出せるかどうかは,じぶんの仕事のフェーズにも大きく依存する。ある程度やることが決まっていて,あとは実装だけ,というフェーズの仕事であればリモートワークで成果を出すのはそこまでむずかしくないだろう。けれど分析を進めたり関係各所に話を聞きに行ったりして「やることを決める」フェーズの仕事でリモートワークをするのは,とてもむずかしく思えた。ちょっとこれ聞いてもいいですか,とかちょっとペアプロしてくれませんか,みたいなことはオンラインだと頼みづらい。
 生産性が落ちてしまう割に,オーバーワークになってしまう,という問題もあった。生活と仕事とが密接に結びついているため,意識的に区切りをつけないと,いつまでもずるずる仕事をしてしまう。もともとフレックスであったというのもあり,強制的にこの時間になったら仕事を終わる,といった仕組みを設けておかないと,無限に仕事をしてしまう危険性があった。
 幸い私はそこまで困難なくリモートワークができているけれど,これは周りの人とオフラインでの対面のコミュニケーションを積んできたからこそだろう。入社したり異動したりして急にリモートワークになってしまった人はきっととても大変なはずで,そういう人たちへのフォローはやはり「対面」ではないとむずかしい。今リモートワークがうまくできているのは,ただラッキーなだけ,ということを忘れないようにいたい。
 そのため今後COVID-19が収束したあとも,今までうちの会社がそうであったように「希望者はリモートワークができる」といったふうに,選択可能にするのがもっとも好ましくみえる。リモートワークでここまでうまくできるならオフィスいらないでしょ,といった議論はきっと短絡的すぎて,自らがラッキーであったりじぶん以外が心遣いをしてくれていることを忘れている。そんなわけで,これからも私はなるべく出社したいけれど,週1か2回くらいはリモートワークしてもいいかな,くらいになりそうだ。
 また,ずっと家にいることで,何気ない冗談や会社のフリードリンク,窓からの景色やちょっとした散歩が,どれだけかけがえのないものだったのかがわかった。クマさんデバッグ,という言葉にもあるけれど,ずっと机に向かってひとりでうんうんうなっていても,なかなか解決法は思いつかない。日々の暮らしの場所が固定化してくるからこそ,適切な気分転換をしていくことが大事になっていくんだと思う。

料理が捗る

f:id:studio_graph:20200308233343j:plain
リモートワーク中に作った自炊たち

 リモートワークが続いて,たくさん自炊ができるようになった。今までは昼食は会社で作ったり外に食べに行ったりして,主に夕食を作ることが多かった。しかしリモートワークになったことで,ほとんど毎食自炊をすることができるようになった。それにより,材料が余るのを気にしなくてよくなったのはとても大きい。
 今までならば人参は使い切れないなとか,ごはんを炊いても食べきれずに余ってしまうとか,主に材料について気を遣うことが多かった。しかし今は野菜が余ればみそ汁やスープにしてしまって次の日も食べればよく,好きな材料を買ってどんどん料理が作れるためとても楽しい。この部分に関しては書きたいことがたくさんあるので,また別の機会に具体的なレシピも合わせて記事を書こうと思っている。

さいごに

 少なくとも会社としては今月いっぱいはリモートワークが続くそうで,まだまだ先は長いなあという想いがある。けれどせっかくの機会なので,自炊がとても楽しくなったように,なるべくならいいことを見つけていきたい。COVID-19がいつ収束するかはだれにもわからないけれど,各団体のさまざまな取り組みはすばらしく,みんなでこれを乗り越えていけるといいなあ,とも思っている。
 近況報告としては,前回の記事で書いたとおり,これから2つのメディア*2でライターをすることになりそうだ。ひとつはエッセイ,もうひとつはインタビュー記事と,まったく違うジャンルの記事を書いていくことになる。不安はとても大きくて,実際にこの記事を書く中でも「じぶんはこんな記事でお金をもらっていいんだろうか」といった考えが頭から離れなかった。そのためこの記事を書くにも,いつもよりほんとうに長い長い時間がかかった。
 うれしいことにさいきん私の文章のことをほめてくれたり,好きだよと伝えてくれたりする人が増えてきた。それはとてもうれしいのだけれど,そんな中でも,こんな文章でいいんだろうか,という疑念は晴れそうにもない。とはいえ文章を書いてお金をもらうプロである以上,そんな甘えたことも言っていられない。こういう疑念は,文章を書き続けていって自信をつければ,いつかはなくなっていくんだろうか。今回の機会がじぶん自身をぐっと成長させてくれる,いい機会になればいいと思っている。おわり。

*1:COVID-19対策のために,カフェやコワーキングスペースでの業務は推奨されず,基本的には自宅で働くこととなっていた。

*2:公開できそうになったら公開する予定。

修士生活って結局なんだったのかな

はじめに

年が明けて,去年の今ごろは修論に追われていたことを思い出す。ようやく気持ちに整理がついたので,なんとなくわたしの修士生活を振り返ってみようかな,と思ってこの文章を書いている。元から「就職するか」「修士課程に進学するか」は迷っていた身だったけれど,今となってはやっぱり行ってよかったのかな,と思うようにしている。というかそう思わないとやっていけない。

研究室

わたしが所属していた研究室は,じぶんで言うのも変だけれど,とても優秀なメンバーが多かった。学部生を受け入れておらず,修士からの研究室だということもあるけれど,研究室のメンバーの半分くらいが博士課程に所属していた。なんというか,みんなちゃんと研究していた。
周りに優秀な人が多い,という環境は,実はものすごく心地がいい。研究でわからないことはメンバーに聞けばだいたいすぐわかるし,新しい情報も彼らがどんどんキャッチアップしてくれるからだ。けれどその心地よさと同時に「じぶんはそのレベルに達しているのか?」という引け目も,感じていくことになる。

大学教員

これは一般的に知られていることだけれど,基本的に大学教員というのは忙しい。特に私の指導教員は,彼自身もバリバリ研究しているというのもあって,そこまで親身に面倒を見てくれるということはあまりなかった。もちろんこれは周りの修士学生に聞いてみると,特に彼に限った話というわけではなく,それなりに人数が多い研究室はそういうもの,ということだった。
大学の研究室では,能動的に動かなければ基本的に放置されていく。毎週1回の進捗確認では,特になにもない進捗を発表する。そんな日々が,結構長く続いた。そしてそんな日々から逃げるように,インターンシップに没頭していた。

まとまった時間

かなりネガティブな書き出しになってしまったけれど,修士生活が悪いことばかりだったかというと,もちろんそういうわけではない。なにかをするには,たっぷりと時間があった。授業もほとんど取らなくてよく,社会人になった今から考えると1日丸ごと使えるというのが週に何回もあるのは,とてつもなくうれしいことだった。
ディープラーニング機械学習や統計を基礎から勉強した経験は,その後に最新の論文を読むのにかなり役立った。それ以外にもたくさん本を読めたし,色んなところにも行けた。その期間にはもちろんじっくり悩んだし,じっくり考えることもできた。そういう意味で「まとまった時間」を手に入れるのにはぴったりの期間だったといえる。あんまり研究は進まなかったけれど。

インターンシップ

修士のときに行ったインターンシップは,どれも本当に楽しかった。学部のときに落ちたインターンシップのほとんどには修士のときには通ったし,ソフトウェアエンジニアだけではなくデータサイエンティスト的な働き方も気になっていた私にとって,その両方を体験できるとても貴重な期間だった。とはいえ修士課程におけるインターンシップは研究との両立がとてもむずかしいということも,そのときなんとなくわかった。
インターンシップはだいたいきちんとやることが決まっているし,場合によっては少なくない額のお金ももらえる。しかも研究と違って,成果を出すのはそんなにむずかしくはない。そんなわけで,研究の息抜きとしてインターンシップに没頭してしまうのは仕方ないことであるし,実際に私もそうだった。短期インターンシップは研究への負担が少ない代わりに,業務のことがよくわからないし,長期インターンシップはその逆が成り立つ。このあたりのバランスがとてもむずかしい。
とはいえ学生の頃にインターンシップをたくさんやっていた人が,その後の業務でそうでなかった人に比べて圧倒的に成果を出せるかといわれると,どうやらそうではなさそうにみえる。それよりも修士課程でじっくりと学業に取り組んだ人の方が成果を出せそうにもみえる。数学とか統計とかコーディングとか機械学習とかプレゼンとか,そういうものは社会人になってしまうと意外ときちんと身につけるのがむずかしい。それらをしっかりとできるようになっている人は,社会人になってもどんどん活躍しているような気はする。

成果

けれど,修士課程の研究で成果を出すということは,一般にはとてもむずかしい。わたしの研究室の同期メンバーの多くが博士課程に進学したけれど,いわゆる「トップカンファレンス」に修士のうちの研究で採択された人は一握りだった。ほとんど成果が出なくて,でも研究はしないといけなくて,修論を書かないといけなくて,でも就活もしないといけなくて,といったような,終わりのないトンネルの中にいるんじゃないか,みたいなつらい時期もあった。
しっかりとした研究を行うには,おそらく修士課程の2年間では足りない。修士課程が3年あったら,と思うことは何度もあった。
さいきんTwitterで学生を励ましているのも,けっきょくこのあたりの体験から来ているのかもしれない。修士生活はうっかりすると家と研究室の往復になってしまって,視野が狭くなってずーんとつらくなってしまう。そんなわけで,あんまり研究室に没頭しすぎずに,色んなことをして視野を広く持っておくというのも,健全な修士生活のためには重要なのかもしれない。

さいごに

そんなわけで,結局わたしの修士生活とはなんだったのだろう。いちおう研究をして,インターンシップをして,修論を出して,卒業したけれど,なにが残ったのかといわれると,あまりよくわからない。修士課程に行かずにそのまま就職していた人生のことなんてわからないけど,修士号を持っている今も,そんなに悪くない気はする。
あんなにつらくて苦しくて悩んで書いた修論を出して得られた修士号も,けっきょく社会に出てしまえばそんなもんだった。けれど修士課程に出会った人や物ごとはきっと私の人生に多くの影響を与えていて,今後は「修士課程に進んでいてよかった」と思う日が来るんだろうか。これがスティーブ・ジョブズの言うところの "connecting dots" であって,人間はじぶんの人生になんらかの意味を見出したいだけ,と言われてしまえばそれだけなのだけれど,少なくともわたしはそうであってほしいと思っている。

これから

そういえば機会があって,今後はまた「文章を書く」ということに本格的に取り組むことになりそうだ。TwitterやSlackに好き勝手あれこれ書くのとはまた違った「だれかが読む」ための文章を書く,かなり久しぶりの経験になる。そんなわけで一種の「リハビリ」を兼ねてこのブログを書いている。
そんな中でじぶんの過去の文章を (あんまり楽しく読み返せるものでもないけど) 読み返してみると,意外といい文章を書いていて驚いた。まだまだあの頃は文章を書くのに慣れていなくて,かなり悩みながらこれでいいのかというものを書いた覚えがあるけれど,振り返ってみるとそんなに悪くない出来だった。私の書いた修論も,いつかは「そんなに悪くないじゃないか」と思って読み返せるんだろうか。

技術書典7に本を出した

技術書典7 に会社の人と共同で クックパッド執筆部 として本を出した。技術書典自体には昔から興味はあって,いつかじぶんも参加側で出たいなあと思っていたので,まさに渡りに船ということで参加することに決めた。

このブログを隅々まで読んでいる人にはわかると思うのだけれど (そんな人はいるのか) 私が同人誌を書くのは実ははじめてではない。昔 あみめでぃあ という同人誌で「概念を語る」というのをやったことがある。二回目の同人誌執筆は,あの頃と似ているようで似ていない部分も多かった。今回はそんな話をしてみようかなと思う。

私はどんな記事を書いたのかというと,いつものように機械学習の話を書いた。内容としては 無理をしない機械学習プロジェクト2 のスライドに加筆修正しながら,プレゼンでは話し切れなかった内容も含めて文章化したものとなっている。よくある機械学習理論やアルゴリズムといったむずかしい内容ではなく,実際に機械学習をサービスに活かすということを見据えた,きちんと血の通った内容を書けたと思っている。

技術書典に本を出すというプロジェクトは,社にいる @shanonim さんが声をかけてくれて始まった。彼は執筆側としても参加側としても,何度も技術書典に参加した経験があって,レポジトリの作成や編集など,とんとん拍子に進んでいった。私は比較的早めに原稿を書き終えてしまっていたので,あみめでぃあのときに受けた厳しい校正の経験を元に,がんがん他の人の文章を校正していった。表記ゆれや誤字脱字はもちろん,漢字よりもひらがなの方がいい書き方など,同人誌を書いておいてよかったな,と実感した。

同人誌の執筆において当初設定した〆切なんてものは伸びていくのが当たり前であって,実際に私たちの本も最初の〆切からは少し伸びた。でも〆切直前にどんどん完成していく原稿や,とってもかわいい表紙イラスト,本と一緒に頒布する電子版のダウンロードカード,ポスターなどなど,ドキドキワクワクしながら本の完成を待望んでいた。そしてそれはたまらなく楽しかったし,ああ私は今本を作っているんだよな,と心から感じることができた。

クックパッドは,その多くがエンジニアで構成される技術書典コミュニティでも抜群の知名度を誇っているらしかった。わかる人にはわかる表現を使うとすると,二次創作覇権ジャンルのようなもの。執筆側だけが見られる被チェック数*1は当日が近づくにつれてどんどん増えていった。増えていく被チェック数に後押しされるように300部刷ることを決め,あとは当日に売るだけとなった。

当日にブースの下に置かれているじぶん達の本が入っている段ボールを開け,中に入っている刷り上がった本を取り出し,ああほんとに私たちは本を書いたんだ,というのを実感する瞬間というのは,同人誌執筆における至上の喜びのひとつであることは言うまでもない。そんなわけで無事に原稿を落とすことはなく当日を迎えた。

当日は午前中のゴールデンタイム*2にがんがん売れた。本当にびっくりするほど売れた。あみめでぃあのときはたしか70部くらい刷って丸一日売って30部くらいしか売れなかったけれど,これが技術書典なのか,とも思った。じっくり立ち読みをしたあとに買ってくれる人,買ってくれない人,見ただけで買ってくれる人,差し入れを持ってきてくれた元インターン生,私の本を買いに来てくれたお友だちなどなど,お祭りみたいで本当に楽しかった。印刷屋さんが余分に刷ってくれたおまけを除くと300部をすべて売り切ることができたし,当日はほとんど立ちっぱなしだったはずだけれど,そんな疲れなんて吹き飛んでしまうくらい,打ち上げで飲んだ1杯目のビールは本当に美味しかった。

私の執筆側としての技術書典は,これ以上ないくらいの成功に終わった。そう見えたのだけれど,技術書典が終わったというのに,なんらかの違和感が消えなかった。なので今私はこの文章を書いている。その違和感というのは「私は本当に人々の心に響く文章を書けたのだろうか」という疑問のことだった。つまり「私の文章には『エモさ』が足りていたのだろうか」ということになる。技術書典なんてじぶんの好きな技術を好き勝手に解説するだけでしょ,なんならそれくらいに思っていた。それがとんでもない間違いだったということは,今になって気づいた。

じぶんのした仕事をわかりやすくまとめる,という作業はとても楽だったし,楽しかったといえる。どうやったらわかりやすく書けるかなとか,図をどう配置しようかとか,そういう「見えない読者」を想定して文章を書くという作業には,きちんと楽しさが伴っている。でもきっと,そこにエモさはないのだろうな,と今では思う。筆者が考えてもわからないことはわからないまま書いて,読者に自由に解釈してもらう。変にわかりやすくわかりやすく書こうとせず,きちんと回りくどいものは回りくどいまま書く,そういう「エモい文章」にたくさん触れてきたし,あみめでぃあを書いていた頃のじぶんは,きっとそんな文章を書けていたんじゃないのかな,と思う。本当のところはどうかわからないけど。

少なくとも共同執筆した @takai さんのキーボードポエムや @asonas さんのサービスクローズ・エンジニアリングはちゃんと「エモい文章」だったな,と思う。技術書典ではないけれど @mirakui さんの ISUCONの記事 も本当にエモの塊だった。わかりやすすぎないし,読んでもなにかわかったかどうかはわからないけれど,なにか心に残る。そんな文章だったなと思う。やっぱり日本語が正確でわかりやすいだけの文章も大事だけれど,きちんとエモさが残る文章も書いていきたいなと思った。

そんなわけで,私の技術書典はようやくスタートした。技術は技術だけれど,私たちはサービスを作っていて,その先にはユーザーがいて,その技術にはきちんとエモがある。人間がいると勝手にエモは生まれるし,そのエモをなんとかして形にしたいと思った。次回の技術書典で本を出すことはもう決まっていて,なんとレポジトリまでできている。次回はもっとわかりやすくて,でもちょっとわかりにくくて,それでもってものすごくエモくて,そんな文章を書きたいな,と思っている。

ちなみに 電子書籍版はここから買えます 。色々と書いてしまったけれど,本当にいい本です。おわり。

*1:技術書典サイトにログインした状態でチェックをすると増える数字。気になるリストのようなもの。

*2:有料の入場券を買った人々のみが入れる時間帯。よく売れるとされている。

2018年に読んでよかった本


はじめに

趣味はなんですか,という質問をされたとき,だいたい困っています。
というのも,わたしはおそらくそのへんの人間の何倍も飽きっぽい人間で,いわゆる「趣味」とかいうものは,どんどん移り変わってしまうからなんですね。趣味と言うべきものはおそらく1年もてばいい方で,ひどいと数ヶ月とかで興味の対象は他へと移り変わっていってしまいます。趣味っていうのは,長い間続けてきて,それなりの技能を有しているべきもの,みたいな謎の思い込みがあったんです。
でもよくよく考えてみると,そんなわたしでも,なんだかんだずっと続いているものがあるんですね。それはおそらくこの「ブログ」と,もうひとつは「読書」。このブログができてからもう何年も経つし,今までの読書の記録は 読書メーター にずっと記録してあります。記録を見てみると,この記録は2010年8月からつけられていて,なんともう8年にもなっていました。これはいよいよ「趣味」と読んでいいものなのかもしれない。

読書

そんなわけで,記録上は8年の間ずっと読書をしてきたことになります。
とはいえ読むペースはそんなに速くはないです。さいきんはおそらく1ヶ月に1冊読めればいい方ですね。これも先に書いた「飽きっぽい」というのにも関連していて,だいたい1ヶ月に一度くらいは「うおー本読むぞー」みたいな時期が訪れて,それで読むけれど,またすぐ飽きてしばらく本を読まなくなる。だいたいそんなことの繰り返しです。
まあでも本はたくさん読めばいいというものでもないし,そんなに読んでなくても「これだ!」というお気に入りの1冊に出会えたら,それはとてもいいことですよね。そんなこんなで,だいたい評論系の本を多く読んでいます。

ブログ

ブログはもっともっと期間が長そうです。「うおーブログ書くぞー」みたいなのがたぶん数ヶ月に一度くらい訪れて,それで書くけれど以下略,といったようなところです。
さいきんはインターンシップのことしか書いていなくて,それなりにブックマークとか☆とかが稼げてよかったです。でもやっぱりわたし自身としては,もっともっとこうエッセイっぽくというか,あんまりインターネットっぽくない文章を書きたいという思いは今もあるんです。
評論系の同人誌の執筆に関わらせてもらったこともあるし,このブログの過去の記事(かなり頭を抱えたくはなりますが)を読むと,やっぱりそういう記事の方がわたしらしいんじゃないかな,と思うんですね。
思い返してみると,どうやら「これだ!」っていう1冊に出会ったり,大きく人生の転機が訪れたりした頃に,ブログ記事を書いているようです。そのたびごとに文体が少しずつ変わっていて,なんかちょっと微笑ましくもあるのですが,本質的に頭を抱えたくなるというのは変わらないですね……。
「読書」がインプットだとすると「ブログ」はアウトプットですよね。そんなわけで,読んだら書きたくなるものです。この2018年でどんな本を読んできたらこういう文章を書きたくなるのか,ちょっと紹介してみようと思います。(いきなりインターネットっぽくなる)

読んでよかった本

というわけで,ここからは今年読んだ本をちょっと紹介してみようと思います。だいたいの本は,読書メーターにも感想が書いてあるので,興味がある方はそちらも参考にされるとよさそうです。
2018年は16冊の本を読んでいました。だいたいオススメ順です。ちなみにアフェリエイトとかは設定してなくて,単純に私がオススメしたいだけです。

ぷしゅ よなよなエールがお世話になります

ぷしゅ よなよなエールがお世話になります

ぷしゅ よなよなエールがお世話になります

めちゃよかった。よなよなエールを作るヤッホーブルーイングが,様々に奮闘しながらどうやってファンを獲得し,トップのクラフトビールになったのかという本。途中でマーケティングやチームビルディングの重要性について詳しく書かれていたのがよかった。決して順風満帆というわけではなく,先人たちの知恵を学びつつ,じぶんたちにしかない個性を出していくというのがかなり印象的だった。そしてそうすれば根強いファンが生まれ,ちゃんと売れていくんだなあと思った。今後もよなよな飲み続けそうです。単なる成功体験じゃないのがよかったですね。苦悩とか,しんどかったことかもちゃんと書かれていた。

史上最強の哲学入門

史上最強の哲学入門 (SUN MAGAZINE MOOK)

史上最強の哲学入門 (SUN MAGAZINE MOOK)

飲茶さんの本。色々な哲学者の思想を,とてもわかりやすい例とともに示してくれる本。真理,国家,神様,存在 という4つのテーマに分けて,ほぼ時系列に人類の思想がたどっていった様子を知ることができる。ふだん何気なくやっている社会の仕組みや,歴史上の制度,果ては日常におけるものの考え方まで「たしかにこうだよなあ」という根底みたいなものが次々と出てきてとても楽しかった。これを読むと歴史観とか学問観もがらっと変わるのかもしれない。

ニューエリート グーグル流・新しい価値を生み出し世界を変える人たち

ニューエリート グーグル流・新しい価値を生み出し世界を変える人たち

ニューエリート グーグル流・新しい価値を生み出し世界を変える人たち

今までの社会での生き方は必ずしも正解ではなくて,こういう生き方もあるよということが書いてある本。よくある自己啓発本に終わらず,ことあるごとに筆者やGoogle内での事例が紹介されるので説得力もあってよかったです。じぶんも就活で少し悩むことがあったけど,選択は間違ってなくて,ここからじぶんの手で道を切り開いていこうという気持ちになれたのでよかったかな。よくあるGoogleサイコー本じゃないのもよかった。

宇宙に外側はあるか (光文社新書)

宇宙に外側はあるか (光文社新書)

宇宙に外側はあるか (光文社新書)

宇宙に外側はあるか、という問を元にした宇宙の存在についての本。かなりわかりやすく書かれていて、他の著書で???となっていた部分についてもつまることなくすいすいと読めていけてよかった。多世界解釈人間原理などは我々の直観には反するが、正しいとされていること、そうではないことをきちんと書き分けてくれているため読みやすかった。現代物理学をかじるための良本。普通におもしろかったと思います。宇宙系の本はだいたい数ヶ月に1冊くらい読むことにしているんですが,これなら 宇宙はなぜこのような宇宙なのか とかの方がわくわくしたような気はする。

おわりに

だいたいこんなところです。今年はあんまり本を読めなかったので,来年はおもしろい本に出会っていきたいところですね。だいたい評論しか読んでこなかったので,そろそろ小説とかにも手を出していきたい。

リクルートホールディングスのインターンシップに参加しました

はじめに

リクルートでのインターンシップがようやく終了したのでそれのまとめです。職種はデータサイエンティストというやつで,以下の2つのコースに参加していました。

いちおう両方に参加していたというのと,なんだかんだ学びはたくさんあったので,ちょっとずつ書いていこうと思います。
なんかいっぱい書いてたら長くなってしまったので,主に「まとめ」というところだけ読むといいと思います。

サマーインターンシップ

サマーインターンシップは2週間の集中コースでした。データサイエンティスト職の学生が5-6人,これまた5-6チームくらいに別れて各タスクに取り組んでいきます。タスクは様々で,各グループ会社から与えられた案件をそれぞれ解く感じです。
2週間という比較的短い期間なので,どうしても「もっとやりたかった感」は出てしまうのですが,なんとか最終日までに仕上げて発表することができました。データ解析系のインターンでときどきある「データが整形されていてほとんどやることが決まっている」ということはなく,ある程度は整形されているけれど どうやって解析していって,どこをどう改善するか も学生側で自由に決められるのでよかったです。ただしあまり手取り足取り教えてもらえているというわけではなく,むしろほとんど野放しでした。
また,我々データサイエンティスト()が提案した施策の良し悪しを事業部の方々にヒアリングしたり,最終プレゼンテーションも彼らの前で行ったりと,かなりビジネス色もつよいものだったといえます。
ただしはたらく環境はかなりよく,あんまり毎日時間どおりに出社しろというのは求められませんでした。MacBookProとモニタが貸与されて,大きめの会議室を貸し切ってみんなでがりがりやる感じです。椅子がそんなにいいやつではないのでちょっと大変です。途中で用事があったら1日2日休んでもいいし,朝も何時に来てもいいので最高でした。お菓子とか飲み物もいっぱい置いてありました。日当はそれほど高くはありませんが,懇親会は銀座の高級店で🍣とか🍖とかを食べられます。

f:id:studio_graph:20180406003036j:plain

↑銀座の🍣すごくて,なんか1コずつ出てくる。

まとめ

  • 期間は2週間,5-6人で行う
  • 学生にかなり主導権がある,研修とかはほぼない
  • データサイエンスをがりがりやるというよりビジネスもする
  • はたらき方は自由

実践型 長期インターンシップ

サマーインターンシップ後,希望者は実践型の長期インターンシップに進むことができます。ぼくはサマーインターンシップで若干の心残りがあったので,少しテーマが似ているものを選ぶことにしました。インターンシップ自体はリクルートホールディングスのものですが,実際にはグループ会社に配属されてインターンシップをすることになります。そんなわけでぼくはリクルートライフスタイルの配属になりました。期間はだいたい2-3ヶ月くらいです。

待遇と環境

時給はかなりもらえて,リモートも可です。でもあとから書きますが出社はした方がいいです。13インチ,メモリ16GBのMacBookProが1台貸与されます(残念ながらJISキーでした)。出社するといちおう机もあります。ただし大きいサービスということもあって,データ分析基盤はかなり快適にきちんと整っているというわけではありませんでした。
契約上は業務委託ということになっていて,給与計算をするときに「じぶんが働いた時間」を勤怠つけると終了後にお金がもらえるという形です。結構もらえたのでiPad ProとかGoogle Homeとか色んなガジェットを買いました。

長期インターンシップならではのこと

長期インターンシップならではのこととして,じっくり分析に取り組める,ということがあると思います。じゃああれ試そうかとか,これ1回じっくり見てみようかとか,かなり色んな経験が積めたと思います。ただし数ヶ月で結果を出そうとすると実はなかなか忙しいです。またチームメンバーが必ずしも同時に出社しているわけではないので,どういう風にじぶんの分析を引き継ぐか,などもなかなか大変でした。
最初に「この数字をいい感じにデータサイエンスで改善してくれ!」みたいな課題が与えられるのですが,それは「実際に解けるかどうか」はわかっていない課題です。もちろん完全な無理難題が与えられるということはないのですが,適当にやっているとなかなか解けない課題だとは思います。普通に期間中は何度も暗礁に乗り上げたし,これ結局できんのかな…みたいに弱気になったことは何度もありました。
サマーインターンシップのときと同じく,それほど手厚く手取り足取りメンターの指導が受けられるというわけではありません。聞けば教えてくれますが,結構どうするかちゃんと探していかないといけないので結構大変でした。とはいえぼくのプロジェクトはなんだかんだうまくいったので,数ヶ月かけただけの達成感は得られました。じぶんたちでやり切ったぞ!という実感は心地のいいものです。本当によかった…。

まとめ

  • 2-3ヶ月,チームで行う
  • がっつりと時間をかけて分析できる
  • わりとふわっと課題が降ってくる
  • 学生に主導権があって好き勝手できるがたまに暗礁に乗り上げる
    • そのぶんうまくいくと達成感はある
  • 待遇はそこそこいいけど基盤はちょっと厳しい

学んだこと

いちおうはじめて「データサイエンティスト()」という肩書きで働いたので,長期と短期を通して学んだことを書いていこうと思います。

データサイエンスはお金稼ぎである

これはデータサイエンスというよりリクルートという会社の性質であるような気はしますが,常に「それがきちんと利益を生んでいるか」ということは求められます。アルゴリズムがイケていたり,思わぬ分析結果が得られたり,というのももちろん大事なのですが,それよりも利益の方が重視されているんだなという印象は持ちました。もちろんそのへんちゃんとしないとなかなか利益に結びつかないものでもあるのですが。

データは普通に汚い

普通にデータサイエンスをやっているとわかると思うのですが,生きているデータは普通に汚いです。インターンシップとかKaggleとかをやるとある程度データはクレンジングされているのですが,現場だとそうではありません。前処理とかテクニックとか,なかなか大学や教科書では学べない,現場感のあることができたのはよかったのかなと思っています。
また今回のインターンシップを通して「データ分析基盤」はものすごく大事であるとともに,作るのはすごく大変だなと思いました。データがあちこちにあったり,拾ってくるのに時間がかかったりするとなかなか思うように分析ができずストレスが溜まります。ちゃんとわかっている人がそのへんを整備することの大事さは痛感しました。データはただ「ある」だけでは意味がないんですね。

解ける問題に落とし込んでいくことが大事

我々は学生気分なので,とりあえず雑に分析して機械学習でドーンすればいけるでしょ!とか思ってしまうことも少なくはないのですが,実際にはそういうわけにもいきません。分析しても特に優位な差が出るわけではないですし,そもそもそこから機械学習に持っていくのも一苦労でした。なにがわかっていて,なにがわかっていないのか,どこまでは分析できて,どこからは予測しないといけないのか,そのためにどのデータが必要で,どのモデルを使用しないといけないのか,などなどですね。
あとは「現場でも必ずしも精度だけを向上させる必要はない」というのも大きな学びのひとつでした。たとえばアンサンブル学習を行うと必ず精度は上がりますが,予測にも時間がかかるし実際の施策に対してはそこまで有効ではないといったことも多いです。闇雲に精度だけを上げていくのではなく,ある程度のスピード感を持って進めていく方が大事,などもなかなかアカデミックでは学べないことかと思います。
けれどそういうプロセスをちゃんと経ていくうちに,これだったら解けるかも!というのが見つかってくるものです。それを実際に試すとなんだかんだうまくいくもので,そのときの喜びはひとしおでした。逆にそういうところをちゃんと設定していかないと,山ほどあるデータと分析手法に呑まれて,無駄にリソースばかり消費してなにも結果が得られない…ということになってしまいます。

見せ方は大事

これもかなり大きな学びのひとつですね。データサイエンスはデータサイエンスだけで完結するわけではなく(当たり前ですが),実際には企画職の人からお金を取ってきてもらったり,分析結果を施策に落とすときにエンジニア職の人に実装してもらったりしなければいけません。そういうときにちゃんと「見せる」ことはものすごく大事だなと思いました。
数字や数式,一見わかりやすそうなグラフを並べていても,実際そこまで意味があるわけではないんですね。どの数字がどう変わったかということ,それにはどれくらいのコストがかかったのかということ,そもそも解きたい課題はどれだったのかということ,あたりですね。ただ単に分析をして数字を上げればいいだけでなく,きちんと伝えることの大事さは痛感しました…。

リモートではたらくのはむずかしい

今回はじめてリモートワークで働いてみたのですが,やっぱりむずかしいですね。 これは以前もツイートしたのですが 「じぶんのやれることとやれないことをきちんと理解しつつ,ある程度ひとりで調べつつ作業を進められる人」じゃないと普通に出社した方がいい場合が多くて,学生だとそれできている人はぼくを含めてほぼいません。これは首都圏で働けるからこそだということは理解しつつ,普通に出社した方がいい場合が多いなと思いました(少なくともぼくは)。ちゃんと詳しい人にときどき聞きながらの方がいいです。
また,今回はチームメンバーもリモートだったので,情報の共有はかなり大変でした。GitHubにissueいっぱい立てて,SQLと分析結果を貼る,場合によってはJupyter Notebookも,というのを思いついてなんとかしてはいました。しかしながらお互いにDMは何度も送信したし,結局対面の方がいいよねと言って集まったのも何度もあります。リモートワークでチーム開発,かなりむずかしいです。

やっぱりコードが書きたい

これはじぶん自身に対する発見というところなのですが,やっぱりコードを書いているのも楽しい人間なんだな,というところは実感できました。もちろんJupyterでコーディングはするのですが,なかなか切羽詰まってきてよくないコードを量産してしまいましたし,周りのいわゆる「データサイエンティスト」はそれほどコードが書ける人たちというわけでもありませんでした。でもじぶんはやっぱりコードレビューを受けたいし,周りのコードレビューもしたいんですね。そのへんのことがわかったのも大きかったのかなと思っています。
もちろんデータ分析や機械学習も楽しいので,データサイエンティストとしてそのへんばっかりするだけではなく,きちんとコーディングもしていきたいな,ということを思いました。

まとめ

ちなみに今回ディープラーニングはまったく使いませんでした。XGBoostはいいぞ。

  • データサイエンスとはいえお金は稼がないといけない
  • データは普通に汚い
    • 腕力でエイヤっとやらなければいけないときもある
  • 解ける問題に落とし込んでいくことが大事
  • 見せ方は大事
    • みんなデータサイエンティストではない
  • リモートではたらくのはむずかしい
  • やっぱりコードが書きたい

さいごに

これだとただの感想なので,どんな人にオススメするかというのを書いておこうと思います。ちなみにチームメンバーはみんな優秀でした。

  • こんなことやりたい人にオススメ
    • 好き勝手やりたい人
    • 実際のデータを使ってデータ解析したい人
    • データ解析を使ってビジネスっぽいこともしたい人
    • 有名サービスで大量のデータを使ってデータ解析したい人(キレイであるとは言ってない)
  • こんな人には向いてない
    • 手取り足取り教えてほしい人
    • 最新の手法を使って研究っぽいことがやりたい人
    • ディープラーニングしたい人
    • がっつりコードを書きたい人

終わりだよ〜