未来しか見ない人は過去に戻りたい?

両方だいじなんです

おそらく人類が何千年としてきた議論だと思います。

「歴史を学ぶことで未来を予測しやすくし、同じ失敗を繰り返さないようにする」

「昔のことなんかどうでもよくて、未来が大事だから先のことを考えよう」

NHKの「ニッポンのジレンマ」でも、この辺が対立する場面が昔あったような...

まあ、いつものお約束。

// 両方だいじなんです | jfluteの日記
http://d.hatena.ne.jp/jflute/20150426/bothdaiji

過去しか見ない人もダメだし、
未来しか見ない人もダメだし。
両方バランスよく見ていかないと。

ブログのタイトルから、今日の焦点は "未来しか見ない人" です。

プログラマーの世界だと、"未来しか見ない人" が多いような気がしています。理由ははっきりしています。

「技術の進化が全然直線ではなく、
過去から未来を想像することが非常に難しいから」
ってのが一つ。

あとは単純に、
「未来のことを考えるは楽しいから」
ってのが一つ。

それでも人間くさいのが現場

> 「技術の進化が全然直線ではなく、
> 過去から未来を想像することが非常に難しいから」

これは一つ確かに存在することですが、プログラマーが抱える問題、プログラマーが想像すべき未来は、必ずしも技術だけで閉じる話ではありません。

結局、人間がプログラムを書く、複数人の人がプログラムを書く、これが続いている限りは、技術が進んでも似たようなジレンマは抱え続けます。

それどころか、技術が進むことによって、また0からその新しい技術で基盤を作り直すことで、一時的なデグレが発生して、昔と同じ問題が発生することもあります。進化のジレンマと言えるでしょう。

プログラマーの世界でも、今までの経緯を分析することで、未来の糧になりそうなことはいくらでもあります。

同じ失敗のオンパレード

jfluteの経験、10年以上プログラマーの現場を見てきていますが...

なんとも悲しいことに同じ失敗を見かけます。

「この人たち10年前と同じことで悩んでるよ」

「それって、10年前と同じ失敗じゃん」

10年は大げさに聞こえるかもしれませんが、実際わりと本当にそんな感じです。もちろん、2年前、3年前と...スパンは様々ですが、とにかく多々あります。そのたびに無力感に襲われます。

歴史は繰り返すのか?

...

ちょっと余談ですが...少しセンシティブな話ですが、ここ二、三年、素直に思ったこと。

戦後70年経って研究が進み、いまになって戦争直前の話がちょっとずつ詳細になってきたということがあるようで、その話を聞いていると...(TVの特集ですけど)

「なんか、炎上するシステム開発と同じじゃん」

って思うことが多々あるんですね。人って変わってないんだなぁと。システム開発とは重みが全然違い過ぎますが、成り行きと判断のジレンマでもがく人の行動は、抽象化することができて、参考になるなぁと。

過去は伝わらないもの

> 「この人たち2年前と同じことで悩んでるよ」
> 「それって、2年前と同じ失敗じゃん」

jfluteの行動が利く範囲においては、それをできる限り防ごうとし、それなりに防いできたつもりではありますが、でも、それが及ばず目撃するケースもありました。

それには二つのケースがあります。

一つは、単純にjfluteが力不足であったこと。そのために、もっとスキルを磨かなければならない。

もう一つは、それがなかなか伝わらないこと。過去の話はみんな興味がないのです。

...

個人差はあるでしょうが、まだ日本史や世界史はおもしろいものですよ。しっかり体系化されていて学びやすくもなってるし。

でも、プログラミングの世界の歴史、ましてや人間くさい開発現場の歴史なんてものは、なかなか学びやすくもないし、おもしろいものでもない。

特定の現場に依存しない一般的な話ならまだしも、その自分が関わっているシステムの歴史、会社の歴史、開発チームの歴史、アーキテクチャの歴史、そもそも教えてくれる人が非常に限られているし、そもそもそれを知りたいと思うかどうかもあやしい。

なので伝えても伝えてもなかなか伝わらず、結局同じ判断を繰り返してしまっている...と思うことも多々あるのです。

でも、事業会社であれば、現場の人はどんどん入れ替わりますし、その中で新しく入ってきた若い人も多い。

なので、みんなにとっては初めての失敗

でもでも、それ2年前と同じだったんだよ...と思っても防げなかったことを悲しむだけ。

「人は実感がないと動かない」

どれだけ実感を伝えられるか?

そういう意味では、そこもjfluteの力不足なのでしょう。

...

またも余談。戦争の悲惨な体験を伝えて未然に戦争を防ごう、災害の悲惨な体験を伝えて災害による被害を軽減しよう、というのも、おそらく同じジレンマを抱えてることでしょう。

どれだけ実感を伝えられるか?

技術の進歩と判断の進歩

jfluteは、プログラマーの世界でまだ10年ちょい。

色々な現場で見てきた経験を分析するのが習慣になっています。若い頃からずっと...もうクセですね。分析せざるを得ない。頭が勝手に色々考えてる。

「これはどうしてこういう判断だったのかなぁ...?」
「なんでこういうコードになっちゃったのかなぁ...?」
「こうすればこうはならなかったんじゃないかなぁ...?」
「これがあったからすごくスムーズだったんじゃないか!」
「これは素晴らしい判断だと思う!なぜなら...」

別にそういう立場じゃなくても、何か印象的なことがあれば、帰り道に頭の中でシミュレーションしてたりします。

優秀な判断を下される方々もたくさん見て来ていますが、みんな未来だけ見ていそうでちゃんと過去を分析しています。しっかりとして道理があって判断されています。

...

でも、たまたまこの10年で似たようなことがあっただけで、このままさらに10年経って色々なものが進化すれば、さすがに同じ失敗を見かけることはなくなるでしょうか?

残念ながら、まだそうは思えていません。

おそらく、この先も、人の判断が関わる部分においては、技術的な話だろうが開発運用的な話だろうが、同じ問題を抱え、同じ失敗を繰り返す場面を、また目撃するだろうと。

技術は確実に進歩しているはずなのに、進歩を感じられない気分のときもあるのです。

判断の進歩が

...
...
...

未来のための過去

jfluteは、立場的に自然と、その現場の歴史を知っていることが多いです。分析も勝手にしてきています。

最近は意識して、もっと歴史的なところとか経緯的なところを、現場の勉強会の中とかで散りばめたりして...

「どういう道を辿って今があるのか?」

を知ってもらおうとしています。

「だからこうしたらいいんじゃない?」

というのを考えてもらうために。

もちろん、昔こうだったから今こうすれば成功する、という短絡化はそれはまた危険ですが、なにも知らずに考えても危険なことは同じ。昔はこういう状況でこうやったからダメだった、今はこういう状況なのでこうやったらOKでは?と、ちゃんと細かく分析することが大切です。

この10年のこともそうですし、その特定の現場のここ2,3年の話もそう。

若い人にはもっとレベルの高いことで悩んで欲しい

この思いで一杯です。

...

本当はそれより前のことも知りたい。いま思い返せば、師匠がよく話してくれていました。「昔こんなことあったよ、でさぁこれこうだったわけだ」非常に貴重な話だったなと。その糧が自然と活きているような気がします。いまももっと聞きたいなって。

そして、もっと実感を伝えられるように、jfluteは努力しないとですね。

...

現場の人には、もっと

未来のために過去に興味を持って欲しい

と思っています。(少なくともアーキテクトは絶対に必須ですね)

新しく始まったばかりのプロジェクトだとしても、同じ会社内の他のプロジェクトはどうだったのか?いくらでも分析する題材はあります。知ってる人はたくさんいる。「よし、聞いてみよう!」と思うかどうか。

でないと...

未来を見てたら過去に戻ってた

ってことがあり得るので。