大学卒業後、機械系の設計用3D CADを作成する会社に入社し、その後C#を使った開発を行うために子会社へ異動。志半ばで開発を終えることになってしまったプロダクトの土台をもとに新たな開発を行うため上司に誘われ新会社へ転職。ソフトとオペレーションの双方が強い環境でビジネスを構築したいという思いから2019年10月にキャディへジョインされました。
現在はCADアルゴリズムチームを経て、金属加工品のコストロジック計算の開発プロジェクトでご活躍されている寺田さんの前職から転職の動機、現在の業務、また今後の展望までお話をお伺いしました!
モノづくりのおもしろさに魅せられて、3D CADを使った開発の道へ
>今日はよろしくお願いします!そもそも寺田さんがプログラミングに興味をもったきっかけは何でしたか?
自分は学生時代に鳥人間コンテストに没頭していたんですが、そのときに人力飛行機の制作で必要なプログラムを書いたのが始まりでした。揚力分布や翼のたわみ、カーボンパイプ接合部の曲線の計算、そしてそれに基づく設計、組み立て。自分で考えたものがその通りに動く面白さに魅了され、ソフトウェア開発を仕事にしたいと思うようになりました。
それがきっかけで、新卒では3D CAD系のアプリケーションやフレームワーク、ライブラリーの開発・保守を行う会社へ入社しました。機械系の設計CADがメインで、やりたいこととのマッチが高かったためほぼ即決でした。在籍5年の間には当時波がきていたオブジェクト指向に則りC++の導入をリードしたり、理化学研究所との共同取組やVCADプロジェクトなど刺激的な経験を通して専門的な知識を身につけることができました。
ーー受託の開発って、とても忙しいイメージがあります...!
そうですね、とてもハードワークです(笑)。鳥人間コンテストの時も徹夜作業したりしていましたが、何かを成すためには当然労力を注ぎ込まないとダメだよね、という考えでした。しかしサークル活動には大会という節目で終わりが来ますが、仕事はエンドレスに続いていく。一定のパフォーマンスを出し続けるためには「燃え尽きてしまわない工夫が必要」だなと気付きました。具体的にはちゃんと余暇の時間を持つことです。ソフトウェア開発はやろうと思えばどこまでもやれてしまうんですよね。だから進捗が悪ければ「土日で取り返せばいい」となりがち。実は「やらないこと」の方が難しくて。でも人生それなりに長いので、その長さで積分した結果アウトプットが最大化されるような生活の仕方をした方がいいなと、学びました。
ーー余裕がないと、結果心も体も壊しがちですよね。在籍中、印象的だった仕事はありますか?
印象的だったのは、大手重工メーカーさんとの案件です。東京にオフィスを増設し、親会社から独立する形で設立された子会社へ移籍することになったのですが、できることが増えてくると同時に自分の理想が徐々に醸成され、実際に試してみたいと思えることが増えてきた時でした。あの頃の私は「C++よりも新しくて柔軟なC#で3Dアプリケーションを開発すれば、今までよりもずっと素早くバリューを届けられるのではないか」という考えに夢中になっていて、C#でフレームワークを作り上げたのでした。想定していたのは顧客ごとにそのフレームワークを基にアプリケーションを開発して納品するビジネスでしたが、その重工メーカーさんからはロボットシュミレーター用の3Dアプリケーション開発に必要なフレームワークそのものがほしい、と言われて。半ば周囲の反対を押し切るような形で進めたC#を使った開発でしたが、最終的にはその重工メーカーさんに採用いただけることになりました。会社史上でもここまで大きい企業との契約は初めてのことでした。
孤軍奮闘だったのでうまくいくか不安でもありましたが、C# を使って実用的なレベルで動く3次元のアプリケーションをつくるためのフレームワークを作りきり、お客さんにも喜んでもらえたという経験は、自分にも自信がつきました。そのフレームワークを活用してより広げていきたいという気持ちが膨らみましたが、結局それは社内事情で叶いませんでした。
ーーサポートを得られない中、変化を起こしていくのはとても骨が折れると思いますが、やり切った達成感は何にも代えられないでしょうね。その後、転職されたとか?
はい、当時の上司がものづくりを支える3Dアプリケーションを開発する会社を起業したタイミングで誘われたのでジョインしました。そこでは Rust でメッシュなどのアルゴリズム開発に携わったり、 F# で CAD Frameworkの開発を行ったり、3Dプリンタの同梱ソフトを他社と共同開発したり。最初わりと早い段階でお客さんがついてくれたこともあり滑り出しは好調だったと思います。
しかしだんだんと受託型のソフトウェア開発に限界を感じ始めてきている自分がいました。あるキャパシティの中で受託して、やった分だけのお金をもらう労働集約的な仕事に少し疲れを感じてしまったのかもしれません。一番大きかったのは、顧客の課題解決に踏み込んだアプローチができないこと。すでにできあがっている業務フローの中にはめ込むようなプロダクトを開発するというアプローチしか取れない。勝手にアテをつけて課題を想像して作ってみても、実際そのニーズの大きさはわからないし、てんで的外れかもしれない。与えられた問題を解くだけじゃなく、問題そのものも見出して解いていくという能動的なアプローチをしたいという気持ちが強くなっていったんです。
現場とテックが一つになってプロダクトを創っていく
ーーそれでキャディに転職することにしたんですね。
はい、『CAD 採用』で検索して出てきたキャディに応募しました。オペレーションも含め顧客サイドやサプライパートナーサイドと一緒に一つのプロダクトを作っていくというホールプロダクト的な開発思想が、自分が抱えていたモヤモヤにぴったりはまるところでした。
また、年齢に役割が規定されないこともいいなと思いましたね。キャディにおいてマネージャーというのはシンプルに役割でしかないので、職位が上がると共に必ず課される任務ではありません。純粋に腕をみる採用だからこそ、ハイレベルなエンジニアが揃っているんだと思います。実際に入社してからそのスキルの高さに驚きました。
ーー確かにフラットでプロフェッショナルな人が多いのはキャディの特徴ですね。現在はどんなチームに所属していますか?
CADのアルゴリズムチームを経て、今はコストロジックチームに属しています。加工によってどうコストが変わるのかを計算するんですが、メッキや磨きなどCADで表現される形状だけではわからない情報もたくさん含まれていて、それらを一つ一つクリアしていくのが楽しいですね。また、データベースやWeb技術など今までのキャリアではほとんど関わりのなかった技術領域を経験できていることにも刺激を感じています。この経験で得られた知見とCAD技術を掛け合わせるとどんなシステムが構想できるだろうか、と楽しく想像を巡らせている日々です。
キャディが挑戦しているのは、前例のない未踏の領域。やれること・すべきことはたくさんあるし、テクノロジーが介在する余地がまだまだあると感じてます。そこに携われることを嬉しく思います。
ーー最後に、どんな人と働きたいですか??
固定観念にとらわれない人ですね。これまでの常識やルールばかりに固執するのはつまらないと思うので、柔軟な発想ができる人と仕事したいですね。それと同時に、その発想を言いっぱなしではなく、誠実に有言実行できるかどうかも重要だと思います。
Photo by Yu Ueki