今さら何をってことだけどWeb開発は大変だなあっていうチラシの裏。
とにかく、知らないといけない範囲が広すぎる。
細かいことを抜きにしても、ネットワークとか、プロトコルやなんやらがあって、サーバサイドで動かすアプリケーションがあって、データベースがあって、ロードバランサとかプロキシとかが出てきて、ブラウザが複数種類あって、その上でHTMLとかJavascriptとかCSSとかFlashが走って、UIだとかUXなんかも考えないといけないし、それぞれにライブラリやフレームワークがあって、最近だとNoSQLなんかも出てきた。それらを動かすサーバやクライアントのOSや仮想化技術についても知らないといけないかもしれないし、もしかするとハードウェアの知識も必要だったりする。そうこうしているとセキュリティなんて厄介なことも出てくる。
そして、それらが大量な数のマシンで分散して構成されていたり、地球の裏側にあったりするし、さらに、それらを使って効率良く開発するために、色々な開発手法とかテスト手法とかプロジェクトマネジメントなんていうものにも手を出さないといけないかもしれない。これらとはまったく別のところで「ぎょーむちしき」や「まーけてぃんぐ」なんてものも必要になってきたりすると、もう何がなんだか。
もうほんと大変。
「俺サーバサイドやるから、お前HTMLとかJavascriptで、お前マネージメントな!」と分担ができたとしても、実際にいいチームになるには、お互いがお互いの技術をそれなりに知っている必要がある。
クラウドという甘い誘惑がでてきて「そこから向こう側は俺知らね」って雰囲気はあるが、それは自分で手を出せない部分を作るというリスクや、自分で何でもできるという自由を手放すのとトレードオフなので、安易に乗っかるわけにはいかない。たとえ乗っかるとしても、乗っかるクラウド固有の勉強はまた増えるしね。
自分の中では、愚直に勉強するしかない、ってのが今のところの結論なんだけど、そうは言ってもきりがないし、自分だけならまだいいけど、同僚などの自分の周りにいる人に「すべてを知れ!」ってのには無理があるような気もする。銀の弾丸はいつ発明されるんですか? っていう気分にもなってくる。
どうすればいいのかわからないけど、明日も頑張ろう!
これでいいのかなー。
記事の内容についての質問、苦情、間違いの指摘等なんでもtwitterでどうぞ。 Tweet