未来永劫

メリーバッドエンドが好きです.

学生エンジニアは時給1000円のベンチャーでバイトをするのをやめろ

この記事はklis Advent Calendar 2017の24日目の記事です.

adventar.org

私はklis13(3編)で,slis17の @ss_shopetan です.

投票により表題の話が最も需要があるらしい.
私自身,再来年には就職をしている予定なので,自分のバイト経験を交えながら昨今の学生エンジニア事情を考えてみる.

一番言いたいこと

低賃金で働くのはやめよう.
給与が低水準なのは私たちにとっても不幸だし,これを良しとし続けるならば今後業界水準も上がらないので長期的に考えても不幸になる.
また,現在安い金額で働かなくても,知識と実力をつければ将来的に大きな額で働くことができる.*1

特に地方の人間は搾取されがち.
つくば市も例外ではなく,エンジニアバイトで時給1000円未満なところも実際に存在する.
専門性が求められる仕事なら,前提として自分の技術力に自信を持つべき. (裏を返せば自信が持てないならやるな)
都内と比較してあらゆる職種の賃金が安い為,時給1000円が高く感じるくらいかもしれないが,そもそも技術力は土地に依存しない.
エンジニアバイトであるなら都内の最低賃金(958円)と同様以上の給与相場で考えた方が良い.

適切な給与相場を考える

例えば,茨城県つくば市に住む一般的な学生と仮定した上で,学生に高い支持を得ている松屋を例に考える.

www.matswork.biz

これを例に考えると,松屋では時給換算で980円前後貰えることがわかる.
他にもつくば市内の一般的な飲食店では時給800円前後,カラオケ店などは時給1000円超は貰えるようだ.

また,筑波大生としては比較的馴染みのある塾講師などのバイトを考えてみる.
私自身はつくば市内の塾講師を行なったことはない.
参考程度に私の地元の塾講師の場合は小・中学生には時給1000円,高校生には時給1200円で勤務していた.
土日祝日のみの小学校の非常勤教員として働いていた時は時給1000円.
家庭教師は時給2000円だった.

塾講師や家庭教師も自分の知識を資本としてバイトが成立しているわけだが,エンジニアバイトも技術力や専門性を資本として成立するものなので安売りをする必要はないと考える.

会社にも種類がある

  • 受託開発
  • 自社サービス開発
  • 研究開発
  • 地域密着系

など,考えただけで様々存在する.

受託開発

会社によっては案件で給与がスケールするものもあるが,基本的に安いところが多い気がする.
給与は安いもので時給800円前後からスタートするよう.(そして観測範囲ではmax1500円程度だった.)
業務は普通の開発系と同じで,技術選定も案件依存.(したがって,チャレンジングな事ができるかはその案件と上司次第.)
それから給与は「予算が案件次第で変化してしまう」かつ「一度あげてしまうと下げにくい」という問題があるらしく,慎重に対応されているという話も聞いた.

自社サービス開発

給与に加えて,技術や人間で選びやすいのがここかなと思う.
給与の基準も会社によってかなりマチマチ(1000円前後もあれば,2000-3000円も観測している)だと感じる.
例を挙げると,C^A系列は時給換算で1000円前後が多かった.(都内でコレだったら上がらないのも仕方ないなと思う)
会社は相性も含めて選択すると良いが,個人的にはわざわざ1000円前後で働く必要もないとも思う.
交通費支給かつ1000円前後をよく見るが,フルリモートで時給2000円みたいなベンチャーも普通に存在することを知った方が良い.*2
「日給n円」や「案件を完了したら給料が発生し,時給換算で最低賃金をゆうに下回る」案件も観測している.給与形態は確認すべき.

研究開発

筑波大学付近では研究所があり,応募すればバイトする事ができる.
例えば産総研などでは(個人の能力によってスケールするが)1500円前後でバイトできるようだ.
研究組織では基本的に自分の研究に繋がることも多いようで,学会への出張費の申請等も研究組織でできるらしい.

一方で筑波大学所属の研究所は一律800円程度と聞いたので所属組織に影響を受けるようだ.
それから,筑波大学では大学院生に対してTA(ティーチングアシスタント)として授業の補佐をする事で報酬を渡す制度が存在する.
TAは私も行なっていたが時給換算で1200円前後だった.授業の時間外労働分は私の観測範囲では支払われない事が多い.オススメしない.

また,私は大学のGFESTという高校生に研究に関する専門知識を指導し支援するプログラムに半ば無理やり参加させられることになり,時給1000円で高校生にディープラーニングを教えるバイトをさせられていた.*3*4
ちなみにバイトの給与は支払われた事がなく,高校生も期間中に失踪してしまったので結局大学機関に対してヘイトを溜めるだけになった.*5

参考までに以下にプログラムの詳細を添付する.
gfest.tsukuba.ac.jp

地域密着系

主観ではこの手の企業が一番危ない.
大学に入学したての新入生が誤って入ってしまい搾取される事があるので注意した方が良い.
未経験者でも受け入れる懐の広さが利点だが,「給与交渉」や「給与の見直しが行われるか否か」を最初に確認しないと安い賃金で買い叩かれ続けることになる.
それから新入生は「安易に起業を持ちかける」悪質なタイプのベンチャーキャピタルにも気をつけた方がいい.*6

バイトの給与を上げるためには

では実際に給与を上げる方法を考える.
結論から言うと,ベースラインを最初からある程度の位置まで上げるのが最短.
上げた上で「◯◯社ではn円で雇われていたので考慮して欲しい」と交渉するのが一番手っ取り早い.

高額の有名インターンなどに受かるレベルまで勉強する

正直これか,後述する研究開発のベンチャーで働く事が後の交渉において最短であると考える.
例えば,L^INEは1ヶ月のインターンで40万の報酬が出る.D^eNAでは3日間で10万円と高額である.
実際に自分が参加したメ^ルカリのインターンも日給2万の報酬が出る.
shopetan.hatenablog.com

リ^クルートのインターンでは日給こそ1万円であったが,会社で昼飯が奢られ,文字通り毎日銀座近辺の高級店で鰻や寿司といった食事をしていた記憶がある.
それから,インターン終了後の継続バイトは時給1500円からスタートしている人が多かった.
shopetan.hatenablog.com

C^Aでコンペ形式のインターンに参加した時は日給1万であったが優勝するとMacBookが降ってくる制度だったので,優勝すれば+15万超得することになり,結果的にこれも良かった.
shopetan.hatenablog.com

それから参考までに,TDのインターンに参加したnzwさんは月給40万で働いていたらしい.
Treasure Data Summer Internship 2017 #td_intern


そこそこ選考も厳しいので,これらをある程度ベースラインとして利用すると良い.*7
余談だがこれらの企業は宿泊費も出るので,我々地方学生が疲弊することもない.

LINE株式会社 | インターンシップ 2017
【DeNA サマーインターンシップ 2017 募集開始!】
https://www.mercari.com/jp/recruit/internship/
WINTER INTERNSHIP 2018 -ENGINEER- | findknow

研究開発のベンチャーで働く

研究開発関係のベンチャーも同様にして給料が高額であり,かつ自身の研究に活かせるのでオススメ.
私は教育と機械学習について研究をしており,この手の面接の際にNLPのエキスパートを探しているので無理」と断られたので実際に働いたことはない.*8
実際に働くためには高い専門性を求められるが,反面能力があれば無限に給料がスケールするので良いはず.
PFNでは夏季インターンの報酬として1800円が決められているが,その後のバイトは人によってスケールしているらしい.

PFN 2017夏季 インターン募集 – Preferred Networks

バイトの辞めどきと辞めにくいバイト

辞めどき

消耗していることを自覚したらやめるべき.
私も過去に理不尽を感じて消耗したのでバイト/インターンをやめた経験がある.
しかし,組織で働くと知り合いも増えるので,そういった人たちを経由して面談/面接をし他社で働くと良いと思う.
その際に給与交渉と業務形態の確認を怠らずに.

辞めにくいバイト

内定者バイトや大学内で人がいないなど「やらざるを得ない」タイプのバイトは給与交渉次第だと思う.
G社の内定者バイトは1200円,C^Aは1000円と聞いた.(もちろん人によるとは思うが)
個人的には,現在の内定者バイト = 実業務の先取りが多いにも関わらず,新卒のオファー金額に遥かに満たない金額でバイトをさせるのは些か問題ではないかと思う.
交渉の余地がないのならば素直に最初に断るしかない.

まとめ

実力で殴ってベースラインを上げると消耗しにくい.
自分の過去を振り返ると,高賃金の家庭教師で隙間時間に稼ぎながら興味のある機械学習やエンジニアリングに関する勉強/実装をしていたので,あながち失敗ではなかったと思う.
企業で働く場合は実績が可視化されにくいので,結論としては有名研究室で研究をし,業績をしっかり作る&研究開発ベンチャーで働く方法が一番いいと思う.

この手の話題で「時給が安くても勉強をさせてもらっているので問題ない」という論調で反論する人がいる.
しかし,先述したように(比較的)給料が高くてレベルの高い環境で勉強できる企業はたくさん存在する.

加えて,自身のアウトプット(github,blog,slideshare,論文 など)はどの企業に対してでもアピールできるが,大体どのようなベンチャーであっても企業内で行った業務は秘密保持契約を結ぶため,他社の方に説明できない問題が発生する.*9
昇給しにくいバイトをし続けるよりも,技術/知識のアウトプットを行いサクッと高給バイトをした方がトータルの収益は大きくなる.

やりがい搾取の思考は悪なので早急に滅びることを願う.

*1:これは自戒も込めて.勉強に時間を割いた結果エンジニア新卒で一般水準(400-500万前後)の倍近くのオファーを受けている人を知っている.

*2:最近ではSNSで優良企業が良い待遇で募集しているケースを見ますね

*3:研究科単位で請け持ちが決まっているらしく,院生が誰か1人は犠牲になる必要があった事,それから僕の周りにはこの分野を指導出来る人間が居なかったので仕方なく請け負った

*4:大学側には「業績として書けるよ」と言われたが中学生に受験勉強を教えるのと同額のプログラムを業績にはしたくない

*5:連絡がつかなくなったので失踪と呼んでいます.

*6:悪質なタイプの方は安易に起業させられるか,VCが持っている会社でいいように働かされることになる

*7:実力と交渉次第だが継続的にこれらの会社でバイトすることも可能である.私もこのタイプで,現在もインターン参加時以上の賃金で働いている

*8:私がNLPに関する研究知見が無かったわけではないので当時は不満だったが,「ピンポイントで会社として必要だったこと,エンジニアリングの歯車として使い潰したい訳ではないため採用を見送った」と返事をもらったのである程度納得感は得た.

*9:自分はインターン出稼ぎマンであったので,実務の具体的な説明ができず,苦労した.しかし自分の分野はMLなので沢山の企業の大規模データを解析した経験とアウトプットは非常に役立っている.

9月と10月

生きてます.

研究室のあれこれ

研究室での運用は難しいという話.
個人的にはそれくらいの周辺知識は持っていてほしいなと考えるわけですが,難しさも当然あるなと思う.
特にM2,B4は一部を除いて基本的に研究室に来ないので彼らとのコミュニケーションはまず諦めないといけない.
加えてそんな彼らに対して指導をすることは一学生の身分では不可能なので,研究室を脱出する以外の方法はないと思った.
未来の明るいB3生の研究室配属が決まったので,個人個人のパワープレイで殴っていける組織教育をしていきたい所存.


リスペクトし合えない文化は嫌いという話.
他所の組織を貶すのも構わないが,発言には責任を持ってほしい.

その他大学院の話


基本的に弊大学院は他所の大学院と比較して卒業に必要な取得単位数も多く,面倒な課題も多い.
上記のツイートは学内での自身の研究発表に対して受けたレビュー(質問用紙)に回答するレポートの話(必修).
研究発表をする以上は議論がしたいので,分からなかったという当日の質問は基本的に歓迎.
が,分からなかったことを分からないとコメントだけされても,何が分からなかったのかが分からないので非常に困る.
要はロクでもない課題を出すなということ.

slack障害時

みんな帰りたいのだと思った.

研究や面白い論文の話

いわゆる最適化問題を解くという問題に帰着した.

Y.Ito, S.Oeda, and K.Yamanishi: “Rank selection for non-negative matrix factorization with normalized maximum likelihood coding." Proceedings of SIAM International Conference on Data Mining (SDM2016), pp:720-728, Mar. 2016.

NMFなどの行列因子分解では行列を分解する際に適切なrank数(何行何列の行列に分解するか)を設定する必要がある.
人間や専門家が決定したrank数は情報理論的に正しい根拠がなく,専門家が決定した内容が正しいとは限らない.
そこで情報理論における符号化長の決定に用いるNML(正規化最尤符号化長)に基づいて推定できないかという話.

情報理論に基づいた推定方法はAIC,BIC,MDLなど様々なものが存在するが,どの手法も潜在変数(この場合,rank数が潜在変数となる)が含まれる場合は適切なパラメータを決定することができない.
そこでこの研究では完全変数化という方法を用いて観測変数と潜在変数を同時に現れるものとし,rank数の決定に応用している.

潜在変数の現れる非正則なモデルを情報理論に基づいてどう求めるかは山西先生の文献が参考になった.*1

仕事などの話

9月

メルカリのインターン期間は8月いっぱいであったが,無事に成果を出せたこともあって長期バイトという扱いに変化した.*2
会社では同期の行なっていた業務の内容を引き継ぎ,精査された本番環境にデプロイするところまでを行なった.
久しぶりにPRレビューバトルを行なったがコメントは余裕で100件以上指摘していただいた.
自分にこれだけの時間を割いてくれるのもありがたいですが,それ以上に質の良いものを本番に持ってくというプロフェッショナル精神とマンパワーに圧倒される1ヶ月だった.
特に平気な顔してすごいことをやってのける人ばかりで,まだまだ自分は未熟だしエンジニアリングも足りてないなと思った.
「データサイエンスを扱ってる人は会社によっては分析だけが仕事になる場合があるが,君は機械学習エンジニアなので,エンジニアリングも徹底して出来る人になってほしい.素養あるし頑張って.」と,終わらないレビューで凹んでいた自分に対してメンターさんから激励をもらった.
期待に応えられるだけの地力を残りの学生生活でも身につけられるように勉強する.

そのほかに,会社に居て良かったなと思うのはベースラインとしてよく用いられるナイーブベイズ君を好きになったこと.
分類に深く影響する特徴量の影響度合いを調べるのも簡単だし,何より早い安い旨いの3拍子揃ったようなイケてるやつだなと思った.
全然利用していなかったがclass_weightもデータによってはいい影響を及ぼすものもあって,それぞれのオプション引数も深掘りしていくと面白いなあと思った.

10月

絶賛無職.*3
丸々2ヶ月間,ぶっ続けで会社で働いていたので,筑波に帰ると鮮度のいい情報を追っていくのも大変だし,何よりクリエイティブなことが少なくてフラストレーションが溜まることが多々あった.

それと,10月末にBOLDインターンシップという海外派遣のインターンに参加することが正確に決定した.
英語が喋れない(というかBroken English)なので抵抗なく会話できるように,まずはちゃんと英会話をやろうと思った.*4
ボストンに行こうと思うので,ボストンに知り合いがいる方がいましたら是非繋いでいただけると幸いです.

今月読んだ本

ビットコインとブロックチェーン:暗号通貨を支える技術

ビットコインとブロックチェーン:暗号通貨を支える技術

ブロックチェーン周りの教養は持っていて損がない.
なんとなく技術概要は知っていたがマイニングもしたいので体系的に勉強しようと思って買った.
ざっと見だけどエンジニア素養のある人は抵抗なく読めると思う.
情勢の変化が激しいのでこれ以外にも時事関連のキャッチアップを引き続き勉強する必要がある.あくまで手元にあると良いなって感じの本.

今月の目標

  • EMアルゴリズムの実装
  • DeepLearning本 8章をちゃんと読む
  • 英会話を週3以上やる
  • 残りの半分の日はRustで競技プログラミングの問題を解いていきたい
  • 誕生日をエンジョイする(昨年度送っていただいた方でお返しもらってない! って人は是非一声おかけ願います)

amzn.asia

*1:山西健司: 「記述長最小原理の進化:基礎から最新の展開」電子情報通信学会Fundamental Reiew, 第10巻第3号, pp:186-194, 2017.

*2:正確にはもっといい待遇

*3:請け負ってるタスクはあるが大したことないので実質無職

*4:週1でやってたけど頻度を上げようと思う

mercari Summer INTERNSHIPに参加しました.

追記: 2018年度の募集要項がオープンしたようです!
mercan.mercari.com


機械学習エンジニア(以下ML)コースに行ってました.

f:id:shopetan:20170902224805j:plain

3行まとめ

  • 成果を残す姿勢がすごい
  • メンバーがみんな強い
  • 待遇もいい

参加まで

メルカリでは,長期インターンという形でのインターンシップの受け入れを通年で行なっています.
今回,サマーインターンという枠組みで募集をしたのは会社として初めてのケースだそうで,今回の参加者が1期生でした.
MLコースでは,軽いESの提出に始まり.
事前課題 -> エンジニア面接 -> PM面接という順番で選考が進みました.

事前課題

事前課題はソフトウェアエンジニア(以下SW)コースとMLコースで異なる事前課題を提出する必要がありました.
mlコースではいわゆるkaggleのような形で,機械学習に関する知識や技能が求められるような課題でした.
口外するなと言われているので詳細は内緒です.
受かった同期に聞く限り,超簡潔に記述した人や長文でアレコレした人もいれば,本筋とは違うものの思考の過程が評価されたという人もいました.

面接について

エンジニア面接とPM面接がありました.
履歴書を持ってくるようにと言われたので,過去にやってたプロダクトや研究,インターン歴などなどざっくばらんに記述した紙1枚持ちながら面接に行きました.
前者は現場(配属先)の社員の方で,僕は事前課題の話や最近の技術的な諸問題やらサービスに対するフラストレーションを話した気がします.
後者はPMの方でしたが,履歴書のウケが良く,ずっとエンジニアサイドの話をして終わりました(楽しかった).

参加決定後

前日まで宿泊先の話が進んでいなかったので死ぬほど不安だったんですけど,結局宿は出ました(嬉しい),筑波生に優しい会社だった….
特にインターンの内定者で事前交流があったわけでもなく,ふらーっと当日出社したらそれっぽい人が居て喋ったらインターン生だったって感じでした.
後から聞いた話ですが,どちらもかなり選考は厳しかったそうです.
MLがSWよりもわずかに多かったのですが,それは「優秀な人が多かったから」と仰っていました.
実際インターン生の自分から見ても皆優秀で,普段の雑談でもDeepやML全般の会話が不自由なく意思疎通を図れたので最高でした.

待遇

日給2万でした.
月収40万のL社やMS社,TD社よりも高かったです(今年は22営業日あったため,トータルで44万).
宿泊先は六本木に近い西麻布(セレブ街!!)で,可愛いお姉さん見ながらフェスやカンファレンスのTシャツを来て出勤するエモい日々を送っていました.

開発などの環境

最新版のMBP(i7,15inch, 16GB, 256GB)でキーボードの選択が可能でした.
「モニタ欲しい」ってワガママを言ったらモニタも普通に貰えました.
社員のエンジニアの人には任意のディスプレイを支給しているそうです.4Kのディスプレイで作業している人が多々いました.
椅子はオカムラの椅子で,腰痛持ちの自分もハッピーライフを送れました.
それからMBP以外にも,デカめのデータを扱う場合,オンメモリに乗らない規模感になるので,状況に応じて適宜GPUインスタンスやメモリ増し増しインスタンスを立ち上げて貰えました.

社員さんとの距離感

とても近い(物理的にも)です.
2 on 1や1 on 1の形で社員さんがメンターとしてサポートをしてくれました.
毎日必ず30分程度の打ち合わせを行い,その日に行った業務のフィードバックや方針決め,それから議論などを必ず毎日できる環境でした.
それ以外にも,手法や技術で詰まった時にslackで気軽にメンションが飛ばせることが大きいです.

インターンのタスクなど

インターン生が行なっていた業務のタスクは,順次メルカリのエンジニアブログに公開されるかと思います.(なのでこの場では触れません.)
それぞれのバックグラウンドが考慮されたようなタスクで,あらゆるデータを駆使して行っていました.
メルカリの機械学習の事例について,以下のスライドで発表されいてるものもありますので,参考にしていただけたらなと思います.

speakerdeck.com

真面目な話

成果と報酬について

インターンの初日にVP of Engineeringの方から「なんらかの形で爪痕を残していけ」という言葉を頂きました.
これはインターン期間中,常時心に刺さっていて,そのほかの方からも「成果を出してください」という言葉を定期的に頂いていました.
結果的に目に見える形で成果を残してインターンを終えたわけですが,このプレッシャーがあったからこそ良い物を作ったり,残したりすることができたのかなと考えています.
参加前に冗談で「使えない人材だとメルカリで売買される」と話していたんですが,能力が基準に満たない場合はインターン中に足切りをする可能性も本当にあったそうです.

会社としてGo BoldBe Professionalという考え方をとても尊重していて,「成果を出すための障害があるなら取り払う」「成果には適切な報酬で支払う」ということが徹底されていました.
実際の環境や距離感の項目からもそれは見て取れると思います.全ては成果を出すというところに注力されているのだなと,参加後にひしひしと感じます.

他の参加者について


ツイートでも言及した通り,本当に皆優秀でした.
(優秀な代わりにみんながあらゆるベクトルで尖っていて,SW組の人たちが引いていたのを覚えていますw)
ML組の成果発表がSW組よりも早くに終わったせいか,何故かVPEの人やPMなど偉い人たちの前で,僕がSW組のみなさんに対してオープニングトーク(要はエール)をさせられたのが面白くて笑ってました.

それから,これはトゲのある発言ですが,ML組の方がSW組よりもエンジニアリング力が高かったらダサいですし,SW組の方がML組よりもサイエンスを理解していたら恥ずかしいですよね.
このインターンではそういうギャップ感が全くなく,本当にお互いにリスペクトしあえる人たちで構成されていました.これは本当に良かったです.

一貫して学んだこととか

去年のリクルートテクノロジーズでのインターンで,
shopetan.hatenablog.com

  • 表面上のデータ分析しかできない人はクソ.
  • 人に理解や納得をしてもらうためには可視化しないとダメ.
  • 「やってみた」から抜けるためにはサービス特有の問題や原因を突き止めるところからやろう.
  • 常にアンテナを張り続けてないとおいていかれる.

という教訓を記述していたのですが,その教訓がこのインターンでも活きました.

感じたのは,「サイエンスか否か」というところで,行動に理由が必要という事でした.
仮説検証に始まり,データ設計,前処理からモデルの設計.
モデルの設計をしたら今度は手法の適切さの洗い出し.評価方法も考える.
何を優先して何を諦めるのか,その基準や閾値は一体なんなのか.
とにかくこれらすべてを1ヶ月徹底的に叩き込まれていました.
インターン開始数日で「君のやってることはサイエンスではない」と言われた事が今でもショックで覚えています.
結果的にその挫折感が成果につながったと思う事と,正しくサイエンスをしていれば,どんな鋭い質疑を浴びても論理的に説明ができるということを学びました.
これは就職する前に学べて良かったなと心から思います.

総じて

良い会社でした.
今後僕の関わってるタスクも本番環境に乗っかっていくはずなので楽しみにしていて下さい.
僕は今後とも長期インターンとしてMLの部門にアサインされる事が決まっており,9月1日も普通に出社してました.
来年度以降も開催されるかと思うので,優秀なメンバーと積極的に挑戦したい人は是非応募してみると良いかと思います.
今後ともよろしくお願いします.

f:id:shopetan:20170902233114j:plain

7月

夏ですね.

出来事

研究室


おかげさまで人は死んでませんでした.
でも相変わらず研究室は深夜まで電気がついテイル.
誰かに強制されて残っている訳ではなく,各々が好き勝手している感じで僕も楽しい(研究はしていない).
まぁやることが多いのはいいことだと思う.

課題のあれこれ



授業のTAという形で,学部2年生の演習授業に携わっていた.
特に,WEBアプリケーションを作るタスクは1年生では無かったはずなので大変だったと思う.結構な人数のプログラムをお手伝いしていた.
その甲斐あってか大学で声をかけてくれる子やだる絡みしてくれる子が出来てちょっと楽しいなと思ってる.


昨年度とかはTAが授業時間外に手伝いをする文化があった訳ではなく,自主的にやっていた.
時間外労働に該当するので無給な訳ですが,自主的にやっていたのは理由があって

  • 自分が学部生の頃,編入生の同期が(文字どおり)泣きながら課題をしており,その手伝いをした経験があったので,なんか見てられなかった
  • 当時のTAは結構無機質な人が多くて嫌だなと思う経験があった
  • どうせならちょっとでもプログラムを楽しいと感じる瞬間があって欲しかった

ざっとこんな感じ.
特に1番目と3番目は自分に通じるところがある.
高専の頃は本当にコードが書けず,色々な人に迷惑をかけていた.
当時わざわざ付き合ってくれていた友人には本当に感謝しているし,自分も何らかの形で困ってる人に還元したいなと思っていた.
その還元の機会がたまたま今回だっただけで,まぁそれ以上の深い意味はない.
3番目に関しては,自分も自分で考えたコードがうまく動いた時の喜びを知っていたし,徐々にプログラムが出来上がっていく楽しさも知っていたので,
少しでもそれを感じてもらえれば苦手と思わず興味を持ってもらえるかなという理由だ.


でもそれ以上に授業がきっかけで仲良くしてくれる人たちが増えたことの方が大きい.
だる絡みしてくれる皆さん,だる絡みに付き合ってくれる皆さんありがとうございます.

2年生と一緒にお疲れ会をした(していただいた).
研究室に帰ったら「犯罪」「違法飲み会だ」等の罵倒を受けた.

夏休みについて

研究室の先輩で月収40万プレイヤーが出現したかと思えば,無事に自分も月収40万プレイヤーになれました.
六本木にいるので東京近辺の皆さんご飯に行きましょう.
8月中は六本木OLとしてきかいがくちぅや,でーたぶんしぇきをする予定です.

バイトのこと

エンジニア的なバイトの話

ひと段落して,大手から重めの案件が降って来てそれをやってる感じ.
業務的にはきかいがくちぅがやれているのでやり甲斐を感じるし楽しい.


本当にこのツイートの通りで,責任を感じるがうまく昇華していいものを生産したい.

教育的なバイトの話

GFESTという筑波大学内で行われている取り組みに不幸にも参加することになった.
gfest.tsukuba.ac.jp

どういう取り組みかを3行で説明すると,

  • 全国の優秀な取り組みを行う高校生に
  • 大学側でそのサポートを
  • 学生に時給1000円でやらせる取り組み

です.
家庭教師,塾講,小学校の休日の特別教員,保育園の先生の補助などいろいろやりましたが,これは中学生に数学を教えるのと同じ値段です.
大学として力を入れて取り組んでるプロジェクトらしいですが力を入れてる割に随分適当だなと思いました.
僕が引き受けることになった理由は単純明快で,「M2の先輩がやりたがらなかったこと」と「B4のほとんどが連絡がつかないこと」が原因です.
エンジニアバイトもGFESTも同じレベルの知識や経験を必要とするのに倍以上給料に差があるならやりたがらないのは普通かな.
知識や技術の安売りはしてはいけない(戒め).


競プロのアレ

決して虚無ではないけど,実績や成果という意味では虚無だった.
相変わらず競プロはしてるけど数が絶対数がまだまだ足りず,頻出問題やDPの初歩すら出来ないので無知は厳しいという感じ.
AOJの基本問題みたいなアレが7,8割終わったのでもう少しって感じ.頑張りたい.

本を読んだ

高専に入学してからはノベルゲーをするくらいで後は全部参考書や専門書だったせいか,自分は言葉選びが滅茶苦茶下手である.
文章が中心だと,堅苦しい言葉遣いや時に相手を誤解させるような表現をしてしまうので治して行きたい.
ところで本を読みました.

「僕は明日,昨日のきみとデートする」の作者の本です.
中盤から一気に面白くなって夢中で読めた.自転車二人乗りはいいぞ.
読み終わると「今日も結婚できなかった」と呟くことになる.

原作が「寿命を買い取ってもらった。一年につき、一万円で。」というもので,大筋は同じ.
話も結末も知っていたけど,それでも面白かった.
今ネットでweb漫画も掲載されているので,興味がある人は原作の名前で調べると良さそうです.

7月の反省

7月にしたいこととして,

  • おさんぽ
  • (交際費以外の)節制
  • いろいろな人と出かける
  • いろいろな人とご飯を食べる

を挙げたが出かけること以外は達成した.
人と会って話すという行為は重要だと思った.

8月にしたいこと

  • 責任を負う
  • 成果を出す
  • お金を稼ぐ
  • 体調管理に気をつける
  • 綺麗なものを見る

です.
8月に重めのタスクが鎮座してるのでそこでしっかり成果をあげることが目標.
お金は成果に伴ってついてくるでしょう.
2017年の正念場なので体調管理に気をつけて頑張ります.

6月

(ほぼ)毎日研究室に居た.

競プロをやり始めた.

これは表題の通り.

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

これを見ながら,AOJ(下記URL)のアルゴリズムとデータ構造に関する問題を解きまくってる.
AIZU ONLINE JUDGE
ようやく大体半分解き終わったので8月までには全問解きたいなと思ってる.

気をつけようと思ったこと

時間を決める

一人で考えて「うーん,う〜〜〜ん」と唸っていても解決しないことが1ヶ月ほど取り組んでよく分かった.
例えば計算量にしてもDPにしても,元々自分の頭に知識のない事は考えても解けない.

質より量を取る.

とにかく今はinput量を大事にしたい.
2回ほどAtcoder のコンテストに参加してみたが,ABCのC問で時間を消費する事が分かった.
コンテストは時間設定が決まってる分,時間が余れば余るほど贅沢に最後のD問を考えられる.
素早くB-C問程度の問題を解けるようになり,D問を残り時間を目一杯使って解くことを暫くは目標にしたい.

振り返りの時間を週に1度は作る

量を維持するためにはコンスタントに問題を解く必要があるが,全部の時間を解く時間に当ててしまうと類似問題でコケる気がするので週に1度は復習の時間を設けようと思った.
週3~4でB-C問レベルの問題を数問解き,週に1度D問をじっくり考えて解く.
加えて今週解いた問題について振り返る時間を週1で作りたい.

やってること

  • 常設のAOJでデータ構造とアルゴリズムに関する問題を解く
  • yukicoderで★3未満の問題を時間を決めて解けるだけ解く
  • Atcoderのコンテストに参加する(暫くはC問までは2ミスまでで素早く解く事を目標に)

あれこれデータ分析をする

所感

Deep関係が持て囃されているので自分も趣味研究で利用してるが,最近は機械学習周りの新卒を取る基準は「Deepを研究で利用していてそれなりの知見を持っていること」のように感じる.
自分は教育データマイニングをメインで行っており,その過程でミニマムなデータに対するスパースモデリングや行列分解をしている.
Deepはデータ量や計算機資源が十分無いと厳しいのでメインの研究に導入しようとは思わない.
加えて,学習過程があやふやなので「教育データから価値のある情報を入手する」という目的にはマッチしないのだ.
しかしながら,世間的にはDeepのできるエンジニアが重宝されているようで.
できるって何だ?って思うけど基準は前述したとおりでDeep研究をしている人ができる人のベースラインに感じた.
研究という「自ら課題解決を行いたい分野」と「企業が求める人材・分野」とのズレを最近感じていて厳しさがすごい.

やってること

愚痴が増えて来たのでこの話はここでやめるが,kaggleのデータ等を利用して自分の腕が鈍らないように研究とは関係のないデータ分析を行うようにしている,という話.
対象は画像,音声,自然言語など様々.
自分の目標に,「データサイエンスを理解し問題解決に適切な機械学習手法を扱うエンジニアになる」というのがある.
フロント,バックエンド周りは書きたくなさが凄いのでバイト程度に留めて自分の強みを伸ばせる方向に勉強したいと思う.

特に今月はアンサンブル学習の手法や論文を読んだり,「kaggle master」と呼ばれる人たちの参加報告記事を参考に実データに対する分析の知見を吸収できているので悪くはなかったと思う.
強く感じたのは「アンサンブルの前に特徴量選択や追加,削除を柔軟にできるようにする必要がある」ということ.
特徴量選択の追加は外部データを利用したり,データの加工方法によって様々な事が可能みたいなのでこれも試していきたい所存.
また,特徴量をdropして複数のモデルでアンサンブルする方法など,色々勉強になることが多かったので実りはあった.

研究

教育というニッチな分野をやっているとデータ収集にヘイトを溜めるケースが少なくない.
これは教育に関する事業を行っている会社や大学などの教育機関でしか出来ない研究だと思うので価値はあると思っているが自分のペースで進まないもどかしさもある.
実際今月も虚無虚無プリンだったが,ようやく実データがまともな形で入手できたのでちょっとは進展しそう.

そのほか

進捗&時間管理

Githubでカンバンを建てて週ごとの進捗管理をするようにした.
見にくいが,小さなIssueを複数発行して,週+毎日のタスクやノルマの管理を行っている.
毎日行うようなタスクは[daily]というタグをつけて発行するので,完了したら次の日に移動するだけでいいので楽ちん.
f:id:shopetan:20170703001724p:plain

本を読む

今月はこれを読んだ(読んでる).

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

為になったことを纏めるためにこれに関する記事を別途で建てようと思う.
エンジニアの人生を豊かにする方法が書かれている.
面接を効果的に乗り越える方法や履歴書など就職に関することも勿論,フリーランス,起業などに関する内容も載っている.
個人的に面白かったのは,エンジニアが結婚相手を見つける方法や筋トレに関する項目.
どのように自分をコントロールすればよいかが分かるので,この本から学んだことは多い.

深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ)

深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ)

こっちは研究室のドメインNLPの教養も必要なので勉強に.
いわゆる「出た!本」です.
まだ前半しか読んでいないので今度読み切る予定.

7月にしたいこと

  • おさんぽ
  • (交際費以外の)節制
  • いろいろな人と出かける
  • いろいろな人とご飯を食べる

です.
社会性を保つためにも,自分がストレスを溜めないためにも上記のことはやりたい.
とにかく研究室に引きこもりがちなのでいろいろな人と出かけたり,ご飯を食べたりなどがしたい.
来月以降になりますが,ウルトラジャパンや各種フェスに一緒に行って楽しんでくれる人も募集しております.
遊びましょう.

(お願い)back numberのインディーズ曲は最高なので聴いて

back numberを聴いてください

彼らは2004年に活動を開始し,2011年ごろにメジャーデビューを果たした.
今や著名なアーティストとして名を連ねるレベルで人気だ.
特に2013年に発売された「高嶺の花子さん」や一昨年の「クリスマスソング」などが有名だろうか.
キャッチーな曲調とセンチメンタルな歌詞が重なって最高以外の語彙が出てこなくなる.

直近で好きなのはこの「ハッピーエンド」という曲で,PVに出てくる女の子が可愛かったり歌詞がどうしようもなく女々しかったりして最高の気持ちになる.なります.


back number - 「ハッピーエンド」Music Video

ハッピーエンド(初回限定盤)(DVD付)

ハッピーエンド(初回限定盤)(DVD付)

ボーカル&ギターの依与吏さんが全楽曲の作詞作曲をしているのですが,back numberといえば恋愛ソングという風に捉える人も多いのではなかろうか.
「失恋の曲」や「今でも相手を忘れられない」系の歌詞を書く人でここまで女々しい人はいないんじゃないかと思う.

青いまま 枯れてゆく
あなたを好きなままで消えてゆく
私をずっと覚えていて
なんてね 嘘だよ 元気でいてね

これは「ハッピーエンド」のサビの一部なのだが,最悪級に女々しいね,最高.
私をずっと覚えていて という癖に,嘘だよ元気でいてねって… もう言葉が出ない.
最高だけど最悪.この歌詞だけで100いいねは押したい.

インディーズ曲がたまらなく女々しい

まぁそんなことはよくて,一般人受けするとかそういうのを抜きにしてもっと女々しい曲たちが聴きたい…聴きたくない?
有名になったのがメジャーデビュー後なのもあって,インディーズの楽曲は知名度がない.

逃した魚

逃した魚

あとのまつり

あとのまつり

現在流通しているインディーズのアルバムはこの「逃した魚」と「あとのまつり」の2つである.
タイトルから既に女々しくない?最高.

逃した魚

このアルバムが発売されたのは2009年で,私が彼らを知る2年以上前だった.
以下が曲のリストである.

重なり
春を歌にして
sympathy
then
海岸通り
KNOCK
西藤公園

この中で,春を歌にして と 西藤公園はPVが製作されているので観て欲しい.

www.indiesmusic.com
www.indiesmusic.com

個人的にはこのアルバムがback numberの中で最高のアルバムだと思っている.
なぜなら,全ての楽曲が恋愛絡みだからだ.しかもほぼ成就しない.

「重なり」は独特の歌詞と疾走感のあるバンドサウンドで彼らの曲の世界に浸ることができるし,そこからの「春を歌にして」で2曲めなのにクライマックス同然のバラードをぶっこんでくる.
このアルバムがポップからロック,バラードまで全てを網羅している.しかも恋愛曲のみで.
これらを聴いて「好きだな」と感じてくれれば,こちら側の世界に染まって欲しい.というか,染まってください.
兎に角全ての曲が良いと言い切れるアルバムだ.

ちなみに余談だが,「fish」という楽曲は彼らがインディーズの頃に作曲したものを歌詞を変えてアレンジしたものである.
このPVでは女性目線だが,インディーズの頃の歌詞では男性目線になっている.とてもいいのでそれも聴いて欲しい.

back number - fish

fish (初回限定盤)(DVD付)

fish (初回限定盤)(DVD付)

あとのまつり

stay with me
あとのうた
浮ついた気持ち
風の強い日
tender
そのドレスちょっと待った
おまえさん
ハイスクールガール
Life
fallman
march
いつか忘れてしまっても

あとのまつりのアルバムで有名なのは「stay with me」だろうか.
www.indiesmusic.com
ゆったりとした暖かいバラードである.
個人的には女々しさが足りないのであまり好きではない.

back number色が強い曲は「浮ついた気持ち」「風の強い日」「fallman」だろうか.どれも怨念集合体のようなドスの効いた曲ばかりである.
それから,ライブなどでよく演奏されるのは「そのドレスちょっとまった」であり,これはそのタイトルの通り,結婚する元彼女へ という目線で書かれた曲である.
この曲は普段の歌詞ならドロドロになるまで後悔しそうな怨念が歌詞になろうかというところを,とびっきり明るい曲調に加えて元彼女を祝うような歌詞になっており,「逃した魚」から聴き続けているとドン引くくらい明るい.
比較的このアルバムは明るめの曲で構成されているので,近年のback numberが好きな場合はこちらのアルバムの方が好きになるかもしれない.

終わりに

ポエムを書くのが憚れていたのだが,好きなものを伝えたいという一心で本当にクソポエムを書いてしまったと思ってる.
彼らの楽曲はPV含めてフルサイズでネット上に上がっていないこともあり,特にインディーズの曲は聴く機会すらないと思ったので紹介した.
女々しい曲が好きな方,是非聴いて.
ちなみにyahooの歌詞による類似アーティストのサジェストでは,back numberに最も似ているアーティストは「クリープハイプ」となっている.よくわかる気がする.
about.yahoo.co.jp

f:id:shopetan:20170628040900p:plain
類似アーティストにアイドルが多いのを見ると,キャッチーな曲が多いのも頷ける.

心だけ置いていかれたまま,夏が始まっていた

気がついたら夏が始まっていた.

真面目な事や研究に関連しそうな事はQiitaに書こうと思っていたものの,それ自体も何かのn番煎じな気がするので筆が進まず結局1年以上技術的な話を書いていないことに気付いた.
字を書くのが苦手なワケではない.


1年ちょっと前に,色々な物事が崩れて心がポッキリと折れた.折れたまま再生しないで無駄な1年を過ごしていた.
自分で無駄と認知できる期間に起きた内容を書き留めるのはどうにも心がしんどいので書かなかった.それだけだった.


最近はどうかというと,院進があった事,学部生の授業のお手伝いなどで学内に知り合いが増えた.
皆それぞれ夢があったり目標があったりして「自分も頑張ろう」と結構な元気をもらった.
個人的にも客観的にも学部4年生の頃と比べて随分元気になったと思う.みなさんご迷惑をおかけしました.

今年3月まで

色々あったが大きかったのは「卒業」と「学会発表」だと思う.

卒業

今年の3月まではマジでこんな感じで,心がどこか遠いところにいる感覚を味わっていた.

個人的にはクリスマスに研究室に行ったら誰もいなかったことも結構心にきていた.

自分は3年次編入という形で大学に編入してきた.
人によるとは思うが,編入生という性質上 内部生の友達はそこまで多くなかった.
幸い,研究室周りの人間や指導教員に恵まれていたこと,他学類の編入生とは結構な人数と仲が良かったこともあり,学内で孤独死するような事はなかったのでそこは感謝したい.
特に,同期でklisに編入してきたklis13編入のみんなには救われたことは多かった.
男子4人に対して女子12人という比率であり,高専の頃と比較しても女性と接する割合がぶっ飛んで増えたため適当人間の自分は色々苦労もあったが,それでも仲良くしてくれる同期には感謝してもしきれない.ありがとう.
色々と思うところがあり,卒業旅行も行かない予定だったのだが,なんだかんだ行って良かったと思っている.

そんな同期も半数以上が卒業し,大学院に残っているのは5人である.
卒業式,自分は大学院に残るので,「まぁ懇親会から行けば良いか」と軽い気持ちで懇親会から参加したら「何で卒業式来なかったの!? みんなで写真撮れないじゃん…」と同期に怒られたのを今でも覚えている.
ごめんなさい,でもそういう言葉をかけてくれるのは嬉しかった.来世はちゃんと卒業式に出席するので許してください.

学会発表

色々と心が腐ってたとはいえ,これだけは真面目にやろうという想いで研究だけはそれなりに取り組んでいた.
DEIMというデータ工学と情報マネジメントに関するフォーラムに行き,発表をした.
会場は岐阜だったのだが,大学から学会支援費が5万しか出ないことを知り,絶望した.(今思えばボスに頼めば学会期間中に発生したお金は賄ってくれたらしい,my bad)
5万円でやりくりするために,

  • 全日程参加せず,学会には発表する前日だけ泊まる
  • 会場までは岐阜に帰省する友人の車で茨城から長旅
  • 帰りも縁あって車

という移動だけでストレスを溜めることをしていた.
特に,毎日宴会が行われていたらしく,若手研究者(お茶女)と群れる理系大学生が印象的だったらしい.
自分は最終日発表だったので宴会を感じることすらできなかった.何ならホテルのロビーで4時までスライド作成に勤しんでいた.切ない.
まぁその甲斐あって教育工学というセッション内で学生プレゼンテーション賞をもらえた.
そこらの学生よりは学外での発表が多かったので,我ながら心臓が強く,自信を持って発表できたと思う.まぁ良かった.

そんなこんなでドタバタしていて岐阜っぽい思い出は一切なかった.(君の名は.で有名なところだったのに聖地巡礼もできなかった.)
唯一思い出残っているのが帰りのサービスエリアで食べた名古屋飯である.もはや岐阜にカスってもいない.


6月まで

院進

4月から院進をしている訳だが,ここまで選択を後悔してる事はないと思う.
クソな事は色々あるが,

  • 必修がクソ(研究室のリーフレット作らせたり,研究科としての戦略展開を考えて発表させたり,3週間余りで論文もどきを書かせたりとロクなことがない)
  • 毎週のようにスライドを作って発表させる授業がある(毎週でないにしろ,あらゆる授業でプレゼンをさせられる)
  • 取得単位数が他大に比べて多い

などが挙げられる.
特に必修は今後も続くのだが,かれこれ5年超はこの授業をしているようなので改善する気はしない.
研究科長は,「曖昧性の強い研究科なので自分の所属している大学の強み弱みをしっかり理解してもらう必要がある」などと訳のわからない供述をしていた.
あいにく,大学のドメインに依存した生活は送っていないため余計なお世話である.
少し変わった名前なので企業の方から「大学では何してるの?」と質問されることもあるが,
「大学では図書館や知識資源を扱う授業があるが研究分野は機械学習,教育データマイニング,セキュリティなどです」と返答していた.
これで困った事は今まで1度もないので,困るのは自分のやってきたことに自信がない人だけだと思う.

発表をするにしても,発表はエンターテイメントと考えてない人が多い.要するに資料の作り方が下手だったり発表が下手だったりする.
まぁ上記のことも自戒として書き綴っておく.
スライドに関しては作成時間そのものが無駄で,例えばそれが外部公開する価値のあるスライドであるなら構わないが,授業の内容上そういう基準には達していない.(用語の説明とか研究計画とか)
何かを伝える手段として発表やスライドは特に大事だと自分でも考えている.
が,少なくとも授業でその本質が突き詰められているかと言われれば違うし,話す側,聞く側双方にとっても時間の無駄である.
それをするくらいなら研究や自己研磨に時間を充てたい.

愚痴が多くなってしまったが,要するに研究させる気がないのである.
そうも言ってられないので,時間を作ってやってる訳だが,上記のことがなければ(冗談抜きで)もっと研究は進むと思ってる.


悪いことしか言っていないので良いこともかく.
ボスが最高 以上です.
ボスをリスペクトしていたり,研究室に優秀な先輩や同期がいる以外でメリットがあるかと言われれば無い.
日中を殆ど無駄な発表や課題に費やしているので,それがしたいのなら是非我らが研究科にどうぞ.
常々研究科への進学率が上がらないという声を聞いていたが,この有様では当然だと思う.先生方は皆優秀なのでとにかく必修と不要な課題を無くしてください.
それから進学を考えている方は相談に乗りますので気軽に声をかけてください.
必要があればさらに追記しますし,上の怖い人から怒られたら消します.

研究

メイン研究をほったらかしてDeepを趣味研究でやり始めた.(趣味では定期的に触ってたのだけど)
それからアンサンブル学習も.
流れが早い分野なのでキャッチアップしているだけでもワクワクすることが多い.
kaggleのような精度を競うコンペで,自分はどうもアンサンブルしたものがオーバーフィットするケースが多いみたいで,その辺をうまく工夫して取り組みたい.

その他

競プロをやろうと思った.
今はAOJのアルゴリズムとデータ構造,それからatcoderのABCをやっている.
やろうとした動機は単純明快で,最近のIT系の就活で技術選考と題して競プロをやらせるケースが多いからだ.
競プロが得意でない自分がそれで足切りをもらったら得意分野のことすら話せずに終わるのでそれだけは避けたい.
自分はDPとメモ化再帰で挫折した人間で,日常的なコードはsklearnでコード書いたりkerasのコード書いたりしてそのまま実行,検証を繰り返しているだけ.
バイトでgolangやjsを書いたりもするが,APIサーバやアプリケーションに使うコードを書くだけ.
このままでは一向に競プロ力はつかないと踏んで率先してやろうと思い始めた.
再帰周りの実装が苦手意識が強く,沢山コード書いてうまく克服したいなと思ってる.

終わりに