見出し画像

歯科医院から、現場の仕事をラクにする

(この記事は、「Working in a dentist office with a mission to simplify fieldwork maintenance」の翻訳記事です)

こんにちは、クバです。LiLzの最高技術責任者(CTO)を務めています。この記事では、私自身について少し触れ、なぜLiLzのファウンダーチームの一員となったのか、そしてLiLzにおける私のミッションが、世界中の現場の生活をよりラクにするという使命にどうフィットしているのかについて少し話したいと思います。また、なぜそのような技術革新が歯科医院から生まれているのかについても説明します。

どんな人?なぜ技術面をリードできる?

私がコンピュータを使った最初の記憶は、私が6歳の頃、つまり1993年ごろに遡ります。父が仕事から持ち帰ったラップトップは、古いスパイ映画に出てくるようなもので、父は私にオリジナルの「プリンス・オブ・ペルシャ」のゲームをプレイさせてくれました。それ以降、コンピュータはずっと私のかたわらに存在していました。はじめはゲームばかりしていましたが、12歳ごろにはHTMLとJavaScriptの基本を学べる入門書をいくつかプレゼントしてもらい、それが私のプログラミング初体験につながりました。

高校の終わりにもなると、私の持っているプログラミング関連の書籍は、初級のHTMLコースよりもより深みのあるものが多くなっていました。しかし、大学の専攻を決める際、私はコンピュータサイエンスではなく機械工学を学ぶことにしました。当時は、将来ロボティクスの分野で働きたいと思っていて、そのためにはコンピュータサイエンスと機械工学両方を学ぶ必要があると考えていました。当時既にある程度コンピュータサイエンスの知識はありましたが、機械工学については何も知らなかったので、大学で機械工学を学んだ方がいいだろうと思ったのです。でも、大学生活をおくるなかで、ソフトウェアエンジニアリングのプロジェクトに魅力を感じることが多くなりました。キャンティレバービームの応力を計算するようなタスクよりも、コーディングの方が楽しいと感じることが多かったのです。

そして、卒業が近づくにつれて、純粋な機械工学よりもソフトウェアの方を楽しんでいることがますます明確になり、最終的にはソフトウェア開発のキャリアを目指すことを決意しました。当時、魅力的なロボティクス関連の仕事には出会うことができず、HPC(High Performance Computing)関連の仕事を探し始めました。その結果、シンガポールの南洋理工大学の研究室に参画、後に日本の沖縄科学技術大学院大学で、物流と分子生物学の領域の研究者たちの実験データの処理と分析を支援しました。

この時点で熱心な読者の方は、HPCを楽しむのはいいけど、機械工学でHPCの仕事に必要なスキルを習得できなかったのではないかと指摘されるかと思いますし、その指摘は正しいです。ソフトウェア開発の専門家になるためには、コンピュータサイエンス周りの知識を学んでいく必要があると考え、関連する教科書を真剣に学び始めることを決意しました。また、読んだ教科書のログを記録しています。よかったらこちらからご参照ください。

数年間アカデミアで過ごした後、産業界に移る時が来たと感じました。HPCソフトウェアの開発を通じて多くのことを学びましたが、ソフトウェア開発においては、研究室の仕事だけでは学ぶことのできない様々な側面があると思ったのです。データ分析用のコードを小規模な研究チームのために書くだけでは、データベース、ウェブサーバー、モバイル開発、クラウドコンピューティングなどの技術にはほとんど関わることができません。また、内部のごく少数のユーザーだけでなく、より多くの人に利用されるソフトウェアの開発に関わりたいなと感じました。このような想いから、沖縄のソフトウェアコンサルティング企業であるLexuesに参加することになりました。Lexuesは自社サービスを作っていこうとしており、新しく設立された研究開発グループの最初のエンジニアとして参加しました。Lexuesでの私のゴールは、新しい技術の探求とビジネス側への知見共有を通じて、新技術によって既存手法よりも効果的に問題解決できるような有望なビジネス上の問題を特定し、最終的に新しいサービスを開発することでした。

この時期、約2015年ごろ、私はディープラーニングの世界に深く没頭していました。コンピュータビジョンとシンプルな機械学習アルゴリズムの経験は既にあって、そのなかで、今までのアプローチでは精度の高い結果を出すことのできなかったコンピュータビジョンのタスクに対して、ディープラーニングだと高い精度を実現できると思ったのです。その後の2年間、ディープラーニング分野の重要な論文や書籍を読んだり、独自のライブラリを構築したり、最先端のモデルを再現したり、皆さんがこの分野を理解できるよう手助けしたりしました。

2017年の夏、再編中であったLexuesの助けを受けつつ、マネージャーである大西さんのリードのもと、LexuesのR&Dグループが新会社であるLiLzを設立しました。LexuesのR&Dグループの時と同じチームでしたが、ゴールはちょっと違っていました。今までは、新技術を探索し、どの課題に取り組むか決めてもらうためにその技術アイデアをビジネス側に提供していましたが、私たち自身で解決すべき課題を決めることになったのです。最初からどんな課題に取り組みたいかは明確に定義されていませんでしたが、私たちは独自のプロダクトとサービスを作っていきたいと考えていました。また、自分たちが、今までの技術では対処できないような問題を解決できるAIとIoTに強みを持つチームだとわかっていました。

はじめのオフィスに移りました。とても家賃が安かったのですが、地元の大学に忘れ去られた建物のなかにある、じめじめして暗い元教室の一室です。最初に部屋に入ると、驚いたクモたちは私たちを見回し、「君たち、道に迷ったの?」と尋ねてきました。私たちはそれを丁重に無視して、簡単なテーブルを配置し、どんな課題に取り組むべきか探し始めました! チーム内で最も経験豊富なエンジニアとして、Lexuesでも同じ役割を果たしてきたように、私はそのリーダーとして指名されました。そして、まもなくCTOとなりました。

適切なソリューションを見つけるのに1年かかりましたし、全会一致のものではありませんでした。でも、最終的には保守点検における課題に取り組むことと決め、私たちの新しいソリューションをLiLz Gaugeと名付けました。LiLz Gaugeを作ると決めた時から、私自身も含めLiLzのエンジニアは、急速にギアを切り替えなければなりませんでした。ほぼ一夜で、機械学習エンジニアの役割から、AIモデルを構築するだけでなく、周辺のウェブサービスを構築、管理し、現場のユーザーにとって使いやすく魅力的なユーザーエクスペリエンスを確保できるような、フルスタックエンジニアに移行しなければならなかったのです。

では、私はどうやってそれらすべてのことに短期間で精通できたのでしょう?その秘訣は次の通りです:

  • 短期間で全てを習得しようとしない - 特にフロントエンド技術などは習熟するのに時間がかかりました。LiLz Gaugeの最初のUIはWindows 3.11ほどにひどいものでした。その後、経験豊富なフロントエンドコンサルタントのチームにジョインしていただき、彼らと一緒に仕事をする中で多くのことを学びました。

  • 多くの教科書 - 私の詳しくない分野に関する技術とベストプラクティスについての教科書。リストを再掲します。

  • 注意深い設計、方法論的なアプローチ、先を見越した考え - 目の前の問題を解決するだけでなく、時が経つにつれ出てくる新しい要件にも対応可能かどうかも考えました。

LiLz Gaugeのアーキテクチャの設計が、全て長期的に完璧に機能していると主張するつもりはありません。それでも、2019年からメトリクスを追跡し始めて以来、週に平均2.5回のリリースと、年間サービスのアップタイムが99.98%以上(年間のダウンタイムが2時間未満に相当)を維持しているので、悪くない結果だと思っています。

作り始めた時のUI
今のUI

なぜLiLzという冒険に取り組むか?

私自身は計画的なキャリア形成をする人間ではないし、プログラミングが好きだったので、それで生きていこうと決めただけだったのです。それにもかかわらず、ソフトウェアエンジニアのジョブマーケットは今や完全な売り手市場で、ソフトウェアエンジニアは、取り組みたい課題や、貢献していきたいビジネスを選択することができます。ソフトウェアエンジニアにとって多くの選択肢がある中で、なぜLiLzという冒険が取り組むに値するものだと思ったのでしょう?

最大の理由は、私たちが実際に世界に計測可能な便益を与えているからです。私たちのリモートモニタリングサービスによって、クライアントは毎月数百キロメートルの移動を節約できるようにしました。現場の方が予測可能なスケジュールで作業できるようになり、緊急の呼び出しを受けたり、夜中や家族のイベントの間に点検を行ったりする必要がなくなります。また、エネルギーや医療関連などの事業を営む人々に対して、計画外のダウンタイムを回避し、社会を支える必要不可欠なサービスを提供し続けるお手伝いをしています。

現時点で、日本国内の何百もの現場をラクにしてきていますが、私たちが解決している課題は世界中に存在しています。LiLz Gaugeを世界中の現場に提供できるように準備を進めており、今後数年間で、世界のどこにインパクトをもたらすことができるか非常に楽しみにしています。

私たちは、社会に計測可能な便益をもたらすサービスを共に作っていきたいという、やる気に満ち溢れたプロフェッショナルたちにより構成された素晴らしいチームだと思っています。それは決して、適切な人材を見つける幸運に恵まれただけではないと考えています。私たちのCEOが、人々がオーナーシップを感じ新しいアイデアを試みることを奨励する企業文化を構築し、私たちのコアバリューが、私たちと同じ理想を抱く人たちを惹きつけています。

大きな目標を脇に置いて、日々の仕事に焦点を当てると、LiLzでの仕事は楽しいです。エンジニアとして、解決すべき課題が明確で、エンジニアリングに対する理解があるビジネス側(CEOとCSのトップはソフトウェアエンジニアのバックグラウンドを持っています!)、失敗を学びの機会と捉える企業文化、アイデアからデリバリーまでのスピードがあります。

最初のオフィスは、地元の大学の忘れられた角にひっそりと佇む、よどんだ教室でした。そこがLiLz Gaugeが生まれた場所でした。次は歯科医院の居抜きオフィスです。エントランスは控えめに言ってぱっとしないです。おそらくこの建物全体の最盛期は20年以上前でしたでしょう。奇妙な場所に広がる電源ソケットは、この場所がオフィス用に設計されたわけではないことを示しています。でもここが、私たちが最初期のクライアントとともに取り組んだMVPから世界中の現場で無制約で簡単なリモートモニタリングを可能にするビジネスに成長した場所なのです。

私はここで何をしている?

LiLz Gaugeの初期の頃は、私がすべてのアーキテクチャ設計、クラウドインフラストラクチャの大部分、デプロイプロセス、および多くの実装の責任を負っていました。

でも今は、開発チームが大きく成長し、私だけがシニアエンジニアでないため、LiLz Gaugeの開発から一部退いて、会社全体の広範なITニーズに焦点を当てることができるようになりました。依然としてLiLz Gauge内では、アーキテクチャ設計とコードのレビューに多くの時間を割き、若手エンジニアのソリューション改善の手助けをし、取り組むべきタスクの方向性を示しています。でも、アーキテクチャ設計にはあまり関与していません。その代わり、LiLz Gaugeの外でITの側面にもっと取り組んでいます。私が現在取り組んでいる業務には次のようなものがあります:

  • 各チームがソフトウェアツールを活用して業務効率を向上できるような支援

  • 社員や外部協力者に必要なセキュリティトレーニングの提供

  • 業務運用上の改善点の特定

  • クラウドインフラストラクチャの自動化の向上

  • 今後詳しく調べていくべき新技術のウォッチ

エンジニアリングから離れたところだと、海外のクライアントや代理店とのやり取りにも参加しています。海外展開に貢献し、海外でLiLz Gaugeがどのように活用されているのかを見聞きするのは非常に楽しいことです。再掲となりますが、LiLz Gaugeをグローバルに展開するというエキサイティングなミッションに関わっていきたいと思っています。

そして、それでもまだまだ私に余裕があると思っているのか、ビジネス側ではすでに、今提供しているアナログメーターの目視点検だけでなく、現場をラクにする新サービスの計画をしようとしています。^^

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!