megamouthの葬列

長い旅路の終わり

ご注文はCIですか?

いい歳なのにWebプログラマなんていう仕事をしている。
正確に言えばWeb屋だ。今や絶滅危惧種になったこの職業は、デザインをPhotoshopIllustratorでちょっと修正するところから、サーバーのファイアウォールの設定をちょっと変更するところまで、Webに関する何でもをこなす便利屋みたいなものだ。

一時は、Web屋みたいな人をフルスタックエンジニアなんて呼んでいた時期もあって、私も格好をつけたい時に便利に使わせてもらっていたけど、ただの銀玉鉄砲をシルバーバレット・オートマチック・モデルガンと呼んでるみたいで、口にする度に気恥ずかしくなってしまい、すぐに言わなくなってしまった。
これは言葉が悪いのではなくて、きっと私がWeb屋で、フルスタックエンジニアではなかったからだと思う。

銀玉鉄砲が、軽いアルミ缶すら撃ち抜けないように、Web屋もまた、ネットワークやサーバー運用の深淵を知らないし、デザインの理論的側面を知らない。

私たちが知っていて、出来ることといえば、ペライチのデザインをcssとhtmlの珍妙な混ぜ物にすることとか、フォームに入力されたデータをMySQLのテーブルに格納して、パスワードのかかった画面に一覧表示することとか、インストールされたCentOSSELinuxをすぐにDisabledにするぐらいのことだ。

何でもちょっとずつ、がWeb屋のあり方だし、ちょっとずつでも何でも、というのがWeb屋の生存戦略だ。

こういう事をし続けると、ちょっとずつ、というのが深くなっていく。例えば私なんかは、素のcssの代わりにscssで書くことができる(PostCSSは使ったことがない)、jQueryの代わりにVue.jsのコンポーネントを作ることもできる(Reactは使ったことがない)、Laravelでちょっとした業務アプリケーションを組むこともできる(Webで入力されたデータをRDBMSを介してWebで表示する以上のビジネスロジックはほとんど実装したことがない)、Apacheの代わりにnginxを使うことだって出来てしまう(Dockerは実運用で使ったことがない)

つまりは、やっぱり何だって出来てしまうし、周囲もそれなりに「何でも出来る人」扱いしてくれる。でも、括弧で囲んだ部分が示すように、未知の部分は多いし、突っ込んだ何かをするには不十分で、何かあるとすぐに壁にぶち当たってしまう。

少し前に、30代前半ぐらいのプログラマと組んで仕事をした。
彼はPHPとLaravelについてはプロフェッショナルで、私が用意したgitlabにコミットされるソースの質も高くて、私はそれを毎日チェックして、大いに参考にさせてもらった。(そして、自分の受け持った部分を真似して書いた)

「CIで自動テストを回したい」
ある日、彼がSlackのどこかのチャンネルで発言した。それはいいね。と私は答えた。
実際、今まで一緒に仕事をしたプログラマも顧客も、継続的インテグレーションはおろか単体テストの自動化をしたい、なんてことすら言ったことがなかったから、私はやっぱり出来る人は違うなあ、と素直に感心したのだった。
私はすぐにgitlabの隣にjenkensをセットアップして、彼に渡した。

「CIタスクが動かないですね」
しばらくして、彼が言った。
ユニットテスト自体は起動しているみたいだった。どれどれ、と私は彼のテストコードを見た。WebDriverを使ったE2Eテストだった。単体テストじゃないんだ、と私は思ったけど黙っていた。
「WebDriverが動けばいいのかな?」
と私は、少し気を落ち着かせながら、#generalだったか個別チャットだったかで尋ねた。
そうじゃないんですか?
と彼は答えになっていないことを言った。
私はひとまず、chromiumをインストールしたりなんだかして、WebDriverが動くようにした。
それでもテストは動かなかった。そもそもWebDriverがアクセスするサーバーがないんだもの。
「えっと、このテストコードはどこにアクセスするE2Eテストなの?」
「CIで作った環境じゃないんですか?」
「いやだから、このスクリプトでWebサーバーは起動しないじゃない?」
しばらく沈黙があった。私は話が通じているのか、にわかに不安になってしまった。というより、もしかしたら、私のほうがとんでもなく無知なことをしでかしているのかもしれない、という恐怖感が腹の底を重くした。

インフラのことはわからないんで
しばらく後で、彼は発言した。
そんなこと私だってわからない。CIでE2Eテストを回すなら、テストサーバーかなんかにアップロードするタスクの後にやるもんじゃないのか、と私は思った。
でももっと冴えた、CIなら当然の流儀が他にあるのかもしれない。私は逡巡した。
「Dockerとかで出来ないんですか?」
考え込んでいる私に彼は追い打ちをかけてきた。
Docker。CIで動かすスクリプトがLaravelとMySQLが動作するDockerコンテナ群をcomposeして、それからE2Eテストをする、っていうのならできるのかもしれない。だがそんなことやったことがないし、それが正しいやり方かどうかも確信がなかった。

「わからない。多分出来ると思うけど、やったことがないから時間がかかりすぎるよ」
私は白旗を上げることにした。そもそもなんで、君のCIスクリプトまで私が書かないといけないのだ、というのもあった。逆ギレと言われるのかもしれないが、私はWebプログラマとしてこのプロジェクトに参加していて、gitlabだって、誰も立てる人がいないから、立てただけなのだった。

「テストしないなら、品質保証できませんけど、いいんですか?」
最後に彼は言った。それが最後だったのは、私がその発言を無視したからだ。
単体テストもしないでE2Eテストだけで品質保証とかおめでてーな、とか昔のネットワーカーっぽい煽り文句が頭を駆け巡ったけど、どう考えても10歳ほども年下のプログラマに言うべきではなかったから、もちろん言わなかった。


その一件のしばらく後、クライアントの会社に立ち寄った。Slackでしかやり取りしなかった彼はもういなくなっていた。
「彼は、ちょっとコミュニケーションに問題がありましたね」
とクライアントは言った。私も同意した。でも、それで片付けるのも、なんだか居心地が悪かった。何より彼に悪い気がした。
本当は彼が正しくて、私が間違っていただけかもしれないのに。

私が、本当のインフラ屋だったら、きっと彼の要求が間違っているか、正しいのか、はっきり述べることができただろう、と思った。
このプロジェクトにおける私の役割がCI環境を構築することだったら、少し時間を貰えれば上手くやれたかもしれない。
あるいは、私がWebプログラマーだったら、そもそもCI環境を用意するところからお断りしていただろう。
「そういう環境はないと思いますよ」と言った私に落胆して、彼は次の作業に向かった筈だ。

私はWeb屋だった。何でも注文できるけど、何でもちょっとしか出来ないWeb屋だった。

このブログを読んだ誰かが、私がすべきだった何かを教えてくれるかもしれない。または私の無知を糾弾するかもしれない。

そうして、私は前より、ほんの少し賢くなれる。でも、きっと同じ注文は来ない。そして、次の注文に応えられる保証もない。

銀玉鉄砲を持った私は、友だちみんなが帰ってしまった夕日の街並みをトボトボと帰っていくよりないのだ。


[改訂第3版]Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

[改訂第3版]Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

ロスト・ジェネレーションの詩

gendai.ismedia.jp

もはやロスジェネはあきらめ始めた、という言葉にジーンときたので、読んでみた。
この記事に出てくる「中年フリーター」氏とは共通点がある(頑張ってるうちに精神を病んで社会から離脱したところとか)私だが、なんだか記事自体はあまりぴんと来なかった。

一つは、記事の多くを政府の無策に費やしている点で、もちろん、その意義は理解できるのだけど、私たち(主語を大きくしてすまないが、それに同意してくれる人たちのために書いているつもりだ)が、それこそとっくの昔に「あきらめた」ことなので、こうして今でも怒ってくれるのはありがたいのだが、正直な話、今さらどうでもいいことだ。

もう一つは、私たちへの救済の形として「安定雇用」を掲げている点だ。
それも何だか落ち着かない。もしも私たちが、9時5時勤務のホワイト企業に、住宅ローンを組めるような会社に40代の身空で入社できたとしても、まるで中学校に小太りの中年が混ざって授業を受けているような気持ちになる。他の世代の見え透いた侮蔑や哀れみを視線の奥に感じながら、楽しくやっていけるように思えない。私たちに残された時間とそれで為せることを思った時、むしろ、より惨めになってしまう気がする。

ブコメを眺めて、「ロスジェネに救済なんていらない。社会に出ずに無能な中年と化した人間なんて放っとけ」という趣旨の意見があって、ひどいなあと思うけど、こうして実際に腹の出た中年がうじうじしているのだから、そう罵倒したくなる気持ちもわかる。

でも、私たちだってわからないのだ。私たちがどうして欲しいのか、あの苛烈な時代の代償を、残りの人生でどう取り戻せばいいのか、皆目わかっていないのだ。


私たちが今もこの社会の片隅でフワフワと漂っているから、私たちを焚き付けて、反体制や自分の利益の為に、走狗として操りたいという輩も沢山いる。

彼らにしてみれば、私たちはいつか不満を爆発させて、テロの一つでも起こすような存在に見えるのかもしれない。

私はテロリストではないので想像だが、テロリストになるにもそれなりの条件というものがあって、社会への憎悪だけで、人はテロリストになるわけではない。
アルカイーダやISや、かつてのIRAのように実際にテロを実行させるに足る、それが意義深いことだと信じさせる、大義や思想があって、さらに、その大義の為に何らかの実力を行使できる手段と、その手引きがなければ私たちはテロリストには決してなれないだろう。

私たちに思想はない。必死に生きていたら、こうなってしまっただけなのだから。
袋小路に迷い込んだ昆虫が、迷路を作った存在に噛み付く正当性を見いだせないように、前に進むことも引き返すこともできなくなってしまった私たちも、同じところをぐるぐる回り続ける。

私たちに手段はない。ダイナマイトの作り方を私たちは知らないし、誰かが教えてくれるわけでもない。火炎瓶なら調べれば作れるかもしれないが、それもなんだが面倒くさい。

そういう大それたエネルギーはとっくの昔に長時間労働とか、学習性無気力とか、薄暗い自室でうずくまっているうちに、すっかりなくしてしまったのだ。

ほんの少し残ったエネルギーもTwitterとかブログとかブコメとか、そういうところで、表現の自由とか、男女同権の原則とか、旧世代が作ったみすぼらしい正義に乗っかって、ほとんど意味のない言説と議論に費やしてしまう。

だからきっと、私たちは死ぬまで大したことは何もできないだろう。
仮に火炎瓶を作れたとしても、投げつける相手が思い浮かばないのだ。

生活保護をくれない、いじわるな役所の窓口でお手製のモロトフ・カクテルを取り出したとしても、そこにいるのは、私たちと同じ非正規の職員たちだ。
果てしない議論の果てに、憎悪を駆り立ててくる相手だって、自分よりほんの少しうまくやれただけの、同類にすぎない。

私たちはそうやって退屈をまぎらわせて、やがて寿命が尽きるのを、誰かがやってきて、私たちの原罪を裁いてくれるのを、ずっと待ち続けている。

私たちの本当の物語は、こうなってしまう前の40年間にとっくに終わってしまったのだろう、と思う時がある。

夢見がちな幼年時代があって、青春の懊悩があって、その間ずっと繰り広げられていた大人たちの繁栄を横目に見て、くだらないなあ、と感じて、でもそのうちあっち側に回ればきっと何もかもがいい思い出になるのかもしれないと思って。

出てみた社会は何故だがひどく冷たくて、終電を待つ駅のホームで脳が火花を出して、若い身体が悲鳴をあげる。やってきた電車になだれ込んで、ずっと車窓を見ていると、街は真夜中だというのに明るくて、走る電車から一瞬だけ、奥へ奥へと続く大きな道が見えて、この道の先には何があるんだろう、いつかあの道をどこまでも歩いて行きたいなあ、とぼんやり思って。

家にたどり着くと、着替えもそこそこにベッドに横たわる。昔好きだった音楽をかけて、撮りためたアニメを再生して、そのうちまぶたが重くなって眠る眠る。

私たちの物語というのはこんな風情のものだ。預金残高数万円と孤独だけを残して、私たちはそういう物語を生きた。

哀れみを買いたいわけでもない、巨大な慰霊碑を作ってもらいたいわけでもない。ただ、そういう物語を生きた人々がいたことを、せめて、誰かが覚えていて欲しい。

だから私たちは一遍の詩にすぎない。そしてそれで構わない。と私は思っている。


ある借金の寓話

gendai.ismedia.jp

「自分にはビジネスで多額の借金があります」と言われると、世間ではネガティブなイメージにとらえられるが、私は逆に高く評価する。彼自身に、借金の金額分の信用があったから、お金を借りることができたのだ。
反対に、起業志望者のなかで借金を一切せず、せっせと自己資金を貯めている人がいるけれど、何をしてるんだろう? と思う。信用されていないから借金できないだけじゃないのか。

引用と、直接の関係はないし、的外れな話であることは承知で書く。


私の叔父は愚かだった。
大学を卒業して、そこそこ大きな会社に就職したが、何かの事情でいられなくなって退職すると、その後は職を転々とした。

ある時、営業として働いていた叔父は、ノルマを達成できなかった罰として、法外な違約金を会社から要求された。
今の常識から考えると、会社ぐるみで仕組まれた、明らかな詐欺ではあったが、そういう事を平然と行う者がいて、被害を受けた側もそれと気付かず、司直に頼ることなど思いもよらず、ただ青ざめるしかない、そういう時代だった。
叔父は困り果てたあげく、ほうぼうから借金をした。私の父も相当な額を用立てたらしい。

借金の相談をする時は必ず、叔父は自分の子供を連れてきた。
父と祖父と叔父が深刻な顔で話し合いをしている間、叔父の子どもたちは、従兄弟である私たち兄弟と仲良く遊ぶという算段なのだ。

叔父の子供は兄と妹の二人だった。彼らと口を聞いた記憶がまるでない。
彼らはやって来ると、何も言わずに私たちのゲーム機の前に座って、一心不乱に兄妹でゲームを始めた。
マリオが跳ねまわっているブラウン管テレビの前で、私たちのほうを振り向きもせず、歓声も上げず、黙々とコントローラーを握りしめている彼らの後ろ姿が記憶にある。

相談が首尾よく終わると、叔父は上機嫌になって、我が物顔で居間に鎮座して、缶ビールをぐびぐびと飲み干した。
酔っぱらうと「金は天下の回り物だよ」とよく口走った。
私の父は叔父と距離を置くようになった。

それから、叔父は何かの商売の種を見つける度に、父のいない時間に祖父を尋ね、金を引き出そうとするようになった。
その度に、祖父は困った顔をして「アパートの管理人でもなったらどうか」などと忠告するのだが、いつの間にかほだされて、金を出してしまうのだった。

叔父の事業が上手くいったという話を聞いたことがない。
やがて、叔父一家とは連絡がつかなくなった。

ある日、居間でテレビを見ていると、電話がなった。
電話を取った父の顔つきが変わって、私は、何となく叔父のことだろうと察した。
受話器から聞こえる居丈高な声と、父の返答から、借金取りが私の家に電話をかけてきたのだということがわかった。
祖父も、幼い私も、まるで恐ろしい化物が今にも受話器から飛び出してくるかのように、固唾を呑んで体を縮こませた。
父はそうした沈黙の中で、相手の言い分を黙って聞き、ようやく口を開いて
「兄とは不義理がありまして」
と言った。
その言葉を発する時の、ぎりぎりと愛憎を振り絞るような父の表情を私は今でも覚えている。


そういう事があったからなのか、私は大学を中退しても、サラリーマンになることにした。
実際はともかくとして、リスクとは無縁に、ただ、毎日を労働に費やすというだけで、きちんと報酬が支払われて、生計をたてることができる、ということが最初の給与が振り込まれた時に実感として呑み込めて、私は深く安堵した。
ひとまずお前は生きていて良い、と社会に認められたような気分になった。

プロテスタンティズムの倫理と資本主義の精神」という本があることを、私は大分後になって知ったが、日々の勤勉が、資本主義的な経済活動というよりは、むしろ祈りや信仰に近いことを私はずっと前からわかっていたような気がする。

諸々があって、私はその後、なんとなくフリーランスとなって、つまりは個人事業主をかれこれ10年はしている。

それでも、金のやり取りであるところの「商売」に、どうにも慣れないままでいるのは、少しでも欲張ったり、悪い連中にひっかかると、あの恐ろしい「借金」とやらを背負ってしまうのではないか、とつい考えてしまうからで、信用拡大だとか、リスクヘッジだとか、客観的な数字として借金というものを扱えるようになっても、それは変わることがない。
私は今でも、貧乏が、借金が、借金取りが、それらがもたらす心の底にまで染みだし行くような真っ暗な影が、心底恐ろしい。


祖父と父が亡くなってしばらくして、叔父も死んだ。

近親者だけの小さな葬儀が行われた。
従兄弟の妹は来なかったが、兄のほうが神妙な顔で公民館の小さな控室に座っていて、喪服を着た私に気づくと、懐かしそうに「お互い歳をとったね」と言った。

叔父の借金は死ぬまで残っていたようだ。

おかげで甥である私も相続放棄の手続きをしなければならなかった。

迷惑といえばその程度のことで、私は叔父をどうこう言う気にはなれない。
ただ、かつて親戚づきあいをした、叔父や、その子どもたちの姿を、在りし日に見た、どこか陰りを宿した風情を思い出して、胸を突き刺すような虚しさを覚える。

返せない借金というのはそういうものだ。
どう言い繕おうとそれは変わらない。


借金問題 解決バイブル

借金問題 解決バイブル