今年も残すところ4ヵ月となりました

 これは自分用メモです。
 東大でうにゃうにゃの話が多くの人に見てもらえて、ビビッて何も書けなくなってしまった。でもさすがにもう誰も見ていないと思うので、ここにそのときそのときの思考を残していこうと思います。自分用であっても、よそ行きの形にきちんとまとめることは大切だと思うので。

人生

 地元の大学に通いなおすことを親から許されました。もう親に申し訳ない気持ちでいっぱいです。東大でうにゃうにゃの記事のおかげでいくつかの会社から声をかけて頂きました。ただ、自分としては日常生活に支障はないけれど仕事の負荷に耐えられるか当時は微妙だったので、すべて断ってしまいました。今は元気になってきたので、もし今声をかけられたら受験終わった後にインターンに行きますと返事をしていたかもしれませんが、人生はタイミングがすべてです。まさかあんなに多くの人に見てもらえるとは思ってなかった。ただ今は機械学習をやっていないので、本当に需要のない存在になってしまっています。
 大学に進みたいと親にお願いしたのは、プログラミングをはじめて間もないのに就職できるだけの自信がなかったからです。未経験でもソフトウェアエンジニアになれる!みたいな話はよく聞きますが自分にそれができるとは思えませんし、うーん、それほんまかと思ってしまいます。プログラミングの諸概念、難しくないですか…情報科学もある程度必要だし、フロントエンドにせよ、バックエンドにせよ、覚えることが山ほどあり、正直無理だと思いました。
 あとは、ここで就職して職を失って故郷に戻ったときなどいろいろな最悪ケースを考えていくと、学位を持っていないのと持っているのとでは人生で放り出されたときに生きていくための手段が変わってくるという理由です。もしできるなら、親に迷惑をかけても大学に通いなおす方が後々迷惑にならないかもしれない。これは逃げで言い訳なんだろうなーと思いつつ、真剣に考えた結果なので親に感謝しながら精進を積んでいくつもりです。

機械学習

 今は機械学習をまったくせずに、とにかくいろいろ自分の興味のあるものを触っています。元々は、機械学習からプログラミングをはじめて、kaggleのdiscussionをpythonに翻訳できない、kernelを写経してもなにをしているのか全く分からない状態だったので実装力をつけて再挑戦しよう、という気持ちで競技プログラミングをはじめました。当時はforやifができるか…?くらいのレベル感だったのでこの選択は正しかったと思います。Twitter競技プログラミングをしている人々を見て、すごい人が多いなぁ、なんでもできる人が多いなぁと思い、競技プログラミング以外にも興味が広がっていきました。結果実装力を高めて機械学習をはじめるコースから見るとあきらかに回り道をしてしまっています。迷走している感じがして振り返るとつらい。
 kaggleで挫折を感じたときは、実装力が足りない、情報科学とプログラミングをがりがりかける能力が足りないという風に考えていました。でも今競技プログラミングやいろいろ興味のある分野を学んでみて、自分に足りないものは「文章や数式で書かれた複雑なアルゴリズムを理解してコードに落とし込むこと」「それを動かす環境を構築してアルゴリズムの有効性を検証すること」だと感じています。有名なアルゴリズムを覚えるというより、複雑な手順をスッとコードに落とし込む能力みたいな。もう少しこの能力を身につけてAtCoderで水色になってからkaggleに再挑戦したい。

これまで興味を持った分野

 現時点で興味のある分野を列挙します。
[競技プログラミング] 水色になりたい!最近まったく精進できてないので自分しっかりしてくれ…
[CTF] とても楽しい。こればっかやってる気がするけど一向にうまくならない。つらいね。でも場数を踏んで復習する、続けること、時間をかけること、でモチベーションを保ったままだんだん強くなれると思っています。
[Rails] 普通に難しくて何も作れなかった。これ初心者でやる人はすごい。あと、何が作れるのか、作りたいものは何かが見えなくて苦痛に感じてモチベーションが低下したのもあきらめた原因だと思う。最近作りたいものができたので再開する機運が高まっている。これは、いろいろな分野を見てこれはなにができるのか?ということが少しずつ分かってきたおかげだと思う
[CSS Animation] サマーウォーズをモチーフにしたCSS Animationを8月頃に公開した。自分の中で唯一作りきった感覚がある。たくさんいいねもらえてうれしかった。今はひたすらMVとか見て自分の好みの表現を集めている。Violet EvergardenをモチーフにしたCSS Animationが作りたい…作りたい…!
[Rust] 優先度で後回しになっている。
[Javascript] 非同期、同期が理解できてきた。Vuejsを始めた。VuePressで競プロの自分用メモを書くためのブログを作っている。(webpackの理解とかに時間かかったけど、VuePress自体はとても簡単でびっくりした)
[Linux] 自分には難しい。楽しいんだけど、本質的な理解にたどり着けてない感覚があってうーん…CTFでコマンド操作に慣れた。30日OS本をやりたいのだけれど、優先度で後回しになっている
[バックエンド] ISUCONに出てみたい。競技の形をしていると楽しく学べる気がする。今のところ記事を読むだけで過去問を動かすことすらまだできていない。

 こうしてみると競技プログラミングCSS Animation→CTFという感じの流れで時間のわりに大したことができてなくて焦る。

これからと、なんかいろいろ考えたこと

 全体的に迷走しているので、今年もあと少しだし、「作りきる」方向に舵を切っていこうと思います。具体的にはRailsとVuejs、あとJavaScriptあたり。それと、競技プログラミング
 CSSは息抜きにして、やることをもう少し絞っていきます。一か月に一個くらいしかできないので、Rust, Linux, バックエンドとかはもう今年はあきらめる。
 やりたいことをやっていくと、自分の手の届く範囲しかやらないという現象が起こる。これに今とらわれているので抜けだしたいです。
 だんだん周りが見えてきて、自分はそこまで賢くないということが分かってきた。どうやって生き残るかというと、やはり機械学習バブルのような場所を渡り歩くというか、誰もができるわけではなくて評価が甘くなりがちなところで勝負を仕掛けていかないと生き残れないという危機感が大きい。
 あと受験。正直これから受験にシフトするからあまり精進積めない気がする。東大じゃないから大丈夫だろ、と思って痛い目を見るのはとても悲しいので、油断せずにきっちり詰める。

 精進あるのみ。がんばろう。