この記事は「ひとりでカンファレンスふりかえりo0h Advent Calendar 2021」のday-3です。

ひとりでカンファレンスふりかえりo0h Advent Calendar 2021 - Adventar

今日振り返るのは、「クソコードからの脱却」です。

PHP Conference Japan 2021のCfPに応募しました。Regular session (25 mins)の枠になります。

クソコードからの脱却

概要

(↓大体こんな感じ)

https://twitter.com/o0h_/status/1421086605457051654

タイトルは「レガシーコードからの脱却」のオマージュです。

このトークで扱いたかったのは、「どうしたら美しいコードを書けるようになるか」ではなくて「人同士や感情のコンフリクトを避けるには、クリーンなコミュニケーションの出来るチーム環境を整えていくか」といったことでした。

得てして「"正当"な批判を加える側には一定の正義が認められる」ような雰囲気がありますが、かといってそれが必ずしも望ましい方向へと周囲を導くとは限らないのが難しいところです。他方で、「言葉遣いに気をつけなさい、気持ちよく働けるようにしよう」というのも当人にとっては良い処方箋にはならないものです。もっといえば、「自分は正しいのに、言いたいことすら言えないのか」という憤りを覚えることにすら繋がりかねません。

実際に、過去の自分が「こんな世の中じゃ・・ポイズン。。。」と何度も思わされたものです。

ここ暫くで、こうした問題に対して視点を変えて「もっと自分の精進によって打ち破れる壁があるのでは?」と考えるようになりました。 「クソコードなんて言ったら気分を害する人もいるだろう、萎縮する人もいるだろう」に対して「自分なりに、より建設的な思考を巡らせることが出来れば、また見え方が変わってくるのか?」となったのです。

「主語がでかいと正当な批判・意見でも価値を失う」のと同じような構造で、問題を「クソコード」と故障している次点では「正当性よりも加害性が表出してしまう」のでは、と。

恐らく、自分が「不吉な臭い」に対して、まだ感情的に反応するところで留まっている。思考が止まっている状態。そんな時に、「クソコード」呼ばわりをしているように感じられてきました。

何が悪いのか、どうしてそのようなコードが生まれる(生まれざるを得なかった)のか?に分析の目を向けることで、ただ「クソ」と呼んでいた存在は「対処可能な」もしくは「必然性があってやむを得ず」にそこにあるものへと変容します。

技術書の強さとは、鍛錬と知識によって育まれるものだと思います。そう考えると、「何故こうなっているのか?」への洞察は非常に良い訓練となります。その逆、「これはナンセンスで論じる価値がない」と思って止まるのは、自身を鍛える機会を手放しているようなものかも知れません。それどころか、自らの「不足」を表明してさえいるように感じます。

こうした、自分自身の中に育まれた「良い技術者になるために」を改めて言語化しながら整理して、公に共有してみたいなーと思ったのが本プロポーザルの内容でした。

動機