![見出し画像](https://assets.st-note.com/production/uploads/images/171281632/rectangle_large_type_2_95f6fac87ecc71e40513f1890ea2264b.png?width=1200)
CTO目線で考えるエンジニアからみたエクスプラザで働くおもしろさ
はじめまして。株式会社エクスプラザCTOの松本和高(@_mkazutaka)です。エクスプラザでは、現在のLLM中心の事業にピボットする前から事業全般のテクロノジー周りを見ています。
キャリア的には、2018年からバックエンドエンジニアとして働きはじめ、転職、フリーランスを得て2022年から今の会社に所属しております。2024年8月にCTOになりました。CTOになって5ヶ月弱ぐらいなのですが、会社としても株式会社松尾研究所との資本業務提携があったりと大きく変わっていくフェーズではあります。
そのきっかけもあり、ここ最近は多くの方と面談をさせて頂く機会が増えました。その際改めて弊社でエンジニアとして働く魅力とかおもしろさってなんだろうかを考える機会があり、せっかくなのでここで書かせていただきます。
エクスプラザという組織について
現在エクスプラザは、事業としてコンテンツ生成AI「Mark」、生成AIのプロダクト開発支援「EXPLAZA 生成AI Partner」、の2つを展開しています。今後のビジョンについては代表のnoteに詳しい情報がありますので、もしよろしければそちらもご覧ください。
エクスプラザでの開発
エクスプラザの開発も、大きく分けて上の2事業を軸に進められています。それぞれの開発環境や方針が少し異なるため、それぞれについて魅力・おもしろさという観点から紹介します。
「Mark」の開発のおもしろさ
「Mark」は弊社が開発している自社SaaSになります。LLMが一般に広まったあとに作られたサービスだけあって、開発時からLLMを使って開発ができること + ドメインフォーカスが実現できることを大まかな方針として開発を進めています。
具体的には(LLMと相性が良いと思っている)関数型のテクニックを使ったアーキテクチャ構成になっており、DMMF本(Domain Modeling Made Functional)の考え方がベースとなっています。LLMでゼロからコードを作らせると、どうしても既存のコードベースと整合性のない出力が混ざりやすくなります。しかし、実現したい仕様を「簡易コード+Example」という形で用意し、それを変換させるという方法を取ることで、コードベースに従った成果物を得られやすくなります。Goでいうところの手軽に使えるgo generateに近いイメージです。
たとえば以下のような簡易コードを作り、それをLLMに「変換」させることでワークフローのコードを生成しています。あとは必要な箇所を埋めれば動くコードが完成するという流れです。
workflow "コメントスレッド一覧の取得;ListCommentThreadResult":
input:
- UserInfo
- ArticleProjectID
output:
- ListCommentThreadResult[]
step:
- name: CheckAccessArticleProject
input:
- checkAccessArticleProject()
- UserInfo
- ArticleProjectID
output:
- AccessibleArticleProjectID
- name: ListArticleProjectCommentThreadResult
input:
- findArticleProjectCommentThreadResultsByID()
- findUserByID()
- AccessibleArticleProjectID
output:
- CommentThreadResult[]
もちろんこれは一例であり、このフローで開発している人もいれば、CursorやClineを使って開発していたりいます。アーキテクチャもドメインごとに変えられるようにしているので、「with LLM」な技術や設計をいろいろと試せるようになっています。こうしたフレキシブルかつ目新しい開発スタイルは、「Mark」の開発ならではの魅力の一つで、おもしろいところかなとは思います。
「EXPLAZA 生成AI Partner」の開発の魅力
一方で、「EXPLAZA 生成AI Partner」ではあえて開発方針を決めないを方針としています。パートナー企業さまとの案件によって求められるものが変化しやすく、さらに生成AI領域自体の技術進歩が非常に速いので、方針を決める事自体が足かせになるなと感じたからです。
そのため、案件ごとに必要な技術・アーキテクチャをエンジニア自身が選定できるようにしています。つまり、プロジェクトのゼロイチからエンジニア自身で開発を試みてもらう形にしています。もちろんこれによって生じるデメリットもあるのですが、それ以上に開発者のコンフォートゾーンを抜け出しやすかったり、新しい技術を試せたりなどのメリットを重視しています。(あとはもう単純にゼロイチで作れたほうが楽しいはず..!)
このようなゼロイチでの開発は「生成 AI Partner」での開発の魅力の一つでまた「Mark」での開発とはまた違ったおもしろいところかなとは思います。
感想・まとめ
というわけで私目線からではありますが、エクスプラザの魅力・おもしろさについて紹介させていただきました。ゼロイチもできるし、一緒にサービスも大きくできるし、バイアスは多少なりともはいってますが、おもしろいかつワクワクする組織、になってきたんじゃないかなと思います。
成長の機会も多くありますし、これから成長したい、新しいことにチャレンジしたいエンジニアの方にとっても候補に上がる組織になっていると思います。実際に私、業務委託さん含め、所属している多くのエンジニアがコンフォートゾーンを抜け出してもらってます。(みんなすごい)
もちろん、組織規模の拡大によって状態の変化は起こりうるかもしれませんが、可能な限りはエンジニアが多くの成長機会を得れるような組織を目指していきます。
ぜひこのnoteを読んで少しでもワクワクした方、興味のわいた方は、お気軽に私へのDM(@_mkazutaka)もしくは、採用サイトとかもご覧いただけると幸いです!今後も世の中のエンジニアが魅力となるような企業となるべく頑張っていきます。よろしくお願いします!
以上
採用情報
ぜひ弊社採用イベントや採用サイトもご覧ください。