2020年を振り返る

何をした一年だったか

  • 1-3月: 会社を転籍することになってドタバタしていて記憶があまりない。フルリモートになって嬉しかった。
  • 4月: Rustを触り始める。それまではメインがPythonだったので新感覚。Rustが好きになり始める。
  • 5月: GWでも特にすることがない。arXivから興味ありそうな論文をslackに投稿するbotをRustで書いてみた。この時期にclean architectureなるものを触れちょっと意識してみる。
  • 6月: Pythonでのコードの書き方を反省してしばらく綺麗なPythonの書き方を模索する。
  • 7月: k8sとかkubeflowとか触り始めて「わからんw」ってなる。この時期のメモを見返すと「kubeflow完全に理解した」というコメントが何度か出てくる。未だに何も分からない。
  • 8月: 余り何もしていない。Rustで画像処理する時のベスプラとか、ffmpegの使い方とか調べていたっぽい。オンライン国際会議に参加して「体力が保たない。つらい」って言ってた。
  • 9月: やっぱり何もしていない。
  • 10月: 会社の先輩に誘われて競技プログラミングにチームで参加してみた。興味はずっとあったけどやったことがなかった。一番簡単なレベルの問題を担当することになり、正直「普段からプログラミングしてるし、なんやかんやできるやろ!」と思っていたが全然出来なかった。猛省した。AtCoderを始める。
  • 11月: AtCoderにハマり始める。茶色になる。生活リズムが乱れ始める。
  • 12月: 生活リズム崩壊一歩手前を守りながらAtCoderをやっていく。緑色になる。コンテスト系が面白そうなのでleetcodeやCTFにもちょっとだけ足を突っ込んで見る。CTFはあまりに門外漢だったので知らないことが多くこれもハマりそうな予感がする。

学んだこと

技術面

技術的に新しい分野をやることが多い1年だったので、そういう意味で学んだことは多い。 Rust / クラウド / 競プロ あたりの技術は長い付き合いにしていければいいなと思っている。

社会面

会社で「目標を立てるときは他者に依存しない目標を立てるとよい」というアドバイスを受けた。これは本当にその通りだと実感した。

例: 〇〇という仕組みを作り、社内利用率40%を目指します! → 作った仕組みが良いものであっても、利用するかしないかは究極的には他者の問題。〇〇という仕組みを作り、△△という問題を解決できている状態を実現します、だと自分の力で何とか出来る領分が広がる。

また、別のアドバイスとして「モチベーションは自分の中に見出すと良い」というアドバイスもあった。 自分はそれまでどちらかというと、自分の作ったものをユーザが利用してくれているという点にモチベーションを見出すことが多かった。 しかしこれだけだと、何らかの理由で作成物があまり利用されなくなった場合、ぐっとやる気が下がってしまう。 なので、「このシステムを開発している中でこういうスキルを身につけるぞ」みたいなことにもモチベーションを置いておくと良さそうだなぁというもの。

上の2つのマインドは今後も持っておこうと思っている。

競技プログラミング

10月から始めたということもあって今はこれが一番学びになっている。

去年から興味はあって蟻本を買ったり動的計画法をググったりしてはいたけれど、一度も参加したことがなかった。 今年初めて参加してみて全然解けず、これは面白いと思った。

いったんアルゴリズムの知識をつけないとどうしようもないなと感じたので

あたりの問題をまとめているサイトからその問題に飛び、典型問題をそれぞれにつき1-5問程度解いた。動的計画法と幅・深さ優先探索はもう少し解いたかも知れない。

その後で、「どの方法で解くかを分かっている状態で問題を解くのと、実際に初見の問題を解くのでは違うな」と思ったので、Atcoder Problemsで自分の該当色+一つ上の色の過去問をやり始めた。

その間のコンテストで出られるものについては全て出ることにした。この方針は今後も変えたくはない。 「うっかり解けないコンテストにあたって ランクが下がったら...」みたいな話を聞いたことはあったが、だとしたらそれはそういう実力だったと思おうと決めておいた。幸いにも出場回数が少ないうちは多少失敗してもあまりランクに影響しないのか、下がることはなかった。

また、過去問で解けない問題が出てきても、青先輩の「ある程度慣れみたいなところがある」という金言を信じて「俺が解けないのは単に慣れていないだけだから」と心の中で唱え続けていた。モチベーション続いたのは意外とここも大きい。 後は色が上がるたびにchokudaiさんの色の説明を見てやる気を出していた。

激強マンから「青色から人権が発生する」という説を聞いたことがあるので引き続き頑張っていきたい。

来年は

競技プログラミング・CTFあたりはしっかりやっていきたい。 今年はなんだか自分の中で楽しんで学べることを見つけられた気がするのでそれを深めていける年にしたい。