ソースコードから感じ取れる製品の歴史がおもしろい
──トライアロー株式会社にて組み込み開発のプロジェクトでリードエンジニアを勤める山崎氏とコアエンジニアを勤める水戸氏。2人は具体的にどのような製品の開発に携わっているのでしょうか。
山崎:現在はカーナビの開発に携わっています。カーナビも日々進化を続けていて、かつてはGPSからの情報を頼りに道案内をしていましたが、ルート検索をより正確なものにすべく、GPSだけではなくセンサーからの情報や「ビーコン」と呼ばれる高速道路上に設置された情報発信装置からの情報を組み合わせて現在地の精度を高め、渋滞情報はFM多重放送からデータを受信するなど、長い年月をかけてユーザービリティを向上させてきました。
私が携わっているプロジェクトはこうしたカーナビの技術をさらに一歩前進させたものです。カーナビに内蔵されたハードディスクの一部をWebサーバーとして立ち上げ、車だけではなく他のデバイスからカーナビの情報を参照し、双方向で情報のやりとりができるようにする開発を行っています。
水戸:私も同じくカーナビ開発の現場において探索の部門を担当しています。山崎さんが担当しているのは次期モデルとして汎用的に使われる予定の開発ですが、私は物流トラック向けの現行のナビシステムの追加開発や改良などを行っています。
──ドライブには欠かせないアイテムとなったカーナビですが、その開発のおもしろさはどういった点にあるのでしょうか。
水戸:作ったものが目に見えてわかるので、「自分たちで作り上げた」ということを強く実感できる点がおもしろいですね。組み込み系の開発は内部でどう動いているか見えないシステムが多く、今回のように視覚的に完成品を見届けることのできる経験が少なかったんです。
山崎:私の場合は少し変わっていて、ソースコードを見ているのがおもしろいんです。いろんな人が入れ替わってきたんだなとソースを見ながら長い歴史を感じています。そのソースを見て、「この人は何でこういう書き方をしたんだろう」などと考えるのが楽しいです(笑)。
──ソースコードを見て、それを書いたエンジニアの癖や意図などを予想して楽しんでいるのでしょうか。
山崎:そうですね。「ここでこう書いた理由って何だろう」とか、ふと考えちゃうんです。三項演算子など、たまに見づらいだけの変な書き方があるんですよね。知識をひけらかすような書き方だけじゃなく、「わかってるな、この人!」と心の中で拍手することだってある。
「カッコ」の位置にこだわっているとか、関数やコメントの振り方とか、「この流れでこう作りたかったけど失敗したんだろうな」とか。人によっての違いをコードの軌跡を見ながら感じ取っています。
今携わっている開発ソースは歴史が長くて、10年前から使われているので、人が入れ替わって混在していった形跡がおもしろいです。
──それぞれ違った仕事のおもしろみを感じながら日々の業務を行っている2人ですが、トライアローに入社するきっかけについて聞きます。
決め手は「エンジニアファースト」な環境
──今では開発の現場の中核メンバーとして活躍する2人ですが、最初のトライアローの印象や入社した決め手はどういったものだったのでしょうか。
山崎:正直なところ、お給料に惹かれました(笑)。しかしもちろんそれだけではありません。ITから建設、FAなどの製造業に至るまで幅広い業種のエンジニアが多数在籍していることも魅力的に感じました。
SEの仕事って、IT業界だけではなく他の業界とつながることで一気に価値が高まる仕事だと思うんです。自分の専門分野にとどまらず、業界関係なくさまざまな経験や知識がある人たちと横のつながりが持てて、話す機会が多いところに惹かれましたね。
水戸:私は面接の印象が良かったことが決め手になりました。営業担当と話していると、開発現場のことを正確に把握していることがよくわかったんです。
これまでの経験上、営業担当とエンジニアの間にはどうしても壁があるなと感じることが多かったのですが、トライアローは普段からエンジニアの話に親身に耳を傾けているからこそ、現場の状況もしっかり把握しているんだろうなと思いました。
技術の面でも先進的な技術へ前向きにトライする方向性や、エンジニアファーストで私たちのやりたいことを後押ししてくれる考えも、トライアローに入る決め手となりました。
──こうした経緯でトライアローに入社し、現在はプロジェクトにアサインされているわけですが、現在の開発チームはどんな雰囲気なのでしょうか。
山崎:私のチームは次期モデルの開発なので、未来形で「こんな機能を作ろうぜ〜!」と、みんなでわいわい作りながらも、新人に対してもしっかり業務を教えられるぐらいの余裕はあるチームです。
お客さまからときどき難易度の高いことを言われても対応できるぐらいの余力はあります。水戸さんのチームも、新たな開発手法に果敢にチャレンジしていますよね。
水戸:そうですね。具体的に言うと、アジャイルとウォーターフォールの開発手法を混ぜて、有利なところだけを求められることがあります。だから結合し終わった後に、要件定義にない作業が発生したり、期限が決まっているのに全部やり直しになったりすることもありますね。
山崎:そういうハードな局面があるのに、水戸さんが不満を言っているのを見たことがないし、チームのムードも良くてお客さまとの関係性も良好ですよね。
水戸:おかげさまで、常駐先の方とは結構なんでも言える関係性を築けていて、仕事がしやすい環境です。客先の言いなりになっていることもなく、私のチームにイエスマンの人はそんなにいない。客先にさまざまな提案をすることでこちらの意見も受け入れてくれて、そのことがチームのモチベーションアップにもつながっています。
リーダーの仕事は、環境を整備し、文化を作っていくこと
──開発現場にてリーダー役を担う山崎氏にとって、「リーダー」とはどういったものなのでしょうか。
山崎:私はリーダーの仕事は「環境を整備すること」だと思っています。私たちは基本的にはお客さま先に出向いて仕事をしているので、チームとして機能しやすい環境を自分たちで作っていかなくてはなりません。
ただ、裏を返せばそれは現場ごとに自分たち好みの環境を作っていくことができる、ということでもあります。自分たちにとって最も仕事がしやすく良いパフォーマンスが出せる環境構築のために、お客さまと関係性を構築していくことを意識していますね。
──客先との関係、メンバーとの関係双方に気を配りながらチームをまとめる山崎氏にとっての理想的なチームとはどういったものでしょうか。
山崎:助け合う文化があるチームです。おかげさまで今のチームではそういった環境が築けてきています。しかし新しいメンバーがチームに参画する時はどうしても苦しく感じてしまう時期はあると思います。
しかしそれは「スキルの不足」が原因というケースは少なくて、「遠慮して聞けない」とか「すでにできている輪になんとなく入っていけない」とか、じつはスキル以外のところでストレスを感じてしまうことが多いんですね。
そういったムードを感知したらチャットで会話に巻き込んだり、作業の手順書を作って共有したりしながら、不安な期間を極力短くすることを心がけています。こうした積み重ねを経て助け合う文化をより醸成させていきたいです。
──助け合う文化がチームの要だと考える山崎氏ですが、その文化が定着するために必要なこととは一体何なのでしょうか。
山崎:共有できる環境が大切だと思っています。こうやって言葉にするとすごく当たり前のことのようなのですが、作業に追われるうちに「共有までしていられない」という気持ちになってしまうことが業界全体としてすごく多いと思います。
私は「暗黙の了解」という言葉が嫌いなのですが、SEの世界ではこの暗黙の了解がとても多い。すると、システムをわかっている人の基準でどんどん話が進んでいきますよね。こうした暗黙の了解を前提としたチームって、当然コミュニケーションが少なくなってしまいがちです。
しかしそれってすごく損なことだと思うんですよ。コミュニケーションを取るからこそ思いやりが生まれて、「こいつが言うならやってやるか」みたいに、仕事の意気込みにつながったりする。これって、このチームだからこそ、トライアローにいるからこそ味わえるおもしろさだと思うんですよ。
私としては「これを作ったらみんなの作業時間が浮いて話す時間が増えるんじゃないかな」など、コミュニケーションの回数が少しでも多くなるようなことに力を注いでいるつもりです。
「頼りがい」と「安定感」──リーダーとコアエンジニアの関係について
──リーダーとしてチームをまとめる山崎氏とコアエンジニアとしてチームを引っ張る水戸氏。互いにとってどんな存在なのでしょうか。
水戸:山崎さんは誰かが困ることを想定してノウハウを残してくれる人で、自分が現場から離れることを想定しながら行動してくれる頼りがいのある人です。実際に最近入った新人さんも、山崎さんが残してくれていた資料のおかげですんなりとチームに入れました。
こうした業務上の知恵や工夫はもちろんなのですが、何よりも人として話がしやすくなんでも相談がしやすいことが一番助かっています。「山崎さんなら知っているんじゃない?知らなくてもなんとかしてくれるでしょ」というのは僕も思っていますし、周りからもよく聞きますね(笑)。
──一方、山崎氏から見て水戸氏はどういった存在なのでしょうか。
山崎:率直に、信頼の置けるメンバーです。僕の思考を理解してくれており、水戸さんはこんな考えを持っていてくれているんだろうなとか、コミュニケーションが必要な時は自分でちゃんと発信してくれているんだろうなとか、他の人を気にかけているだろうなという、人としての信頼感がありますね。
そして仕事でも信頼性が高い。浮き沈みが激しい人って企業としては扱いづらいですよね。水戸さんは仕事の作業としての浮き沈みがほとんどないんです。当然人間ですから気持ちの浮き沈みはあるかもしれないけど、仕事では常に80〜90くらいをキープしてくれていて、安定感のあるイメージです。だから、仕事の信頼性も人間的な信頼性も高いと思っています。
山崎氏と水戸氏のリーダーとして、コアエンジニアとしての仕事のおもしろみから哲学にいたるまで幅広く聞くことができました。互いの強みを最大限に引き出しながらチームを牽引する2人の挑戦はこれからも続きます。
※ 記載内容は2024年8月時点のものです
