未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

日本オラクルの若手エンジニアに会って来た

@ntamaoki がうちの若手と飲みましょうよ、と言ってきたので、ほいほいそれに乗って日本オラクルの若手エンジニアに会ってきた。実のところ、ERPだAPPSだというのは、よくわからない。わたしはデータベースのエンジニアだったわけで、職種もコンサルとかではなく、サポートのさらに下のバックエンドのサポートだったわけで。

新社屋は素敵だった。二階の受付まで行って、諸般の事情で社内にははいれなくて残念。

まあ、それは、どーでもいい話なのだが、基盤系いいよ〜、RDBMSの開発おもしろいよ〜という話をお腹いっぱい話してきた。

バックエンドサポートの一日つーのは、出社してbugdb見て、自分の担当部分のバグをざっと見て、新しいバグがあれば、拾って、地味に回答を作る。パッチを作る場合もあるし、バグじゃなかったり、バグだったとしても、簡単なワークアラウンドがあったりして、それを回答したりという感じである。

地味に回答を作る。

もちろん正真正銘のバグもあって、そーゆー場合はパッチを作るのだけど、その前に、テストコードを書いて、再現させて、現象を確認する。わたしの担当はSQLだったので、オラクルのSQLについてはちょっとは知っていたし、文字コードがどうだこうだということももちろん理解していた。オラクルの文字コードの変態的な処理についての責任の一旦はわたしにもある。RDBMSの上半分(SQLとか)なんかは単なるアプリケーションなのでデバッグは簡単だ。メモリ管理とかトランザクション処理の部分(RDBMSの下半分)は現象の再現をするのも大袈裟なものが必要な場合があり、ものによっては客先でしか再現しないという難しいものもある。それに比べれば、SQLのバグなんていうのは楽勝である。

パッチを作って、自分の環境でバグを修正したことを確認し、short regressという簡易版のリグレッションテストを流し、それに通ると、メールでコードレビューを依頼する。コメントがあれば、それを反映するし、いいんじゃない、という素気ないコメントとか、特に問題がなければ、早速修正をチェックインする。毎日毎日、何十人ものRDBMSカーネルエンジニアがそれぞれ独自のチェックインをするので、相互作用で、誰かの修正によって自分の修正に不具合が発生することがある。これはもうしょうがないのであるが、リグレッションテストを毎日毎日流すので、早期に発見される。チェックインした次の日のリグレッションテストの結果を見るのはいつも緊張感がただよった。リグレッションテストの差分は必ずしもバグの発生を意味しないのであるが、自分が関係する分野での差分に関しては、注意して検討しないといけない。リグレッションテストそのものは数千あって、何十台ものサーバマシンでひたすら実行する。

ソフトウェアを大規模な工場で作るようなイメージかもしれない。

基盤系の技術の進化というのは、上のファンシーな流行ものの技術と違って、ゆっくり流れていくので、毎日毎日新しい技術に追われるということはない。SQLの文法は毎日変化するわけではない。トランザクション処理のイロハが毎日変化するわけではない。従って、技術の積み重ねがモノを言う分野だし、10年たっても今勉強したことが役に立つ。

一方で、新しい技術分野というのも勿論日々どっかで生まれているわけで、それは思いもかけないところから出てきたりする。例えば、key-value-storeなんてのは古典的RDBMS技術とは違った地平線から出現したように見える。オラクルの中で仕事をしているとWeb2.0の現場で日々おこっている、スケーラビリティとの戦いや、技術的、運用的なハックから生まれるクレージーなアイデアを知る機会が少ないかもしれない。だけど、最先端の次の時代をブレークスルーする技術なんていうのは、そーゆー現場から生まれるような気もする。自分のレーダーをみがいていないと気がつくとレガシーなところにいたりする危険性は常にある。

基盤系の技術にかかわるということは、そーゆー様々なサービスとかアイデアとかをささえる技術にかかわるということなので、絶対なくなることはないと思うけど、常に新しいチャレンジというか勉強をして、切磋琢磨している必要はある。

日本という地域で基盤系の技術を生かす職場というのが少ないけれど存在するということについて、わたしは東京スゲーと思うし、勉強会を通じてのゆるいネットワークは日本の宝だと思う。ニッポンはじまったなと思う。

mixiとかgreeとかはてなとかpfiとか楽天とか、googleほどではないけど、現場で日々スケーラビリティとかの問題に汗を流している人がいて、そーゆー人達が新しい何かを生みだしている。

せっかくオラクルにいるんだから、proprietaryなシステムをしっかり勉強し、ぜひ、基盤系の技術に貢献してほしいと思うなあ。

なんてことを、よっぱらいの戯言をいつもどおり熱く語ってしまった。(ぐははは)