探してもわからないということ

2015年も終わり、2016年もはや1ヶ月が過ぎてしまいました。
2015年のエントリが極端に少ないのですが、ぶっちゃけブログ書く暇もないぐらいコード書いていました。

Wakatimeというどれくらいコードを書いていたのかがわかるアプリがあるのですが、やばい時は一週間で100時間ぐらい書いててとんだブラックだな。。。と実感。今も60時間ぐらいなのでぶっちゃけ減らしたい。

コードをひたすら書いて痛感したあること

僕は大体フロントエンド、WordPress、PHP、Ruby on Rails、iOSアプリ、サーバーまわりなどWebで使うようなやつは一通り触ってきましたと思っています。

んで、大体上のようなやつって基本的に検索したら出てきますし、ドキュメントも豊富なんですよね。
実際コピペで済むような感じで済むものも多いですし、プログラミングも1つの言語しっかりやってればOKで他はその流用。問題が発生、わからないことがあった場合は基本的に探せばわかるスタンスでいましたし、解決した時の気分はコード書いている人であれば理解してもらえると思います。気持ちが良いもんです。承認欲求も満たされますよね。

でも、どうやってもわからないことにぶつかってしまいました。そしてそれが解決できない。1週間。。2週間。。1ヶ月。。。 検索しても出てこない、他の言語だったらできるのにできない、ドキュメントには書いてあるがそれはもはや低レイヤー過ぎて意味がわからない、使いどころがわからない。死ぬ。

わからないこと≠探せば見つかること

僕の場合は圧倒的に低レイヤーの知識が足りていませんでした。そして低レイヤーの問題は探しても見つかりにくい。なぜならばWebみたいにそこまでとっつきやすくないし、他のやり方、フレームワークがあったりするから。

音声を再生するという場合、だいたいmp4とかのデータを読み取るライブラリなどがあると思います。WebだったらAudioタグだったり、JSで操作したり。アプリであったら基本のフレームワークが解決してくれるはずです。でもそれがmp4ではない場合はどうでしょう?データが16進数だったら?どうやって再生すればよいでしょうか?

ネットワークであったり音声・画像・動画であったりそのような基本的にコアな部分ってあまり触る機会がないと思います。もう基本簡単に取り扱えるものなんですよね。でもそれって誰かが簡単にしてくれているだけであって、中身を自分でやろうとすると本当の意味で「わからない」になって襲ってきてしまうということが身にしみてわかりました。取っ掛かりがつかめないんですよね。

JSであればWebGLを取り扱うときに出てくるC、Obj-Cで出てくるCみたいな感じで突然出てくるもの。そういうものなんでしょうが、いきなり出てくる低レイヤーはほんとうの意味でわからないとそれを扱うのは非常に大変です。音声は波形だし、通信はソケットだしパケットだし???それどう使えばいいのかわからない。そしてそれがどう問題解決に役立つかわからない。誰も教えてくれないし探しても見つからないことだらけです。

研究者のメンタルを見習う

研究者の人たちってわからない、将来的にわからないままかもしれないことにチャレンジするじゃないですか。あのメンタルってただもんじゃないと思うんですよね。

僕の問題は1つは相談して解決できそう、もう1つは誰もわからなくて結局自分でわからないなりにやりまくってライブラリで頑張ってライブラリが終わりらへんで詰んで自分で実装するしかないみたいな感じで落ち着きそうなのですが、マジで心がバキバキに折れてるんですよね。ああ俺の実力なんてこんなもんですよね〜ああもう死にたい。みたいな。折れても立ち直れる心が欲しい。

おわりに

なんかよくわからなくなってきましたが、わからないことに突き進んでそれが解決するというモチベーションで頑張るっていうスタンスの見直しが僕には必要になってしまったという感じです。ひとそれぞれだとは思いますが、ネットでなんでもかんでも解決できるわけではないしそういったことこそ解決するために試行錯誤するしか無いという感じです。おわり。