ユニアデックスで働く人の想いをご紹介しています。今回は、「美しいコード」について教えるメンター。
【第8回】宮下 洋
1999年入社
DXイノベーション統轄部 Be.Agile推進部 シニアデータサイエンティスト
長野県出身です。直近では今年の春に御開帳があった善光寺が地元です。
バックグラウンドは物理ですが、エンジニアとして入社し、後に日本ユニシス(現BIPROGY)の総合技術研究所に転籍、自然言語処理を研究して論文を書いたりしていました。
数式に“美しさ”という価値基準があるように、プログラミングの世界にも「美しいコード」があることをご存じですか?
「美しいコード」で書かれたプログラムだと、後々システムに支障が出たときに修復や拡張がとてもスムーズで、時間的にもコスト的にもとても効率的に事が運びます。でも「美しくないコード」だとそうはいきません。今のシステムは継続的につくり変えたり、時代に合わせて修正し続けなければならず、コードが美しくないと後々の修復や拡張にとても労力がかかるのです。
この「美しいコード」でプログラムを書く能力を鍛えるべく、チームの6人ほどが毎朝業務開始前に集まり、30分の演習を実施しています。ベストプラクティスがまとまった書籍を題材にして、メンバーがつくったコードを見直し、問題点を指摘し合い、自分自身で気づきを得て次回に生かせるようにと、私がメンターの立場で引っ張っています。
今、お客さまのDX(デジタルトランスフォーメーション)を支える部署にいて、新しいソリューションやサービスを考案し、提供しているのですが、お客さまに「考えました!」と言っても、まだどこにもモノとして存在しないので、こちらの意図がなかなか理解されません。そこで、実際に動くプログラムをつくり、お客さまの反応を見ながらサービスを練り上げていく取り組みをしているのですが、このときに拡張性や汎用性・互換性などに優れた「美しいコード」によるプログラミングが不可欠なのです。今はモノを作ったらおしまいという時代ではないですからね。
DXのためにはもっと大事なことがあります。課題を見極める観察力です。
お客さまと会話させていただくと、本当に解決したい課題そのものではなく、その課題に対する解決策を語る方が多いことに気づきます。特に現場の方からは「こういう機能が欲しい」と。でも、「何を解決するためにその機能が欲しいのか」という根本的な課題感は会話からは見えにくい場合が多いのです。
そこで、「本当にその人や組織が困っていることは何だろう」という点に注力してお聞きするように努めています。それが分かれば、ご相談内容以外の解決策を見つけることができるかもしれないからです。お客さまの姿を観察しながら、お客さま自身が気づいていない本質的な課題を類推する。企画時の第一歩として重要な視点です。
これは、カスタマーサクセスを実現するための方法論でもあると思うんです。以前は、お客さまに「何が欲しいんですか?」と伺ってから開発を始めていたこともありましたが、それは御用聞きをしているにすぎません。御用聞きだけの対話をしていると汎用性のないサービスになってしまいます。
我ながら「探究型」だなあと思いますね。最近は家で、発酵食品作りを探究しています。科学的な要素があっておもしろいんですよ。ザワークラウト、ピクルス、水キムチなど、いろいろと。原理はとてもシンプルなんですが、塩と温度の関係を適切に保たなければならず、なかなか難しいものですよ。(笑)