隣の芝?

最近、某スタートアップの人たちとお話する機会があって、自分がミドルウェアに関してすごく表面的な知識しか持っていないことに気付かされてしまった。

自分は幾つかのサービスの立ち上げ経験もあるしRailsJavaScriptはかなり書いて来たほうだと思うし、テーブル設計・モデル設計もそれなりにやってきたつもりだ。

でも残念なことに?、どちらもめちゃくちゃアクセスがあるとか、大量のデータを使うとかそういう感じではなかったので、AWSやHerokuなどのマネージドなインフラを普通に使って困ることもなくここまで来てしまった。 要は、Railsの裏側で動いているミドルウェアについて表面的な知識しかもっていなくても何とかなってしまっていた。

ちょっと危機感を覚えてまずはちゃんとMySQLについて勉強し直そうと思い、高トラフィックなサービスの運用経験がある同僚に、どんな本を読んで勉強したかなどを教えてもらった。

いくつか既に持っていて、ちょっと読んだだけの本もあったので改めてちゃんと読もうと思う。 これとか。

実践ハイパフォーマンスMySQL 第3版

実践ハイパフォーマンスMySQL 第3版

隣の芝?

この話をしたときに、意外だったのはその同僚から「隣の芝じゃない?」と言われたこと。 要はミドルウェアはマネージドなところにおまかせでたいてい何とかなってしまうようになってきてるんだから、それはそこに任せてアプリケーション開発のスキルをためた方が良いんじゃないか、という意見だった。(その同僚は自分の持っているミドルウェアの知識なんてもう不要になってきている気がするとも言っていた)

確かにそういう面もあるのかもしれないけど、自分はそういった裏側をちゃんと理解しているかどうかが、何というかその人の地力になると最近は感じている。そういうスキルを持っている人は、例え言語や使うフレームワークが変わっても強いイメージが実感としてもある。 物事をパターン認識(こういうときはこう)でしか理解していないのか、裏側の仕組みから導出できているかの違いなのかなと思うんだけどどうなんだろうな。

というわけでがんばっていきます。