Diary over Finite Fields

515ひかるの日記と雑文

最近考えていること 2024年8月

引越しの終わり

引っ越しが終わった。

引越しをするとさすがにいろいろなことがありすぎて、まぁ面倒なので特になにも言わないことにした。

最近こういうことが多い。ひとつひとつは大したことがないが、まとめようとするとたくさんありすぎてまとめなくていいかという気持ちになる。

なんのためにブログをやっているのかわからない感じの書き出しになってしまった。

良いソフトウェア開発をするためには

どこかで、良いソフトウェア開発をするためには良い人間にならないといけないのではないかという話をした気がする。どこで書いた、あるいは話したのかも覚えていない。覚えていないけど、不親切なことにこの記事では読者はそのことを知っている前提で書く(ひどい記事である)。

最近ちょっとまた考えが変わってきた。どう変わったのかというと、良い人間「であれば」よいのではないかと思うようになった。

つまり、良い人間になる・ならないという問題ではない。ていうか冷静に考えて、何かをすれば良い人間になれるわけではない。なにをするとかしないとかというより、人間としてどうあるかのほうがソフトウェア開発をするためには大事なのではないかと思い始めた。

自分でも全然なにを言っているかわからないので、もう少し整理をしよう。

まず、僕の言っている良いソフトウェア開発(未定義語)は、持続可能な開発のことをさしている。つまり、持続可能な開発であることは、良いソフトウェア開発であるための必要条件だと思っている。

SDGs最高という話ではもちろんない。人材をすり減らしてうつ病にしてしまうようなソフトウェア開発はよくないよねとか、中にいる人は気楽に過ごしているけど全然お金稼げなくて解散ですってのじゃ意味ないよねという話だ。

中にいる人が熱意を持って従事できて、それでいて経済合理性もある程度あって実際にその開発によってお金が稼げている状態。これが持続可能なソフトウェア開発だ。このような条件が成り立たないソフトウェア開発は良いものではないと僕は思っている。

で、持続可能な開発をしようとすると当たり前だが人材と金銭の継続的確保が必要になる。人はライフステージの変化とか、さまざまな理由で職を変えたり違うことに興味が移るものだ。金銭は言わずもがな、継続的に得られなければ人を雇い続けることも難しい。

そして、金銭を継続的に得るためには持続する事業を作らなければならない。人材を継続的に確保するには、金銭もだが良い組織文化を作らなければならない。

よって、このような演繹の結果として僕は良いソフトウェア開発をするためには良い事業と良い組織が不可欠であると考えている。

では、このような考えをしている上で「良い人間」はなにが関係があるのか。

別に哲学の話をしているわけではないので、この「良い」には定義がある*1。ここでの「良い」とはさまざまな立場になって考え、自分の信じる道に従って行動ができる人のことを言う。

この「良い人間」が組織の中にいなければ僕は持続可能な事業を作ることはできないと考えている。僕からするとなぜそう思うかを説明する必要を感じられないほど自明なことだ。簡単に書くと、このような「良い人間」がいなければ組織の中の全員が自分の立場を守ろうと内向きになり、組織を変えることができなくなってしまうからだ。

組織は必ず硬直化する。それは売り上げ規模とか、人数とかにあまり関係なく、硬直化する組織は硬直化する。そして硬直化した組織は必ず成長が止まり、いつの日か持続可能でなくなる。だから良いソフトウェア開発ができなくなってしまう(やっと戻ってきた)。

それを打破できるかどうかは、「よい人間」の努力にかかっている。それがCEOなときもあれば、平社員のときもあるだろう。

「良い人間ではない」人は構造が作るものであり、だからそれが悪とか言うつもりもない。僕もいつもいつも良い人間でいられるわけでもない*2。しかし同時に、その構造にとらわれない「良い人間」を輩出することができない組織は、いつか持続可能でなくなってしまうのだ。

長くなってしまったが、ここまで書いてやっと「良い人間になる」ことと「良い人間である」ことの違いの話ができる。

まず僕は良い人間の定義を上に書いたが、ぶっちゃけそんな定義はどうでもいいのだと思った*3。もっというと良い人間かどうかはそんな言語化された定義で決まったり、何かの条件をクリアしたらなれるようなものではないという至極当たり前のことを思った。

でも良い人間かどうかは、周りから見ればわかる。だから周りから見られた時に良い人間になればよい。そしてそれを「良い人間であること」と表している。

これは言語では定義不可能だが、いくつか例をあげられる。例えば組織のバリューを体現しているとか、その本人・周囲・組織・経営陣の成長に寄与するための行動ができているかとかだ。


僕は少し前まで、他人は自分の振る舞いを見て僕を認知するので、良い行動をすれば良い人間になるという認知を得られると思っていた。

しかし実際はどうもそうではないのかもしれないと思っている。

たとえば、僕にも無数のくせがある。口癖とか、手で髪の毛をかく仕草とか、キーボードをたたいているときのエンターキーを押すときにやたら音をたてるとか。

こういう、本人は意識もしないようなことも含めて、人は自分のことを一定"評価"し、良い人間かどうかを見ているようにも思う。

もちろん、上記のことが評価の場などで表に出てくることはないのだけど、やぱり僕が不用意に人を見下したり悪口を言ったりするような人であれば、僕は気づいていなくても、周囲は僕のことを良い人間であるとは思わないだろう。

だから、良い人間であるためには本当に性根から良い人間にならないといけない。小手先の仕事でやっていることではなくて、自分の普通の習慣、自分の最初の心の反応が良い人間であるように文字通り心を入れ替えないといけない。

それが良い人間になるということであり、それができなければ良いソフトウェア開発に辿り着けないのではないかと僕は考えている。

長く書いた割に誰にも伝わる気がしない文章になった。ていうか、最近考えていることシリーズで走り書きするようなテーマではなかったかもしれない。

*1:良いソフトウェア開発の「良い」は定義をしていない。定義も別に思いついていない。

*2:むしろ何度も良い人間になることに失敗しているからこそ、僕は退職を繰り返しているのである

*3:あの定義を採用したのは2024年初頭の僕なので、2024年8月の僕にはそんなことはどうでもよいという話でである。