開発本部長の安原です。
エンゼルスの大谷翔平選手が二刀流で大活躍。
毎日ニュースを見るのが楽しみです。
さて、エンジニアの皆さんにとってどんな仕事を楽しいと思うかは、年齢と経験、スキル、キャリアプラン等によって異なると思います。ジュニアなエンジニアは与えられた開発案件を早く上手にこなす中で「コーディングって楽しい」と思うでしょうし、経験を積むと「このシステムはもっとこういう設計にしておけばよいのに」と自分の仕事上の守備範囲以上のことに思いが及ぶようになると思います。
日常の仕事のなかで何かに気付いた時、先輩や上司に何か提案したことはありますか。おそらく提案しても「予算が無い」「人がいない」など、取り合ってもらえなかったのではないでしょうか。そんなことが続くと「まぁ、自分が言っても何も変わらないから・・」となって、与えられた責務の中でベストを尽くす、ということになると思います。知らず知らずのうちに、チャレンジする気持ちが影を潜め、コンサバティブな方向に心が働いてしまっているのではないでしょうか。「要件が漏れたらいけない(あるいは取捨選択せずに全部盛り込む)」、「とにかくたくさんのケースをテストする、網羅性が大事」など。
出来なかったらどうしよう
「出来なかったらどうしよう」「失敗したら迷惑をかける」といった心の壁はあると思います。生まれつきの性格でいうと、チャレンジする人と守る人と同じ程度存在すると思いたいですが、システム開発の現場では、守る人の比率が圧倒的に多いのではないでしょうか。当社の場合、金融機関であることや、システムが扱う利用者の数、リアルタイム性など、安全を重視する土台が揃っています。
そういう前提があるなかで、それでも「無理に決まっている」と初期の段階で決めつけてしまい、そこから先の議論に発展しないケースが多いような気がしています。いろいろと考察してみると、その原因はもしかすると上で述べたようなマインドセットの問題だけではなく、システムの理解度が関係しているのではないか、と思いました。
深く理解してみたら
1年ほど前、「基幹システムの夜間のバッチ処理が朝方までかかっているのを、24時頃に終わらせよう」という話をしたことがありました。そのときの反応は「難しい」「無理に決まっている」というものでした。システムの設計段階から、夜間バッチ処理は朝方終わるものとして開発され運用されてきましたから、まぁ、自然な反応だと思います。しかし、1年かけて数人のメンバーでバッチ処理全体を詳細に分析し、こまめにチューニングしたところ、分析に関わったメンバーの中では「実現できる」という気持ちになっています(周りの人に話すと、今でも失笑を買うようですが)。
当社は基幹システムを内製化して、社内のエンジニアで出来ることが増えました。ユーザー部門の社員と要件を決めて、スケジュールとコストを守ってリリースする、ということは問題無くできています(それだけでも大変なことです)。しかし、この先、「無理に決まっている」と決めつけるのを減らすためには、もっと深いレベルまでシステムの中身を知り尽くす努力が必要だと思っています。2000年にオンライン証券がスタートした時とは比べ物にならないくらい大きくなったオンライン証券会社のシステムを、一人のエンジニアが全体を詳細に把握するのは難しいと思います。だからこそ、組織として、不断の努力を続けないといけないと思います。
「無理に決まっている」を減らし、「出来ると信じで取り組めば必ず実現できる」を増やしていきたいと思います。