何を勉強するか?

GW中のまとまった時間を利用して、アルゴリズムとデータ構造について勉強した。

 

何故、勉強しようと思ったのか後から思い出せるように備忘録として記述していく。

 

この業界に入ってもうすぐ3年になろうとしているが、たったこの短い時間でも新技術が次々と生まれていることに驚いている。

フロントエンドではjQueryからMVCフレームワーク、最近ではReactなどが出ているようだ(あまりフロントエンドには詳しくないが、すごいスピードだと感じる)

 

インフラでchefやDocker、WebサーバではApacheよりもnginxなどが勢いが増している。

自分が主に仕事しているサーバサイドプログラムではRailsが一気に勢力を増したし(誰かのエントリでは時代に合わなくなってきているという話もあるそうだが…)

PHPではCake PHPではなく、Laravelなどのフレームワークが勢いがある。

上記は主にフレームワークなどの話題だが、言語ではScalaHaskellなどの関数型を扱える言語に注目が集まっている…。

取り敢えず、一部列挙したが出すぎだろと思ったー

 

生活の中からこれらの勉強時間を全て捻出するのは不可能だ。

 

そこで、今更ながら避けていたアルゴリズムやデータ構造について勉強しようと考えた。長い年月で変わらないものは何かと気づいたら結局コミュニケーションやコンピュータサイエンス、設計などのメタな部分ではないかと。。

単純に避けていたのは、元々文系であるため数学の予備知識が必要なアルゴリズムなどは苦手であったし、何よりも達成感が感じにくかったので。

でも、他人が作ったフレームワークやライブラリを使いこなしていても結局買ってきたゲームを使用しているみたいで、根本的なゲームを作るという部分には携われないのだと感じた。フレームワークやライブラリなどは必要になったタイミングで学べばいいのではないかと。

勿論、最新技術もキャッチアップしなければいけないが、ある程度機が熟したタイミングでもいいのではないかと割り切るようにする。

 

尊敬しているhigeponさんも言っていたが、20代後半に入ってきて好きなことだけやるという時は過ぎたので、自分にとって必要なものを取捨選択しなければ時間が足りない。。