今年は、コーディングスキルの底上げを目標に掲げています。 今まで、ライブラリやFWの恩恵を受けて生ヌルい環境でぬくぬくやってきてたんですが、 これじゃダメだと思ったので、今年はマジでやる気出していきます。
経緯
近年、会社でソースコードレビューをする側の立場になったり、プライベートでもOSSの実装を読んだりする場面が増えてきました。 その中で、自分の実装力のなさを痛感することが多くあります。
今の自分が、「3rd partyライブラリを全く使わずにコーディングしろ」と言われたら、おそらく今の倍時間がかかるか、最悪の場合 実装ができなくなるのではないかという気がしました。
また、去年ノリで受けた某企業のコーディングテストでボロボロにされたことも理由の1つです。
学生時代に基本情報/応用情報の勉強をしていた頃、アルゴリズムだったりデータ構造は苦手意識を持っていて嫌々学習していました。 せっかく学んだことを完全に忘れてしまう前に、初心に返って改めて頭に叩き込もうと思いました。
買った本
プログラマの数学
買った理由
僕は数学的思考力に圧倒的な弱みがあるなと思っています。 なんだかんだ、コード実行時の計算量の最適化を意識することはプログラマにとって永遠のテーマだよなぁと原点回帰しました。 (恥ずかしながら、読みやすくて動けばいいじゃんっていう傾向が強かったです。それも大事なんですが。) また、ついこの間、深層学習のニューラルネットワーク実装の本を読んだときも、やはり高校数学レベルの知識は持っていないと将来的につらいなと思いました。 この本で高校数学を全てやり直すことは流石に難しいですが、初心に返ってやり直す戒めを込めて買いました。
プログラミングテスト攻略のためのアルゴリズムとデータ構造
買った理由
競プロ界隈では有名みたいです。螺旋本と呼ばれているみたいです。
ただ、AtCoderやCodeForcesなどのプログラミングテストに出るためというよりは、将来的な転職に備えて買いました。
冒頭にも買いた通り、今の自分は基本/応用情報レベルの知識で止まっている状態で、アルゴリズムやデータ構造の理解に弱みがあるので、まずはここを鍛え直したいと思います。
世界で闘うプログラミング力を鍛える本
この本読んだらGAFA行けると聞いて(すっとぼけ
コーディングテストの雰囲気を味わうことができるので、じわじわやっていきます。
まとめ
とりあえず、上から順に読んでいって書評を書こうとと思います。