2013年12月2日月曜日

Risoluto誕生物語 その1 | Risoluto@アドベント・ぼっち・カレンダー:1日目

さて、予告通りアドベント・ぼっち・カレンダー(*1)の1日目、記念すべきエントリを公開したいと思います。共通テーマは私が開発している「Risouto」についてです。



私は何者なのか


話を進める前に、まず私について簡単に紹介しておこうとおもう。

私が自己紹介するときは、「自称GNU/Linux(*2)使いのPHPエンジニア」と名乗ることが多い。「自称」というのは、まあ技術レベルはお察しください……というニュアンスのエクスキューズであり、一応は社会人としてコの業界の末席に居させていただいている。

カテゴリ分けするならば「Web系」のエンジニアではあるのだけれど、元々Web系のエンジニアではなく、実は汎用機界隈の出身なのである。言い方を変えればCOBOLerである。

社会人になってからしばらくは汎用機方面の業務に従事していたわけだけれども、これは自分のやりたいこととは微妙に違っていた。その当時在籍していた会社ではWeb系の業務もやってはいたものの、私にお鉢が回ってくることはまずなかった。

やりがいがなかったら嘘になる。が、自分がやりたいこととは違う。そのギャップは社会人生活の経験が蓄積する毎に、徐々に大きくなっていった。3年を迎えた頃だろうか、家庭の事情もあり退職する運びとなった。

Web系への転身


その家庭の事情も一段落し次の職場を探そうとしたときに、やりたいと思っていたWeb系の会社にチャレンジしてみることにした。Web系に関しては未経験であり、今までのスキルは役に立たない世界。難航するかと思われたが、年齢的に若かったこともあり興味を持ってくださるところがいくつかあった。

それからいろいろあり、私は念願のWeb系の会社に在籍することになった。とはいえ、最初の仕事はGNU/LinuxもPHPも関係ない業務であった。それはそれで面白くはあったのだが、真にやりたいといえるものではなかった。

フラストレーションは日々高まっていく。しかし、自分がやりたいことをやるためにはスキルも経験も不足していた。それは自分が一番よく分かっていた。ではどうするか。プライベートでスキル面だけでも底上げできないかと考えた。

踏み出した第一歩


その頃にスタートしたのがHYEC.ORGという自宅サーバ。そしてPHPの学習である。

自宅サーバの運営では

  • サーバ構築スキルの取得
  • サーバ運営スキルの習得
  • 一般開放することによりサポートスキルの習得
を目標としていた。学習しながらサービスを拡充していった。

PHPに関しては、学習自体はWeb系の会社に転職する前からしていたのであるが、それをよりまじめにやっていこうと決めた。もっとも、最初は「PHPでホームページを作りましょう」レベルにすぎなかったが、前述の自宅サーバを自分が自由に使えるテスト環境として活用することで、業務では得られない満足感を得ていった。

そういった経験をただ積むだけではなく、それを社内にアピールしていった。たまたま社内にその手のエンジニアが不足していたこともあり、私は「自称GNU/Linux使いのPHPエンジニア」としての居場所を、徐々にではあるが作り上げていくことができた(*3)。

フレームワークとの出会い


しばらくして、私はそのスキルを実践で生かすチャンスに恵まれることとなった。そう、プライベートで蓄積したスキルを元に、経験を得るチャンスだ。

その業務は他社との共同案件であり、開発は他社主導で行われた。その開発現場で、私は人生で初めて「フレームワーク」というものの存在を知る事となった。フレームワークとはいうものの、実のところはいわゆる「オレオレフレームワーク」であった。

当時の私には「使いやすいかどうか」を判断するだけのスキルも経験もなかったが、他のメンバーからの評価は概ね好評だったように記憶している。今思えば、「アレはいかがなものか」という部分もあるにはあったなと考えたりもするが……。

その中身はさておき、そのフレームワークはRisolutoの誕生に「間接的に」影響を与えることとなった。

オレオレフレームワーク

「オレオレフレームワーク」というのは、コの業界において忌み言葉と言うべきものではないかと思う。近年ではだいぶその存在は形を潜めているとは思うのだが、未だにその呪縛に捕らわれ、負の感情を蓄積している(*4)所もあると聞く。

一般に「フレームワーク」というと、FLOSS(*5)なプロダクトを連想するかと思う。EthnaCakePHPZend FrameworkFuelPHPなどがメジャーだろうか。

私がフレームワークというものに初めて触れたときは、「フレームワーク」といえば「オレオレフレームワーク」を指し示すことの方が多かった。少なくとも、私の周りでは。

「オレオレフレームワーク」とは、比較的狭い世界でのみ使われているものを指す。「オレオレ」を「自家製」とか「自社製」と言い換えればそのニュアンスを正確に伝えることができるだろうか。

その当時、会社の「資産」としてフレームワークを開発/所有することは一般的であり、FLOSSとして公開するというのは、金をドブに捨てるのにも等しい行為であった。クローズドな開発の世界そのものである。

余談ではあるが、コの業界において「オレオレ」という言葉はネガティブなニュアンスと共に用いられることが多いが、それはこのような時代に蓄積された怨念によるものなのかもしれないな、とふと思う。

オレオレフレームワーク作者として


そのような流れがあったわけであるが、当然の如くその当時在籍していた会社でも「自社の資産としてフレームワークを持てないか」という話がでてきた。そこで白羽の矢が立ったのが私である。

「白羽の矢が立った」というと語弊があるかもしれない。正確にいえば「白羽の矢を立てて貰った」というところだろうか。

もともと、「自社でもフレームワークを」という話が最初に出たのは、さほどまじめな席での話ではなかった。半ば冗談半分で、お酒の入った状況でのヒトコマだったように記憶している。

それを真に受けて、私はその当時在籍していた会社で使う「オレオレフレームワーク」の開発に着手することになる……のであるが、続きはまた明日。


*1:いちいち書くのがメンドクサイので、略してABCと書くことにします
*2:基本的にはRedhat系……というかCentOS系がメイン
*3:これは自分の能力と言うよりは周りの環境による部分が大きかったと思う
*4:言い方を変えれば「ソウルジェムが濁る」といったところだろうか
*5:フリーソフト/オープンソースソフトのこと

0 件のコメント:

コメントを投稿