仕事、いろんな会社の人にプロジェクトの一部を任せたりしていて、スクラム組んでがんばりましょうみたいな感じになってる。
色んな環境で仕事をしてきた人と一つのプロジェクトを回す上で、遠慮なく意見を交わせるというのはやっぱりスゴく重要だと思う。ある部分の仕事を任せる、移譲するとき、任せられる方には任せる方からは見えない世界が見える。ここの仕様には実装上こういう問題がありますとか、過去のソースからはこういう裏仕様が読み取れますとか、あと実装がクソですとか、そういうの。
だからこそ、仕事を任せる側には見えない危険というのも、野生動物の如き鋭さで察知してくれる。そして、察知してくれた危険の回避方法というのも考えてくれる。
技術者は基本的にシステムに対して真摯だし、ぼく自身もそう信じているので、そういう人たちから見えるシステムとしてのあるべき論や危機回避方法というのもやっぱり基本的には正しいとおもう。もちろん仕事を任せた人の経験が少なければ、そのリスク回避方法のベクトルは誤った方法を向いていたり、逆に経験方法な技術者のベクトルがぼくの理解できない向きのこともあるけど、それは話し合って互いのベクトルのズレを修正すればいい。
技術者は、やっぱり良いシステムつくりたいんだとおもう。自身が納得できるようなシステムを作ることにやりがいを感じるからこそ、そういう職を選んだんだとおもう。
だからこそ、例えヒドい実装が見上げる程に積み重なった中でも、ここはこうなるべきだとか、ここはこうした方が良いとか、いろいろなアラートを上げてくれて、やっぱしそれは正しい方向を向いてる。とおもう。良いシステムになるし、みんなの良いシステムをつくりたいという希望も達せられるのなら、できる限りそれをさせてあげたいっておもう。みんなが納得するシステムをつくって、いいもの作ったって誇りがあるからこそ、技術者は比較的長い労働時間にも、開発には少々不便な環境にも耐えられるみたいなところあるとおもう。
もちろん、「こうすべき」って提案してくれたことを、全部が全部叶えてあげられるわけじゃない。予算制約だったりスケジュールのしがらみだったり、それを今やってしまうとこの開発は破綻するっていうことがあるから、度々ぼくは No と言って、相手もそうですかっていう。今の実装がダメすぎるからちょっと修正したいって言われて、その修正の正しさを担保するだけのテストができないから、そこはそのままにしておいて*1っていうこともあって、相手もそうですねっていう。
みんな技術至上主義ってわけでも、原理主義ってわけでもなくて、予算とスケジュールと品質という現実を見越してくれるから、「そうですね」って言ってくれる。それでも、その言葉の裏で、ぼくはみんなの誇りを傷つけて、やりがいを奪ってる気がする。
誇りを傷つけて、やりがいを奪って、プロジェクトを成功させて、それで良いのかって感じがする。これは成功なのかって感じがする。あるべき姿から離れて、一定の利益を出して、それで胸張って良いのかって、ずっと考えてる。ぼくがしてるのは技術的負債をただただ放置して、そのツケを後世に回してるだけなんじゃないかって思う。お客さんにとって、システムにとって、一緒に仕事してるみんなにとって、自分にとって、これでいいのかって思う。
*1:色々察するところ