ノストラダムスの大予言が外れて、ソフトウェアの世界へ
小田中育生(以下、小田中):お話を聞けるのを楽しみにしてきました。尾髙さんは非常にユニークな経歴をお持ちですが、改めてこれまでのキャリアについてお聞かせいただけますか。
尾髙敏之(以下、尾髙):20世紀までバーテンをしていました。そのあと、「ノストラダムスの大予言」が成就しなかったので「仕方がない、昼間働こうかな」ということで、IT業界に来たんですよね。父がSEをやっていて、割と楽しそうだったので、興味を持ちました。
SESとして働き始めたものの、未経験で入れるのは三次、四次請けの厳しい現場ばかりで、「このままではまずい」と思い、発注側に回ろうとコンビニチェーンのシステム部門へ転職したんです。そこではしばらく快適に働いていたものの、やがてその会社が大手チェーンに吸収されてしまいました。
その後は電力系のベンチャーに移り、約7年間勤務しました。そして転職先として選んだのがモノタロウで、現在は在籍して1年半ほどになります。

小田中:この企画は若手エンジニアをターゲットにしているので、おそらく「ノストラダムスの大予言」で、多くの読者を置き去りにした予感がします(笑)……その時の状況を説明いただいていいですか?
尾髙:そうですね。1999年の7月にアンゴルモアの大王(恐怖の大王)がやってきて、世界が滅ぶ……と言われていて、高校を卒業したばかりの自分はあまり深く考えもせず、「滅ぶなら真面目に働くのも損かな」と思っていました。当時はまだ景気もよく、フリーターという言葉も流行っていて、就職せずにバイトで遊ぶお金があればいいかという気持ちでふらふらしていました。結局、1999年の7月は何事もなく過ぎていきましたけどね……。
小田中:それで本当の恐怖がやってきたと。当時の大予言のことを覚えていますが、1990年代後半は核戦争や自然災害、テロなどが現実の脅威となっていたこともあり、本気で世界が滅亡すると信じている人が一定数いましたよね。今もIT業界では「2025年の崖」とか「シンギュラリティ」など、「これから先どうなるんだろう……」と不安を覚えるようなキーワードがいくつかあります。
さて現在モノタロウではどのようなお仕事をされているのでしょうか。
尾髙:基幹システムの整理に取り組んでいます。モノタロウは今年で創業25周年になるのですが、創業当時からのPythonコードを秘伝のタレのように継ぎ足しながら作ってきたため、いろいろと課題があります。
小田中:創業25年……Python 2系でしょうか。
尾髙:はい。今でも一部はPython 2系が活躍しています。しかし私の入社前からシステムの境界も曖昧で課題がありました。そんな状況で、DDD(ドメイン駆動設計:業務知識をもとに設計する手法)好きの私が入社し、「全体の整理をやりましょう」となりました。受注から出荷の全体像をイベントストーミング(業務の流れを付箋などで可視化するモデリング手法)で描くことから始めました。
最初はざっくりとシステムの境界を引いていきました。社歴の長い方だと背景を知っているがゆえに境界を引きにくかったと思いますが、何も知らない私がバサバサと引き始めて、コンテキストマップを書き出すことを、ここ1年ほどやっています。
小田中:既存のメンバーから見ると、境界線を引いて分割していく過程を見て「今なぜこれを変えなければならないのか」「その境界は適切なのか」という疑問が挙がってくるのではないでしょうか。
尾髙:その点は、CTO(普川泰如氏)の強力なリーダーシップがありました。「調査1カ月、実装2週間、テスト3カ月というのは許されない。3カ月後には本番投入するぐらいでないと、この先やっていけない」と強い危機感とともに発信していました。
最初はハレーションもあったそうですが、「変えていく以外我々の生きる道はない」と言い続けることで浸透し、今は分割していくことが前提になっています。ただ、私の分割案が正しいかは分からないので、一旦分けた後は現場に委ねています。
小田中:一旦大きな絵を描くけど、正解はわからないので、現場判断で修正してほしいということですね。
尾髙:はい。議論の叩き台となる方向性を示した形になります。
小田中:リアーキテクトを進める中で、言語を変えるべきかどうかの意思決定についてはどう思いますか。

尾髙:個人的にはJavaにしたい気持ちがあります。エンジニアの数も多いですし。しかし現在社内にはPythonエンジニアが多く、Python 3への移行が主流です。性能が必要なときはGoを採用する場合もあり、いい流れだと思います。
ちなみに、私が業界に入った当時のオブジェクト指向は、「継承(親クラスの性質を引き継ぐ仕組み)」が前提でしたが、ここ5年で学び直したときに「本来のオブジェクト指向ってこんなに設計しやすかったんだ」という驚きがありました。それを普及していきたいですね。
小田中:すごく分かります。2010年前後は、継承を使いこなすのが当たり前でした。でも増えすぎると複雑になりやすく、最近は継承よりもコンポジション(機能を持つ部品を組み合わせる設計)がベストプラクティスとなっている印象です。