1
/
5

「正しいと思う技術で、正しいと思う開発ができる環境を選んだ」"至誠"を尊ぶアルゴリズムエンジニアのこだわり

「最新のC++を使って開発できる環境が、キャディには整っている」
そう語るのは、アルゴリズムエンジニアの坂井誠也。

CADデータから図形を解析するアルゴリズムの開発を担当しています。
最新技術を業務でもキャッチアップできる環境を求め、キャディにジョインした坂井。
自身の技術へのこだわりや、キャディの開発環境について語ります。

エンジニアのキャリアを築く上で最新の技術をキャッチアップする必要があると思った

ーー入社の経緯からお伺いしていきます。どういった経緯でキャディを知ったんですか?

C++関係の国内のコミュニティで有名な江添さんが「業務で最新のC++を使ってる会社があるらしい」とブログの中でキャディを紹介していたのがきっかけです。キャディの会社サイトを見たところ、数学的知識の要求値が自分には高いかなと感じて、そのときは前職でもう少し頑張ることにしたのです。でも自分の中に社名だけは残っていました。

――キャディのどういったところに魅かれて応募しようと思ったんですか?

スタックしている技術に魅力を感じました。C++17を使うこともでき、C++20にも移行するだろうという期待もあり、最新の技術を使えて面白そうだと思ったんです。加えてエンジニアとして信頼できる情報を、C++関係のコミュニティで発信している方がキャディにいらっしゃって、キャディの技術に対しての興味と信頼がより高まりました。

ーー技術的な部分に関心を持っていたんですね。なぜ最新技術にこだわっているんですか?

エンジニアとしてキャリアを積んでいく上で、最新の技術をキャッチアップする必要性を感じているからです。

もともとは、子供の頃からの思い入れが強いシューティングゲームのプログラマーになりたかったんです。だから新卒で入った会社も、その次の会社もシューティングゲームの会社でした。1社目は、私が入社するころにはパチンコスロットを作ってる会社になっていて、組み込み機器的な側面が強く、プログラマーらしい仕事がなかなかできない環境でした。それで、3年で退社することに。

2社目ではスマホ向けのシューティングゲームを作っていました。それなりには充実していましたが、開発環境がやや古かったんです。業務をとおしても新しい技術をキャッチアップしていきたい気持ちが強くなり、20代のうちに次に踏み出そうと思い、こちらも3年で退社を決めて。

――ゲーム業界にずっといたのに、まったく別の製造業界に飛び込んだんですね!

はい。私が個人的に作りたいような規模の小さいゲームであれば、一人でも作れる時代になりつつあります。趣味で勉強していたC++を使える環境の方が良いと思い、過去に江添さんのブログで存在が気になっていたキャディにエントリーしたんです。

開発においても「至誠を貫く」ことが大事

ーー趣味でどのようにC++を学んだのですか?

オープンソース界隈やtwitterを中心としたウェブ上のC++のコミュニティ、ブログなどで情報収集をしながらコードを見ていました。その過程で自分で実際に書いたコードは、後でポートフォリオにまとめたりしましたね。

最近だと、ブログやTwitter、Qiitaで、外国語のブログや国際会議で出てくるようなドキュメントを和訳してくださる方がいるので、そういうのも見ています。

ーー自分からもC++を扱うエンジニアに向けて情報発信をすることはあるんですか?

はい。twitterやQiitaで主にC++について発信しています。

それを発信する理由は、より新しく安全な技術についての情報を広めていくことに意義があると考えているからです。「昔はその方法しかなかったが、今だとすでにそのやり方は古い。危険。」という情報を初心者が見落とさないように発信していきたいんです。

ーー坂井さんが書いたQiitaは、検索上位に出現しますよね。

偶然かもしれないですが(笑)

この記事は初心者の方に向けて書いたものなのですが、書くときはとにかく「自分が以前疑問に思っていたことはなんだっけ?」と考え、それをきちんとかみ砕いて書くことを心掛けました。

常にノウハウを発信するときは、「なぜこう書いたらこう動くのか」まで伝えるように意識しています。

ーー 実際入社してみて、入社前に期待していた技術力に関する魅力を今も感じていますか?

十二分に感じてます。現在は、板金加工のアルゴリズムの担当をしているのですが、よそでは見られないコードが実務上で運用されていて。オープンソースでまれに見たり、C++のコミュニティにいるすごい人たちが書いたりするようなコードが現場で動いてるのを見て感動しています。

キャディのエンジニアは、「卓越しよう」というバリューのとおり、技術を高め、サービスをグロースさせようという思いに集中していると思います。だからこそ、レベルの高いコードを運用できている。

正しいと思う技術で、正しいと思うものを開発し、お客さまに提供できているのも嬉しいです。

「動いてるからいいよ」という妥協が出てくるようになると、不完全燃焼のような感じで心理的にしんどくなっちゃいますよね。バリューに「至誠を貫く」とありますが、キャディを選んでくださるお客さまを誤魔化すことなく、誠実であり続けることを大切にしたいです。

これから入ってくるエンジニアのために、お互いの「知らない」を知る

ーー仕事をしていく中でどのようなところにおもしろみを感じますか?

成長途中だからこそ、ベストな形をまだ誰も把握しておらず、話し合いながら開発ができるところですね。その一環で大きな設計の変更をやれる雰囲気もあります。

裁量が大きく、結構ドラスティックな変更をやっても大丈夫なんですね。自分の意見が大きく反映される分、できあがったものに対しても愛着が湧きます。

また、既存のソフトウェア資産という負債が少ないため、最新の技術を使って開発ができているので、問題の解決がしやすい環境です。コンパイラも新しいし、自分のタイミングで開発環境を更新してもいい。むしろ更新するように指摘されるぐらいなので、「このバージョンのこのバグのせいで、やりたいことができない」というような悩みが発生しません。

ーー開発をする上で気をつけていることはありますか?

誰が読んでも理解できるコードを書くことですね。新しくジョインする人の作業開始までの時間を短縮するためにも、ドキュメントを整理し、質問しなくても理解できるようにしておくのは大事だと思っています。

これから開発していく内容や、そのために書くコードは少し説明を受ければだいたいわかるようにしています。しかし、すでにある社内のコード資産は難しく、社外のオープンソースのコードに依存している部分は混沌としています。その様な部分は、すでに扱っている人に訊く事が多いです。私自身が躓いた箇所はガンガンメモしているので、社内ドキュメントを逐次拡充していきたいと思っています。

ジョインしてくる人の中にはC++が得意な人もいればそうでない人もいますし、数学が得意な人もいればそうでない人もいます。様々な人がいる中で補っていくためにも、お互いが知らない事を知っていくことは大切だと考えています。

アルゴリズムだけではなく、あらゆる領域の課題を解決できるエンジニアに

ーーどんなエンジニアを目指していきたいですか?

もう少し知識の幅を広げなければならないと思っています。今すぐに必要な知識としては、数学ですね。現在の業務はC++と数学の知識両方が求められるので勉強しなくてはと思っています。学生時代にもう少し頑張れば良かった(笑)。

言語的な部分では「浅く広く」知る事の必要性を感じています。具体的には、HaskellとRustは社内でも強く推されていますし、Pythonが出来れば幅広く活用出来ます。何か課題を見つけたときに「その言語はできないから無理」と言うのではなく、必要ならいくらでもやるというスタンスで課題解決をしたいです。

ーー今後、どんなエンジニアと一緒に働きたいですか?

私のいるCADアルゴリズムチーム限定の話をすると、C++と数学のスキルがあって、新しいものが出てきたときに、面白がってじゃんじゃん取り込める人がいいですね。エンジニア陣は皆、技術の話をするのも聞くのも好きな人なので、そういう人は楽しめるはず。

まだ人数が少なく裁量が大きいので責任は重ためですが、そこにやりがいを感じる人には向いている職場だと思います!

キャディ株式会社's job postings
9 Likes
9 Likes

Weekly ranking

Show other rankings