会社のシステム構築から案件制作まで、ものづくりにおいて欠かせない存在であるエンジニア。クライアントの状況や要望に合わせた提案をいかにできるかが腕の見せ所と言われています。
トンガルマンインタビューの第四弾は、数々のおもしろ案件に携わってきたベテランエンジニアのリチャードさんです。
故郷のマルタを飛び出してまで日本でものづくりをしたいという、その信念とは?トンガったプロジェクトをどのように形にしていくのか?会社をどのように支えているのか?
今回の記事も、個性的で盛りだくさんな内容になっています。
リチャード・シケンブリ
トンガルマン株式会社
大阪本社 エンジニアチーム所属
トンガルマンに来る前は、故郷のマルタでweb開発をしていた。
来日して日本語を勉強するうちにマルタと全然違う日本の文化に興味を持つようになる。
幅広い分野を扱うトンガルマンで、面白い案件を担当できるだろうと期待し2015年に入社。
趣味はLinuxのコンフィグやスクリプトなど、プログラミング、旅行
目次
面白いものを作りたくて――故郷を飛び出し来日入社
――リチャードさんは、トンガルマンとどのような出会いがあったんですか?
トンガルマンに来る前は、故郷のマルタでweb開発をしていました。
日本に来てからは、1年間フルタイムで日本語の勉強をしました。故郷に帰ろうかなと考えた時もありましたが、マルタとは全然違う生活スタイルや食べ物などの文化の違いが面白いと思うようになって、日本に住むことに決めました。
トンガルマンは、携帯アプリだけじゃなくVRやカスタムハードなどの作業などの面白い案件も担当できるだろうと思い入社しました。
――面白いものを作りたいという想いが入社時からあったんですね!
エンジニアさんのものづくりへの想いをもっと知りたいので、リチャードさんが携わってきた数々の案件の中で、特に印象的だったエピソードをお聞きしたいと思います。
じゃあ、こたつホッケーの話をしましょうか。
こたつホッケーは、2015年にリリースしたAR技術を使ったエアホッケーゲームです。
これは私がトンガルマンに入って最初に担当した案件です。Unityを使った経験はプライベートで友達とゲームを作ったくらいだったので、とてもチャレンジングでした。
AR部分には、障害物として湯呑みや財布などを実際に置くことができます。ボールはデジタルで表示されるんですが、こたつ机に置いたこれらの障害物を認識して跳ね返ります。
こたつホッケープレイ中の様子
物の認識にはMicrosoft Kinect端末を使いました。当時の自分には全てがはじめてで、それが物体であることや、その形をどうやって認識するかなど、リサーチが必要なことばかりでした。ボールがきちんと当たるように認識する過程が一番難しかったかな。テーブルと障害物の識別もしないといけないんですよね。
Open CVの技術的な勉強も必要でしたね。大変でしたが、自分の知らない新しいことを学んでいく過程は楽しいと感じましたし、能力としても身についた実感があります。
――はじめてのプロジェクトだと知らない事ばかりで苦労もあったと思うのですが、どうやって乗り越えていきましたか?
オープンソースの他の案件を参考にしたり、知らないことは自分でとにかく調べていきました。はじめのバージョンではチカチカしていた画面も、バージョンアップをするごとにスムーズに動くようになりました。
目に見えて動作や認識に改善が見えると、やりがいを感じましたね。
――新たな技術や知識を得たり成功経験を重ねていくうちに、不安が楽しさややりがいに変わっていくんですね! リサーチとトライの繰り返しは本当に大変だったと思いますが、無事成功に導くことができた素敵なエピソードでした。
大切なのは「関わるすべての人」とのコミュニケーション
――では、次に何のプロジェクトのお話をしてくれますか?
MA-Qという、Bluetoothの野球ボールの案件を話しますね。
ボールの中には色々なセンサーだとか、Bluetooth端末が入っています。
ボールはiPhoneと連携していて、ボールから取得したスピードや回転数、回転軸のデータを計算してくれます。
美津濃株式会社(以下、ミズノ)さんとコラボして制作したのですが、トンガルマンが作ったのはアプリの部分になります。このアプリはUnityで実装したのですが、ソースコードはMATLABという科学計算のための言語を使っています。
MA-Qイメージ画像
Bluetooth端末と連携した製品の開発ははじめてだったので、端末と連携をする方法やコマンドの配信の仕方、データの取り方など新しい知識や経験が沢山チャージされましたね。
――コラボした製品ということは、ミズノさんと連携を取りながら開発していったんですか?
MA-Q案件ではトンガルマンのデザイナーさんとディレクターさんが一人ずつと、ミズノの担当開発者さんがチームになって連携をしていきました。デザイナーさんがUIやアセットを作ってくれて、エンジニアはそれをもとに実装していきます。
2018年にリリースしたんですが、その後も少しずつ開発やアップデートがされています。
計算を早くできるようにしたり、別の新しい機能としてデータをCSVで出力できるようにしたり…他のチームメンバーがサポートしてくれたこともありましたね。
トンガルマンは案件に携わるうえで色んな方とのコミュニケーションが必要になってきます。今回の案件でいうと、ミズノさんとの質問などのやりとりですね。
その時は、ディレクターさんが私と担当の方を取り持ってくれました。ディレクターさんは私の日本語能力に理解があるので、表現のレベルを合わせてくれてとても助かりました。
――エンジニアさんが、こんなにも色んな方とのコミュニケーションが必要だとは知らなかったです。
コミュニケーションをとるうえで苦労したことはありますか?
開発チームでミーティングをした時ですね、日本語での表現がその場で理解しきれないこともあったので。でも、その後ディレクターさんが個別で説明をしてくれたので、分からないことはこまめに確認することができました。
案件やクライアントごとに要望は違ってくるので、それを正しくくみ取って形にしていくことが大事ですね。
――幅広く深い知識や豊富な経験を、コミュニケーション力をもって活かすことができるんですね! 最後に、もうひとつエピソードをお聞きしてもいいですか?
2020年に実装した、Magic Leapを使ったMRのアトラクション開発の案件の話をしましょう。
私たちはMagic Leap端末でMRの表現する部分を担当しました。ベトナムにあるブランチ会社Laichiの担当エンジニアさんと2人で連携した開発だったのですが、Laichiとの共同作業ははじめてだったのでとても印象的です。やりとりは英語でしました。
MRアトラクション イメージ画像
――この案件でも、知らない事ばかりで大変でした?
このタイプのMRを作ったことがなかったので、新しい勉強も必要でした。
MRなので、周りの環境ごとのUIに気を付けないといけなかったりします。例えば、操作する人が壁を見ている時は、メニュー画面を壁に貼るように表示するとか。
登場するキャラクターやカフェアイテムのAIを操作して机や床に置くことができるんですが、これも周りの環境に応じて表示するように配慮しなければなりません。何もないテーブルなら上に置けるように、物が乗せてあってそこに表示すると不自然になるときは、物をよけて床にジャンプできるようにする、などですね。
物の認識や識別方法も全部が新しかったです。色んなタイプのAIがあるんですが、Laichiのエンジニアさんにどれがいいか聞いてみたり、Magic Leapの機能を紹介するゲームからアイディアを参考に色々試してみたりしました。
――自分一人の進め方とは全然違うと思うのですが、他のエンジニアさんと協力するうえで何か気を付けたことはありましたか?
二人で協力して実装をするので、その分早く仕上げられなければ意味がありませんよね。そのためには、相手がスムーズに進められるように作業分担を配慮する必要があります。この案件で言うと、AIができていない状態でもその先の実装は進むのでそこで作業分担したり。
作業内容の全貌を、エンジニア同士で最初にしっかり確認しあってから分担するようにしていますね。
当時はMagic Leapが出て新しく、ドキュメンテーションが少なかったのですが、力を合わせて一緒にリサーチもしましたね。お互いが作ったものをテストやフィードバックし合ったりもして、うまく動けたのではないかと思います。
――作業の全貌をあらかじめ把握して作業分配することが、相手のエンジニアさんへの最良の配慮なんですね。ベテランのエンジニアさんならではのエピソードをお聞きすることができました。
学ぶ意欲と発信力がエンジニアの血となり肉となる
――トンガルマンの案件はどんな技術を使うことが多いですか?
基本的にUnityのエンジンは色をつくることができるので強力ですね。僕個人は結構UnityやC#ベースの案件は多いなと思います。ちなみに僕はC#ベースの案件は結構得意です。
C#は基本にはなりますが、他の言語を勉強するのも好きです。Flutterは僕自身も触ってみて面白いなと思っていますし、Unityではできないことも作れる気がしますね。
最近勉強した中ではLuaという言語に注目をしています。ここ2~3年でLinuxを個人のPCにインストールして勉強しているのですが、Linuxのコマンドに必要な構成用のファイルの細かなことはLuaを使って作ることができます。パソコンで特別な通知を出す等ですね。また、Luaは他の言語の上に使うことができるので、Unityに組み込めば更に細かなものも作れます。
もとは自分の興味で始めた勉強ですが、そのナレッジは後に案件でも使うことができました。会社のタスクを管理するシステムRedmineをメンテナンスするためのコマンドも、今Linuxの上で動いていますね。
――案件で必要な技術の勉強もご自分でされたんですか?
この案件でいうと、自分で調べたのと他のメンバーからのアドバイスと半々ですかね。
MA-Qはほとんど自分で勉強しないといけなかったかな。トンガルマンは案件ごとに使う知識や技術が違うから、自分から学ぶ意欲が必要かなと思いますね。
会社内では案件を沢山経験している方なので、後輩にアドバイスやソースコードのレビューを進んでするようにはしています。
――案件ごとに使う知識や技術が違うということは、新しく案件が来るたびに課題が生まれるということですよね。解決案はどのように出していくんですか?
技術についてナレッジがありそうな人に聞いてみることもありますが、新しい技術が必要なことが多いですね。その場合はじめにリサーチをする時間が設けられて、お客さんの要望から何ができて何ができないかの洗い出しをします。
このリサーチはしっかりやりますね、本当にできない時は「なぜ」をしっかりその後のMTGでディレクターさんに説明しないといけないので。
ディレクターさんたちからのプッシュバックはあまりない気はしますけどね。
――お客さんの要望に添ったものづくりには、エンジニアさんの意見やリサーチ力が要になるんですね。 トンガルマン側から、こんな技術を取り入れてはどうかと提案することもあるんですか?
トンガルマンの好きなところなんですが、私たちエンジニアの意見を大事にしてくれるんですよね。どんな技術を取り入れてみるか話し合う時間があるんですが、エンジニアチームが「これはUnityではなくてMicrosoft WPFはどうでしょう?」などの提案をすると、特に尊重してトライしてくれることが多いです。
案件の担当を誰に振るか決める時も、これやってみたいですとチームリーダーに相談すれば、意欲を汲み取って振ってくれたりもしますね。
――エンジニアさん同士で、今どんな案件をやってるかなどを話す機会はあるんですか?
隔週で技術者ミーティングを行ってるんですが、「この日はこのトピックについて話し合いましょう」だとか「今回は誰かが新しい技術を紹介します」だとか毎回内容は違うんです。
たまにフリートークもあって、「この技術についてリサーチしたいことはありますか?」「これについて勉強してみたいです」「この案件のここで躓いてます」など、後輩が困ってることや意見を聞いてあげたりもしますね。
――頼りになる先輩ですね!
案件だけじゃない。未来のためのシステム開発
――リチャードさんは後輩に、自分の学んだ技術を教えることもあるんですか?
MA-Qの案件では、後輩が勉強になるようなタスクをあげました。
「これをやればこのアプリのこの部分の勉強になるよ」「じゃあこのアプリのテスト用のツールシステム作ってみて」というようにですね。
あとは、自分の経験したツールを教えてあげたりするととても感謝されますね。
――アプリのテスト用ツールって、どのようなものなんですか?
アプリを実装するまでにテストを何回もする必要があるので、ツールを取り入れることで1回あたりのテストの工程を短縮することができます。
アプリのテストはパソコンではできないので、毎回スマートフォンに入れる必要があります。アプリを作って、そのアプリをスマートフォンに入れて、テストをする。この各工程が結構時間かかるんです。1回試すのに10分だとしても、細かい改良をするとなるとアプリビルドの度に時間がかかってしまう。
そこでMA-Q案件では、Unityの中でボールシミュレータのツールを作りました。そのシミュレータを使ってテストをすると、実際のボールを使わないのでアプリビルドをする必要がなくなって、1回あたりのテストにかかる時間がとても短くなりました。
お客さん用とは別に、自分たちの作業の効率化を図るシステム開発をすることは多いです。
――エンジニアさん同士で、効率化よく働けるよう工夫しているんですね! トンガルマンでエンジニアの技術を磨くためには、まずは実践という感じですか?
まずは、今から習うことの目的を説明します。このツールを作ることができれば、後に案件のこういう時に役に立ちますよ、楽になりますよとかですね。
MA-Qの案件でUI用のツールを作って、実際に他の案件でも使うことができました。作業効率を上げるためには、後に必ず必要な知識や経験になりますからね。
――リチャードさんが今後、チャレンジしたいことは何ですか?
今はお客さんのリクエストに応えられるような製品づくりが主ですが、いつかはトンガルマンで1から考えた自社のサービスやアプリを作りたいですね。トンガルマンはアプリ開発やVR、MRの分野を得意としていますし、それに特化した何かを。
Magic Leapを実際使ってみて、これは今後もっと使われていくだろうと感じました。今はまだ出て早い段階なので、装置が重く装着しにくかったりしますが、改良されて軽く使いやすくなればもっと便利になっていくでしょう。次の時代のスマートフォンみたいな感じですね、5年以内に何か出そうな気はします。
そのマーケットで、トンガルマンらしい面白いものを出していけたらなと思っています。
――リチャードさんは、どんな人と一緒に働きたいですか?
開発には、ブレインストーミングで新しい技術をどういう風に取り入れていくかが要になってくるので、新しいことを勉強するのが好きでチャレンジングな人と一緒に働けたら嬉しいです。
また、自分でリサーチした技術やトピックを進んで発信してくれる人も良いですね。他のエンジニアから別の考え方や知識を勉強できることは大事なことですね。
Flutterというアプリ開発のためのフレームワークの勉強会を最近したんですが、その時は後輩から沢山学ばせてもらいましたね。Laichiの技術者とも、「これに必要な技術見つけましたよ」などのコミュニケーションを取ったりもしていて、多くを学べること環境だと思います。
案件ごとに毎回いろんなチャレンジがあるから、エンジニアごとに別々の経験や知識を得ていくので、それを皆で共有して勉強しあえるようになればいいなと思っています。
――リチャードさんありがとうございました!
他にもトンガッたプロジェクトはたくさんあります。
くわしくはこちら
トンガルマンでエンジニアにチャレンジしてみたい!
→応募フォームはこちら
トンガルマンには他にもこんなメンバーがいます!
トンガルマン採用サイト
OTHER BLOG
あわせて読みたい他の記事