仕事と仕事の関連
今、うちでは大きく分けて二つの仕事をやっている。
1、完全自社開発のメモリDBとトランザクションエンジン
2、コンパイラ技術を生かしたWebエンジンの企業との共同開発
どちらも、普通の請負に比べたらかなり学術的な知識も、泥臭い実装技術も必要でハイレベルだが、特に1が難しい。
結構、作るのにいろいろ調べたり、検証したりして大変だ。
逆に2番は順調。
やってる時間は、何気に1の方が多い。
でも、2番がそれで開発が遅れるかというと、むしろ早くなっている。
なんとなく、1がF1カー開発で2が大衆車みたいな感じだ。
1で作った時の技術が確実に2番に生かされている。
半年前の僕だったら、2番の方は、ここまでうまく作れていない。
やっぱり、半年間、1番の方を真剣にやってきて、それで勉強したり発明したものがあるから、今、サクサク2番が作れるんだと思う。
2につぎ込んだ技術として
・CROSSFIRE O/RのRelational/Objectコンパイラ技術
・BlastJのWebフレームワークの技術
・Eclipseのプラグイン作成時のJavaの超基本技術
・Eclipseプラグイン作成技術
・MemoryDB用のBoolean集合変換技術
・MemoryDB用のサーバサイドの並列トランザクション実行技術
・Yacc/Lex、JavaCCの技術
等など結構ある。
多分、半年前の僕がこれをやろうとしたら、フレームワーク作成にやっぱり、1年近くかかっていただろう。
半年前から半年後の今、これをフレームワークのみ作ろうと思えば、あと1ヶ月くらいでできそうだ。
結局、ITの分野において、研究をきちんとした方が、実は無駄な期間に見えても最終的な成果が出るのは早いということなのだともう。
IT業界でもやっぱり、F1的なことをやるのも必要だ。