オレだよ、オレオレ、オレオレフレームワークが好きだ

■追記 2019年8月17日


いつも思うんですけど、PHPのフレームワークを使わないでウェブシステムを組んでいる人って未だかなりいるんじゃないだろうか。そういう人たちは忙しく目の前の仕事に忙しくて、ウェブ上に自分の知見をブログなりSNSで発信していない方が多いと思う。
関わってる人が全員が全員、規模の大きな、ページビューが多くて、やりがい感じる仕事! ・・・とかじゃないと思う。

そんな先端いってる開発って一部の人たちですよ。その一部の人たちの声があまりにも大きい。

ウェブってソフトウェアの総合技術みたいなものじゃないですか。フレームワークってその一つのピースに過ぎないと思うんですよね。
これじゃなきゃ、いけない、というわけじゃなくて、チーム開発、保守性、その他メリットがあるからフレームワークを使ってシステムを組むだけであって、このメリットを感じなければ、別にオレオレでもいいんじゃないかと思います。

やり方は一つじゃねーよ。ってことです。(from perl) みんなが満足する完璧なシステムなんて僕が生きているうちには実現しねぇ夢なんだから、とりあえずコード書いて飯食えれば、それでいい(-_-

よく、保守性云々の話がネットでありますけど・・・仕事環境にもよりますが、ウェブシステムってスクラップ&ビルドが結構多い印象を受けるんです、僕は。特に官公庁とか天下り先とかの仕事とかって少ないながらも経験ありますが、決裁者なり、担当者が変わると、まだ使えるシステムなのに、今までのシステムを無かったことにして総とっかえでイチから!みたいな。
まぁ、旧担当者と新担当者の派閥とかいろいろあるらしくドロドロですわな(笑) 痕跡を消したい!みたいな。。。

それに、予算が非常に少ない上に要求が高いような仕事みたいに、どこからも断られたようなシステム改修とか・・・保守性とか「そんなの関係ねー・でもそんなの関係ねー、おっぱっぴー」みたいな話はよく耳にする。繰り返すけど官公庁の外郭団体とか、オラオラ系の大企業とか。

盲目的に「フレームワーク使ってない? そんな使えねーシステム、クソだよ、関わりたくないよ、」っていう声がネットでは大多数ですけど、実際の多くの現場ってそんな先端いってないと思うんですよね。もっと泥臭いと思う。そういう人って忙しくてそもそもネットにわざわざ発信しないし(^^;

まぁ、確かに眉を顰めるようなHTMLとPHPのごった煮みたいなPHPファイル見ると、そっとエディタを閉じたくなりますけどね。

僕としては、フレームワークを使う理由って、複数人が協調してチーム開発をするための単なる道具の一つぐらいとしか思ってない。

フレームワークを積極的に活用している人達の大部分は、あるプロジェクトの一部を担ってて、きちっと分業されてて、ウェブシステムに精通しているプロジェクトマネージャーなりの役割の人がちゃんと調整して作り上げていく感じ。そのためにはフレームワークはなくてはならない必須のツールだと思います。
実際、外注先のシステム制作会社に仕事をなげると、客先でヒアリング、デザイン、コーディングとやってくれるし、出来上がったものは当然ながら CakePHPとかのフレームワークを使って構築してくれる。

フレームワークさえ使えれば、HTTPプロトコルがどうとか、セキュリティーがどうとか、ウェブの仕組みとか、知らなくても、PHPの文法さえ知ってれば後はどうにかなるし、時給や日給で雇う、使い捨ての人材を入れて、出来上がったら、はいサヨナラ的な募集もよく見ます。
そういうの見ると、フレームワークを使うのって、保守性やらスキルの均一化とか、使う側の論理しか見えない。働く側はそりゃ、フレームワークを習得すれば働いて稼げる手段となるんだから「フレームワーク」のスキルはあがるけど。
でも、その裏にある技術にはほとんど無関心。というか、人任せ。これどうなってんだろ? みたいな事を思考する人は、どんどん上に行くけど、そんな人はごく少数。働く環境に寄ると思うけど、僕はそんな向上心のある人に出会ったことがない。

でもって、僕のような「ぼっち」ウェブシス担当は、ヒアリングとか営業とか以外の部分・・・仕様策定・DB設計・プラットフォーム選定・デザイン(HTML/CSSコーディング含む)・画像編集・営業用のちらし原稿作成・サーバーサイド開発・フロントエンド開発・マニュアル作成、諸々、全部やらないといけない。規模の大小は問題ではない。

他にもお客さんの無理難題の解決、保守(テキスト・画像等の更新など)、外注/内製の振り分け等々、人を雇えば一気に解決する、とは思いつつ、優秀な人材は、システム制作会社や大手企業、ベンチャーに行くし、もっとできる人は、SOHO(死語)するし(^^;
結果、使えない奴とか問題のあるやつが来ては、辞めていく。ま、僕もその「使えない」一人だとは思いますけどね。

CakePHPとかの●●●フレームワーク、一度はトライしてみたわけですが、ボッチ開発者にはとてもじゃないけど負担が大きすぎると感じて速攻で止めた。というか、時間ない。
組織の中の経営的な、政治的な、あるいは安月給、その他の理由により、一人しかいない部署において、システムの設計、UI、デザイン、コーディングすべて一人でやるしかない場合、汎用フレームワークの全貌をある程度理解しておかないと、仕様、システム設計というか開発方針みたいなものが立てにくい。
加えてフレームワークを学習する事を並行に進めるとなると、まず時間的に不可能。2~3年ぐらいゆっくり待ってくれるなら別ですけどね。

今メインで扱うサーバーサイドのスクリプトは PHP なんだけど、これだけじゃだめで、デザインする時間、CSS/HTMLをコーディングする時間、イラレやフォトショで原稿や画像の編集、フロントエンド開発もやらないといけない、当然ウェブ界隈で騒がしいフロントエンドのフレームワークとかのトレーニングする時間もないので、生のjavascript とか jQueryゴリゴリとかで効率よく、且つ(&&)、泥臭くやる。

フレームワークと呼ぶにはおこがましいオレオレライブラリもどきの、小さなフレームワークを作って今はそれを使って仕事をこなす毎日です。一応なんちゃってMVCにはしている。少なくとも最低限のテストできるし。。。

プログラムを組むって・・・お金を稼ぐための手段・・・僕はなんかそういう考えには至らないんですよ。今のこのなんでも全部ひとりで賄える程度の泥臭い仕事、好きなんですよね。基本、協調とか分業って嫌いなんですよね。。。

(問)PHPのフレームワークは何を使って仕事してますか?
(答)フレームワークは使っていません。必要とあれば学んで使っていくとは思いますが、現状必要ありません。
(問)これから使っていこうとは思いますか?
(答)全く思わないです。面白くないです。若くはないのでわざわざ学んだところでこんなオッサンが仕事がありつけるとは到底思いません。
それに 普及しているフレームワーク使わないでもある程度のシステム組めるのにわざわざ時間割いてまで学ぼうとは思いません。