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

あまのじゃくおっさんの戯言。
■2019年12月01日


もはやタイトルと内容は関係なくなり、単なるグチ、はけ口のページとなりますm(__)m

先日、フリーター(40代後半のおっさんがフリーターって(笑))として働いている会社のお偉いさんに上司と呼ばれ、仕事の進捗状況その他のお話、要はお茶しに来い、と。お世話になっている身でありながら、言葉を選びつつ、言うとこのお偉いさんは、ちょっと頭が「お花畑」的な思考をお持ちの方で、話がかみ合わない。
本来はこっちが話を合わせないといけないけど、無茶苦茶なスケジュールを組まれているのでそんなおしゃべりタイムに付き合ってられるほど余裕がない。どーでもいい話を延々を聞かされるのはかなわんので、言う事にいちいち反論していたら、君はもうええよ、ってことで開放された。
正直、いっぱい給料もらっている社員なら、イエスマンになってゴマすってればいいんだけど、性格的にそんなことはできず、作業を止められ、尊敬してもない人のしょーもない話を黙って聞けるほど気は長くないので、イライラ。それを察知したんだろうな。
そもそも何の権限もない会社のお偉いさんの暇つぶしに付き合ってられない。ただでさえ時間がないのに。仕事の邪魔しないでほしいよ。

「気をつめてやったらあかん、もっと力を抜いて・・・」
(心の声) うるせーよ、だれのせいでそうなってんだよ!

「近頃東京大学出てニートしている奴もいる。どれだけ周りに迷惑をかけているのか!」
(心の声) あほか、そんなんそいつの自由じゃ! お前はどの立場で言うてんねん!

「趣味はあるのか? そういうので仕事のストレスを発散しないとだめだよ」
(心の声) へぇへぇ

「仕事は責任を持ってやらなあかん、人に迷惑をかけることになる。」
(心の声) 今、この時間がもったいないんだよ、早く仕事させろよ、迷惑かけてんのはお前だろ!

オレはクズ人間なので、クズ人間にしか出会わない。人の巡りあわせ、良い人との出会いは大切。でも、やっぱりクズ人間にはクズ人間しか出会わないんだよ、いや、気づかず良い人と出会ってても、自分がクズ人間だから、良い人と気付かないんだよ、きっと。
良い人間は良い人間に出会う、これ真実なりよ。

■2019年11月11日


先日、母親の誕生日に、クルクル寿司にでも食べに行こう、と自分で言ってたのを忘れて結局行けなかった。最近忘れることが多い。あと十数年したら絶対ボケると思う。

オレオレフレームワークは仕事に使っちゃいけない、勉強のために使うならいいけど、実運用に使っちゃだめ、なんてまことしやかに言われているのを、よく聞く。それこそ、ググれば、そんな意見ばかりだよ。認めるよ。確かに。

でも、仕事に使わないで(実践運用しないで)オレオレフレームワークが育つだろうか? そんなモチベーションの高い野郎が、自分の作ったオレオレフレームワークを実践投入しないで、家で趣味のためだけで満足するだろうか?

否、自分の作ったコードを仕事で使うのに何が悪い? 周りに迷惑をかける? だったらそんな所やめちまえよ。いま普及しているオープンソースのフレームワークも、元を辿れば、誰かが作ったオレオレフレームワークだったはずだ。

幸いなことに、PHP5からPHP7になって、パフォーマンスが段違いによくなった。少々のボトルネックなんて気にしない気にしない。システムが重かったら、物理サーバーを強化しろよ。ソフトウェアの改修で数百万円使うなら、物理サーバーをグレードアップした方がはるかにコストは安いはずだ。 クラウド使ってんなら、CPUとメモリをグレードアップしろよ。有能な人材に年800万円かけるんだったら、サーバー環境をグレードアップすれば、遥かに安いよ。

それに、PHPが遅い、遅い、言ってる奴に限って、大昔のPHP4とかPHP5環境でしか経験がないやつだろ? 最新の技術を語るやつほど、思考停止してんじゃねーか?って思うよ。

オレオレフレームワークを作ってる暇なんかねーよ、お前と違って単価の高い仕事をしてんだよ、このボケッッッぇ~! だって?? OK、OK、そういう恵まれたSEさんは、そのまま、黙って金を稼いでくださいよ、俺はお前を絶賛応援してるぜ! 幸せな人生をパートナーとともに分かち合ってくださいよ、心から応援してるぜ! でもな・・・ テメーの承認欲求を満たすためだけに、オレオレフレームワーク・メーカーにかまうなよ。かまってちゃんかよ。

オレオレフレームワークを使って、オレはアンタの数分の一の時給で、アリナミン飲んで楽しんで仕事してんだ。何が悪い?幸せの指標は、俺が基準で、俺が決める。少なくとも、おれは他人の幸せに口出すことは絶対しない。

はぁ。こんなクズのおっさんは、今日の仕事もちょっとしか進まなかったな。。。

■2019年10月21日


ウェブシステムなんて、要は ブラウザで解釈できるコードを動的に生成して、表示させるだけ。何も難しくない。PerlでもGoでもPythonでもJavaでもシェルスクリプトでも全部一緒。やり方が違うだけ。そのやり方にセンスの差がでるんだ。

あなたが作ったシステムが10年後に保守・運用されるている?そんなわけねーじゃん。今ある、大部分のウェブシステムは、AIで置き換えられるんだよ。
10年後、20年後、リニアが東京~大阪間の全面営業開始している頃には、いまあるウエブシステムなんてもう影も形もないだろう。HTTPプロトコルがまだ存在しているかどうかも怪しい。

そうなる前に、フレームワークなんてものを捨て去り、あなたが考えたアルゴリズムをコード化するのだ。
漫然と汎用フレームワークを使って誰のためにもならないコードを書くより、車輪の再発明を始めなさい。車輪の再発明がなければ、コードの新陳代謝が起こらないのだ。車輪の再発明は、あなたに新しい知識を得ようとするエネルギーの源になるはずだ。

URLルーティングを行うクラスがない? Composerのコマンドを叩くより前に、やることがあるだろう? ルーティングクラスを書きなさい。書いて動いたら、自分のコードを晒しなさい。ボロカスに批判されるだろう。あなたは、もっといいものを書きたい欲求がでるはずだ。

そうだ、それでこそプログラマーだ。

プログラマーは誰が作ったかわかんない、会ったこともしゃべったこともない人が作ったコマンドを叩くだけが仕事ではない。自分の頭で考えたアルゴリズムをもう一度キーボードを叩いてコードにしなさい。

require_onceを殲滅してオートローダーに置き換えたい? なら、今すぐ spl_autoload_register関数を調べて自分が考えた最善のアルゴリズムをコードにかきなさい、Composerのコマンドを叩く前に。

プログラマーのする仕事の99%は失敗することだ。コードを書いて、動かしたらエラーで落ち込み、バグを直して、エラーを撲滅し、また失敗する。その繰り返しがプログラマーの役割だ。バグが出ないコードを書くことが重要で偉い訳ではない。バグが出てもすぐに原因を推論できるようになることの方が重要なのだ。そのためには、徹底的にコードを書いて、失敗すること。

失敗することを恐れてはいけない。若いうちは10代~30代前半までは、たとえ大きな失敗しても、「あいつはまだ若いからな」と許してくれる。許してくれる間に失敗をしろ。40代~50代・60代になって失敗したら目も当てられない、世間は失敗を絶対許してくれない。もう再起はなく、人生も終わるだろう。

40代~50代・60代で失敗しないために、20代のうちにできるだけ失敗の経験を積んどくのだ。失敗を恐れてはいけない。まだあなたは若くて何度もリブートできるのだ。

そして、ここに失敗を恐れて何もしなかったオッサンがいる。グチを書いて憂さ晴らししている。。。そういうことだ。

■ 2019年10月16日


自分で言うのも何なんですが、僕は変な奴だと思います。周りに合わせるとか苦痛だし、大多数と反対のことをしたがりますし、こんなオッサンの書くことを真に受けるやつはいないと思いますけどね。

突然ですが、PHPのことです。

PHPはホントにお手軽言語なので、なんじゃこりゃ?っていうレベルのプログラムから、おお、すげぇー、っていうレベルものものまで、非常に大きいムラが出る言語(スクリプト)だと思います。まぁ、それゆえ、Laravelとかのフレームワークがウケる理由なんだと思います。

今、PHPでウェブシステムを組もうとすると、すべて先人たちが用意したモジュールを駆使して作っていく、というスタイルになるかと思います。フレームワークを使わないまでも、まずは Composer を用意して、Composerのコマンドを叩いて、オートロードやコントローラーだの言ったものを作って、組み上げていく感じでしょうか。知らんけど(笑)

僕はいつも思うのです。それって面白いの?品質はいいかもしれないけど、人が作ったものを丸々利用して、「はい、できました」 それ、面白いの?楽しいの?

あ、そうか、お金を稼いで生活するのが目的なのか。スマン、スマン。文句を言うつもりはないんだ。

僕は NECのキュッパチのMS-DOS上で今は亡きBolandのTurbo C/C++とかLSC-C試食版でチマチマC/C++言語を組んで、「やったー、動いたー」みたいな感じでプログラミングを趣味にしてきた。
小学校のときに親にねだって ポケコンとプロットプリンタを買ってもらって遊んできたものからすると、今やってる仕事って趣味の延長なんだよ。

別にそれで食っていこう、なんて微塵も思わなかった。自分で書いたコードが書いたとおりに動くことが、ただただ面白かった。僕はクズ人間なので、他のことには才がなく、人に合わせることもできず、少し間違えば引き籠り中年(老人)に突入しそうなクズだった。たまたま縁があってこの今の仕事についているけど。

この先、今やってる仕事がなくなっても、別に構わない。特に選ばなければ生きていけるだけの仕事はいっぱい転がってるしね。でもPCでプログラミングするのはやめないと思う。理由は単に面白いから。趣味だから。

使う側より、作る方が圧倒的に面白いと思うのですが、今のウェブ系プログラマって、プログラミングしてる、作っている、というより、先人たちが作ったツールを単に使いこなしているだけのように思えて、そういうのに抵抗感がどうしてもあるんですよね。

いや、だからって別にそういう人たちを否定するわけじゃなくて、僕はそういうのには馴染めない、というだけだったり・・・。自分でも分かってるんですよね。今やってる仕事も、そういう人たちと比べて随分と遠回りしてるな、って。

でも、申し訳ないけど、仕事を優先するより、自分の楽しみを優先してしまうのですよ。たぶん「大人」になり切れてないんだな、と思います。子供中年(おっさん)。いつまでも遊んでいたい、みたいな。クズだよな。

正直、今の職場も、若くて新しい人が入ってきたら、速攻で辞めるつもりいる。けど、地方では、そうそう良い人材が入ってこない、という現実もある。

最近はせかされて仕事してる感じで、なんか面白くない。面白くないから、仕事も遅い。
今夜は愚痴書きまくりだな。。。

■ 2019年8月17日


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

■ 2019年 元文


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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