ソフトウェア職人気質の重要性
スピーカー 1
第2部、ソフトウェア職人気質っていうところで、本のタイトルと同じ名前がついてるところなので、ある意味ここら辺からが本編かな?
スピーカー 2
そうですね。
スピーカー 1
本編よりも重要な問題提起っていうのが冒頭に入ってたりはすると思うんですけど。
スピーカー 2
そうですね。第2部の最初の方で、ソフトウェア工学というメタファーにおける重大な失敗は、ソフトウェア開発プロセスの中心に任用することができなかった点です、っていう風に言われてますね。
結局、ソフトウェアを作っているのはやっぱり人間なので、人間のことを脅かしてもうまくいかんのんじゃない?みたいな、そんな感じはありますよね。
スピーカー 1
そうですね。プロジェクトがうまくいった、うまくいってない、失敗したっていうだけの話じゃなくて、31ページの下の方の最後のパラグラフを見ると、
職人機質は、効果的な技量の伝達手段及び作業コミュニティを発展させる手段として何世紀もわたって用いられてきました。
っていうようなことが書いてあって、目の前のことをうまく、そのノルマじゃないですけど、一旦目標通りやるべきところまでやりました。
っていうことだけを重出ししてるんじゃなくて、次世代の新しい人が育っていくかとか、それを支えるための土壌、コミュニティっていうのがちゃんと枯れないで肥沃な土壌というか育っていくのかなみたいなところまで、
ちゃんと視野に入れて考えると、焼き畑の風的なというか、一旦収穫できればOK的な話じゃなくて、職人の世界観やっていきたいっていう感じが少ししますよね。
スピーカー 2
そうですね。
この間たまたま金城さんと話題にしたXのポストで、漫画家が足りない問題みたいな話をしてたやつがあって、今チーム制だから全部できなくてもいいってやった結果、背景は描かなくていいみたいな、量産してくれみたいなことをどんどんやってた結果、ちゃんと漫画を描ける人がどんどんどんどん減ってますみたいになって。
まさに今ここで批判されているようなことが漫画業界で起きてるんだなーみたいなことを思って。
で別に漫画業界で起きてることがソフトウェアの界隈で起きてないかって言ったら、そんなことはきっとないだろうしとか思いながら、
ちょっとこう、新脱外見を、今目の前の現実はそうなってないよなーみたいな。厳しいねーって思ったりはちょっとしましたね。
スピーカー 1
なんかね、作業員は確かにハードルを下げることによって加工できてるかもしれないけど、本当にクリエイターとかアーティストみたいなレベルの漫画家っていうのが現れてこないよねー的な話が、
それによって失敗してる結果が今出てきてるよねっていうようなことを言ってるポストがあって、ゲイさんに投与したんですけど、
そのポストを投与した時にデマルコとかが扱いそうな話題だって言ってあったんですけど、まさかデマルコを出した後にもこの本の話の中でそこが拾われるとはって、
今、ずーっとデマルコみたいな話してるポストだったんですね。
スピーカー 2
俺は投与された瞬間に、これ今目の前に読んでる本、同じこと書いてあるんだけどって思ってたんで。
スピーカー 1
確かにな。漫画家とかは職人ですもんね。ないものを作るとか同じものを作っても、漫画家で同じものを作ると酷いことになりますからね。干されますからね。
学びと成長の重要性
スピーカー 2
そうです。
プログラマーも結構、コピペとAIに聞いて、これでよしみたいな、大量生産ある種行動してしまえば動くものはできるっちゃできるんで。
やってた結果、別に顧客が満足するようなものは作れず、動いてるからお金は一旦もらえるかもしれないけど、長期的にはあんまり信頼が得られないとか、
スピーカー 1
スキルアップができないとか、そういうようなことにどんどん繋がっていってるような気がするなーみたいな、ちょっと思ったりはしたりしますね。
スピーカー 2
で、そっか。本の話に戻ると、これは5章の1からすごい刺激的なタイトルがついてて、「職人決出はソフトウェア開発を改善するものである。」言い切ってますね。
スピーカー 1
これはなんでだっけ。ああまあまあそうですね。決められたことをやってくださいって言って、何というか、一人一人のスキルとか意欲っていうのを大事にしないやり方ではなくて、職人決出っていうのは悪夢に人っていうのを一番の資産として扱うようなやり方ではある。
スピーカー 2
職人ありきで物事を考えていくっていう話にもなっていくので。
スピーカー 1
まあ何というか、一人一人の熟達っていうのを本当に重んじるもの。で、そういう世界観はソフトウェア開発を改善するよね、的な話ですかね。
スピーカー 2
トムデマルコのやり気こそ全てっていう。Pプレイヤーの副題が。
スピーカー 1
そうですね。
スピーカー 2
でもまあそうだと思うんですよね、実際。もっと良いものを作ってやろうとか、ユーザーの期待を超えるようなものを作っていかないと、実際使われなかったりとか、課題は解決されなくて文句しか言われないとかいうことってどんどん今起き続けてるだろうし、
何なら歴史が進んでソフトウェアに対する要求みたいなものはどんどん複雑化してるし、今なんかリアルタイムでチャットができたら嬉しいとか、それだけではもう当たり前でしょ。
当たり前品質みたいなものはどんどん変わっていってるので、なかなか言われたものだけを作ってて、でなった時にその支持を出した人がすごいクリエイティブなものを知っているとか、
予算化のいろんなものを知っていて、今これを作れば最前線だって受けるからみたいな、そういうことでもない限りは多分難しいなーって思ったりしますね。
スピーカー 1
科学的管理手法的な取引取りを交換可能なパーツとしてみなすような、そこまであれでしたっけ、辛辣なこと言ってるんでしたっけ程度。違う気がするんだよな。
でも例えばというか、極端穿った見方をすればそういう話が科学的管理手法にあるとしたら、例えばその新人に簡単な仕事をまずやらせてみる。
で、必要なタスク、プロジェクトとして必要なタスクをどうにか完了させてもらう、ダウンしてもらうっていう意味では別に科学的管理手法的な考え方でも職人技術的な考え方でも変わらないんですけど、
与えられたタスクをこなしましたっていうところがゴールになるんじゃなくて、職人技術の世界観だと与えられた仕事の中からしっかり知識とか経験っていうのを、その嬉しいですよね。
新人が何かを学び取って次につなげていくっていうような態度というか性質というか、そういうのがあるんやで、みたいな話が書いてありますね。
スピーカー 2
そうですね。仕事では全て勉強なんで、コピーを取らされて、そのコピー、ただコピーするんじゃない?みたいな。何をコピーさせられているのか、その時の書類を読んでみたいな。
いうの昔見たような気がして、ケッって思ったりしましたけど。
スピーカー 1
それは厳しいな、なるほど。何をコピーさせられているのか。
スピーカー 2
そうすると今そこでどういう会議をしているのかとか、どういう情報が流れているか知るチャンスがあるじゃんっていう話もある。
それはただコピーをさせるための建前なのでは?みたいなことを思ってましたけど。
たぶん一回あるのは本当だと思いますよね。
スピーカー 1
そうですね。プログラマーだとここの表示文句を直してみて、1文字ちょっとタイプ修正するとか言った時にも、
君はその1文字修正から何を学んだんだい?みたいなことを現場で言う先輩にはなりたくないですけど、
その裏側にある仕組みというか、このフレームワークはどういうふうにルーティングして、
そこのテンプレートかAPIか分からないですけど、ちゃんとレンダリングして、
レスポンスとして出力してみたいなところまで考えるチャンス。
そこまで内側に入り込まなくても、観測構築どういうふうになっているんだっけとか、
どこを見ればここのテンプレートを呼び出している場所って見つけやすいんだっけとか、
そういう知識吸収の機会には確かになったりしますもんね。
いや、やだな。
スピーカー 2
でも文言が1個変えられたら、じゃあ別の文言も変えられそうだなとか、
自分だったらこうした方がもうちょっと伝わるんじゃないとか、
ということは全然あり得る話だと思うので、
ちょっとその文言を変えたおかげでユーザーが迷わなくなったとか、
そういうような話は全然あるだろうし、
1個できるようになったことが増えたってことは、
もうちょっと今目の前にあるもの以外にも直すことができる幅が増えているはずなので、
別にそこで言語化して、自分が何を学んだこととかまで全部言語化しろって言わないけど、
できる範囲がどんどん増えてるんだよなってことは、
ある時にどんどん気づいていくんだろうなって気はしますね。
スピーカー 1
やっぱり伸びる新人が意識すべき10のことみたいな感じで、
その学び取ったことを今日の日報に書いて先輩に見てもらって。
なんか嫌だ、いやめちゃくちゃ正しいし、
効果的な実効性のあること言ってるような感じがするんですけど、
なんかすげえ嫌だな。
スピーカー 2
なんか嫌なビジネス本とかに書いてありそう。
スピーカー 1
鼻につく意識の高さですよね。
結局そういうのをお手並み拝見とやってること変わらない気がするかな。
で、5章の第3節にいきなり武装命令っていうタイトルがついてますね。
本書は武装命令なのです。
自分たちのために、もしくは自分たちと共にシステムを構築する場合、
開発者を信頼する前に、
彼らが自身の技芸を熟知するよう声を大にして要求しなければならないのです。
っていう書き出しでございます。
これはなんていうか、ある意味この本の特徴がすごい現れてるよなっていう気がして、
何て言うんだろうな。
言ってみれば思想を綴ったエッセイみたいな本ではあるので、
どういうことを大事にしてきますか。
あなたは明日からどう行きますか。
みたいな、ちょっとたきつけるような感じはあるんですよね。
思想強めの本では絶対あるので、
その意味で本書は武装命令なのですって、
すごいレスマス中でいきなり何を言ってるんだみたいな、
びっくり両点があったりはするんですけど。
スピーカー 2
この一文、一文、二文を読むと、
勉強しなきゃいけないなって気持ちになります。
すごく自分の持っているスキルみたいなものっていうのをちゃんと熟知して、
だからバックエンドエンジニアなんで、バックエンドだけしかできませんみたいなとかってよりも、
そもそもシステム開発やってるんだから、
全体を知って適切なツールを使い、
顧客の要求を満たすものをちゃんと作りましょうねってすごく言われてる感じがして、
気持ちは賛同するが大変なんだよなーって気持ちになったりとか。
スピーカー 1
あとね、ともすれば、
みんなでいかにして平均点を取れるようにするかとか、
それこそ十分に良いじゃないですけど、
このぐらいのことをやってれば無難にプロジェクトが着地させられるだろうみたいなことを結構考えてる話って最近多いんじゃないかなみたいな気はしている中で、
組織としての課題とかチームをどう巻き込むかみたいな視点として、
それって絶対大事なんですけど、
誰も不幸な人を作らないっていうのは絶対大事なので。
で、ただお前は自分自身の一人の問題として考えた時にどうなんだいって言われた時に、
いや俺はもっと強くなりてみたいなところがあるなーっていうのを改めてね、
本省武装命令なのですっていう言葉でちょっとハッとさせられるというか、
いや周りとかどうでもよくて俺が技術力欲しいんだよなーみたいなところをちょっと呼び起こしますよね。
呼び起こしますよねっていうか別に投稿求めてるわけじゃないんですけど、
なんか僕はそんな感じがしたなーっていう。
スピーカー 2
やっぱこれ読んだ後に、いやーなんかもっと勉強しなきゃなーって気持ちになりますね。
そうそうそう。
スピーカー 1
いや自分まだまだっすっていう感じになりますよね。
スピーカー 2
そう、まあ仕事し始めてプログラムで書いてお金をもらって多分もう10年以上経ってて、
それなりにまあまあできるようになったなとかって思ってたんですけど、
職人化って言われると違う気もするしな、
なんかこう熟練者って言われても、熟練者ではないかもしれないなと思うと、
まあやっぱもうちょっと勉強しないとなーって気持ちになったなって。
知らないこといっぱいあるしなーって本当に。
スピーカー 1
あれですね、ジュニアの時にハッカーとか画家とか情熱プログラマー呼んで、
やるぞってなって少し慣れてきた時にソフトウェア職人キスミドルぐらいで呼んで、
いやーマジ周りとか気にしてないでしっかり自分と向き合わなきゃみたいな感じはあるかもしれない。
スピーカー 2
うん、いやーすごいな。
まあでもそういうことを続けていくと結局、
まあなんかちょっと最初の方にもちょっと喋ってましたけど、
人間の方がやっぱ高くなっていった時代、ソフトウェアも高くなり、
まあハードウェアが本当は一番最初高かったんだけど、どんどんソフトウェアの方が高くなる。
まあソフトウェアが高くなるっていうのは結局人権費が高いってことだと思うんですけど、
職人としての熟達
スピーカー 2
まあだからその報酬を支払われるような人につながっていくんだよなってこともちょっと思ったりしますね。
この武装命令で頑張って、なぜこんなにもクラフトマンシップが大事でみたいな。
スピーカー 1
でね、より話を広げると、やっぱりいろんな職種の中でも、
今日の人はお賃金が高い職種ではあると思うので、
なんかそのバブルみたいなところも含めて、
高いお金をもらってるって責任をお前は引き受けて真っ当な成果出せてるのかっていうところを突きつけられると、
本当に一人一人の熟達っていうのはちゃんとやっていかないとしょうがないよね。
そうじゃないと嘘だよねみたいなことはすごいメッセージとして込められてる気もしますよね。
みんなで頑張ってよかったねっていうのも、それでビジネス成功するっていうのも必要なんですけど、
結局お前はもっと腕力つけろよみたいなところはあるような。
スピーカー 2
いやーもう腕力足りねぇなって思うことばっかなんで。
スピーカー 1
いやー本当ですよ。
スピーカー 2
どうにかこう、えいって改善できたらなーみたいなことしかないので。
スピーカー 1
本当ですよねー。セグフォーぐらいで泣いてる場合じゃねーみたいな。
スピーカー 2
直すんやみたいなね。その外に目の前に問題があってどうにもならんとか言ってないで、
どうにかそれはあなたがちょうど今直せばいいのではって突きつけられてるような気持ちになりながら。
別につらい気持ちっていうわけではないんだけど、それくらい腕力を発揮できると、
それはあの人すごいよねって言われるようになるし、評価もちゃんとしてもらえるようになるよなって思いながら、
日々プログラムを書いたりとかしてますね。
資格制度の幻想
スピーカー 1
それで言うとあれですね、社会人経験として実際にそういうことをやりきってる、やれちゃってる人っていうのを目の当たりにしてこれたっていうのはすごい幸運なんだろうなー。
スピーカー 2
そうですね、そういう人と出会うとか、自分で道を切り開くとか、現状を変えるとかみたいなものを見ると、
力があれば変えられるんだみたいな、それこそプロセスを大事にしなさいってひたすら言われ続けて、
失敗しないことが大事とか、マイナスにならないことが大事みたいなことをやっていったときにリスクを取らずに、
ずっと同じことを繰り返すみたいなことってやろうと思えばできると思うんですけど、
そうじゃなくてもっといい評価を取りに行くんだとか、いい成果を取りに行くんだって知っている人がたくさんいて、
そういう人たちがいっぱいいるなーみたいなのを見てると、
変えられないと思ってるのは思い込みで、そうじゃないんだよっていうことは当然のように思うというか、いうのはありますね。
スピーカー 1
たまたま生き延びてこられただけだなーみたいな気持ちになってくるな。
まあまあまあそんな話があって、第2部はあとは資格制度の対局に位置する職人機質とかぐらいか。第6章が最後か。
スピーカー 2
意外とここは少ないんですよね。
スピーカー 1
第6章はこれタイトル通りなんですけど、このライセンス持ってますとか、この認定取りましたっていうところをお墨付きにするんじゃなくて、
一個人として認められるようになるかとか、それこそ自分の尊敬する人からお墨付きをもらえるかとか、
逆に自分の心理観で誰かに対してお墨付きを出せるかみたいな、まるまる試験合格とかそういう話じゃなくて、
職人としてやっていけてるのっていうようなことが書いてあって、意外といい章ですね、第6章。
スピーカー 2
自分は割とこれを読んで、ぱっと一番思い浮かんだのは、基本情報って役に立つんですか?みたいな。
つまり資格を持ってると就職がしやすくなるとか、コンピューターの詳しいってことにされていることになるんですか?みたいな。
特に経験があんまりないとか、業界に入ろうとしてる人とかが言っているイメージがあって、
一方それに対して、資格あってもなくてもプログラムかけたらエンジニアになれるからさ、お医者さんみたいに免許があるわけじゃないし、みたいな。
いう話とかのやり取りを思い出しながら、確かに資格があってもいいエンジニアであるかどうかはわからんが、
いいエンジニアになるためにそこで勉強したことは役に立つぞっていう話とかをみんなしてるよなっていうのを思い出しながら読んでましたね。
勉強したことは無駄じゃないけども、じゃあ資格を取ったらそれで終わりとか、資格を取ったから何々ができるっていうことの証明になるって言うと、
別ににはならなくて、取った、取りましたねっていう、それ以上でもそれ以下でもないということだよな、みたいなことを思ってたんで。
じゃあ結局この6章を読むと、そうですね、資格制度は幻想であるみたいな。
スピーカー 1
資格制度とは誤った問題を解決する試みであるみたいな。
スピーカー 2
そうそう。だから多分これを取ると安泰みたいな、そういうイメージを持って取りに行ってる人とかに対してはすごく刺さるような章なんだろうなって思いながら読んでましたね。
スピーカー 1
そうですね。一般化されてベストソリューションっていうのが確立されて初めて知識問題とか実技問題かもしれないですけど、資格っていうのが出せるってなった時に、
まだベストプラクティスっていうのは確立されてないとか、要するに技術課題じゃなくて適用課題だよね、みたいなところまで切り込んでいくには、その資格で物語れることって本当に少ない。
むしろベストプラクティスとか、既存の誰かが作った知識っていうのに固執してしまうことっていうのは少し誤らせるっていうようなことまで踏み込んであったりとかしてますね。
ソフトウェア開発の課題
スピーカー 2
資格を取っても油断せず、響けながら持ってみましょう。
スピーカー 1
そうですね。あとシレット、ソフトウェア開発の問題は要因不足ではなく要因余剰にあるって書いてあって恐ろしいですね。
スピーカー 2
じゃあ一体ずっとIT人材が足りないって言ってるあれは何なんですかねっていう。
スピーカー 1
あれは素人をプロとして雇ってるから本当のプロの生産性が落ちてる的なことが書いてあるんです。僕が思ってるわけじゃないです。
あんまりそこの闇に触れずにいきますから。
でもまあそうですね。少なくともまだ職人っていう立ち位置じゃない人っていうところ。
要するにアプレンティスって言われるような位置にいる人と職人って言ってる人の勝ちづけがそんなに開いてないというか、プログラマー一人立として下手したら扱うような。
それは違えような。そういうことをやってるソフトウェア工学のせいで一人が足りないって言ってるんでしょうっていうような立場からの主張ですかね、この本としては。
スピーカー 2
まあそうですよね。基本的には外から見てどれぐらいエンジニアの生産性が一人当たり違うのかってあんまりわかんないですしね。
スピーカー 1
わかんないですね。
スピーカー 2
サッカー選手とかだったらメッシーすげえとかクリスタル・ロナードすげえとか、プレーを見たら明らかにこいつは上手いだろうとか、この選手はあんまり上手じゃないなとか。
もちろんプロになってる時点で上手いんだけど、差がわかるけど。
みんなコンピューターの前でカタカタしてるだけで、またよくわかんない文字をいっぱい見つけてもわかんないし、
この人は書いた行数が多いからすごいんですね、ぐらいしかフォトから見て評価するものが、パッと全然知らない人は見てわかるものっていうのがないらしいですよね。
スピーカー 1
そうですね。ファンタジスタにしか出せないパスみたいな感じで、この人しか作れない関数とか定義されてもそれはそれで困るわけでね。
スピーカー 2
まあそうですね。
スピーカー 1
スポーツでもね、パスが上手すぎて周りが取れないみたいな選手たまにいますからね。
スピーカー 2
まあ確かに。ついてこれないみたいな。
スピーカー 1
じゃあダイさん。