RemitAid Tech Blog
🌇

LLMが何でも的確に答えてくれる時代にテックブログを更新する意味

に公開

「ChatGPTに聞けばいいじゃん」 — この言葉、最近どれだけ聞いたでしょうか?

こんにちは、RemitAid CTOの@iTakacです。

リサーチや要件や設計の壁打ち、コード生成のアシストなどあらゆる日常業務にAIが溶け込むことで冒頭のセリフを連発しオフィスは静寂になりました笑
そんな時代にこの問いと向き合わずにはいられない、そんな想いでブログを綴ってみます。

いきなり結論から

ソフトウェアエンジニアリングは特定の問題解決手段であり、その手段は無数にあります。
技術的な「正解」はAIが教えてくれますが、その「正解」を選ぶ理由、その選択に込められた価値観は、AIには語れません。

ソフトウェアエンジニアリングの先には作り手がいて、作り手の先には組織があり、その組織が事業運営し、社会と接続しています。
複雑系の世界にあって「正解」を選ぶ理由にこそ、RemitAidらしさが隠れていると思うのです。
そしてその選択理由の奥底には、しばしば「論理」ではなく「感情」が潜んでいます。これこそが、AIには決して語れない部分なので具体的に見ていきましょう。

ケーススタディ:モジュラモノリスの採用

弊社のAPIサーバーはGoで実装したモジュラモノリスを採用しています。
モジュールと呼ばれる分割可能な概念で内部のパッケージを整理しつつ、モノレポ構成となるため、凝集性と保守性をトレードオンしています。

従ってモジュラモノリスの採用理由ももちろん、凝集性、保守性、releasableかどうかの観点から論理的に選択した、と建前で語ることはもちろんできます。AIに「マイクロサービスとモノリスのトレードオフ」を尋ねれば、こうした「お堅い」回答が返ってくるでしょう。

ところが実態はイチエンジニアが腕試ししたいから、という本音があったとしたらどうでしょうか?
過去に先輩主導で作られたモジュラモノリス構成。
自分でもゼロから立ち上げるところを手を動かして実装できたら...!
ちょうど新しいプロダクトをゼロから立ち上げられるタイミングが目の前にあったら...!
このplaybookを確かな手応えとして掴めたのなら、それはキャリア生存戦略上、大変優位に働きます。
腕試ししたくなる心情をエンジニアとして抑えられるでしょうか?
私は抑えられる自信はありません笑

やってみたい、腕試ししたい、と内から湧き上がる情熱に正直になって、技術の選択をしていいと思うのです。それはAIには絶対できないことですし、何より情熱ドリブンな取り組みには責任感が生まれ、達成した暁には達成感が得られます。逆に失敗した時は大きな学びになります。
「情熱から始まった選択」は、単なる論理的判断よりはるかに強い当事者意識を生み出します。自分が選んだ技術が失敗したら?その責任も含めて背負う覚悟が自然と芽生えるのです。

まさに私たちも体現しています。
サービスが産声をあげた約2年半前、モジュラモノリスで構成されたAPIは本番ワークロードが稼働しました。このときは良い達成感が生まれました。
リリース後の改修や機能拡張においても、モジュールがあるからこそ、それが検討の補助線となり、適切な箇所と適切な責務を判断できている実感もありました。

ところが1年、2年とたってくると初期に見えていたドメインモデルでは太刀打ちできないパターンや概念がいくつも現れました。
初期段階で見えていない領域への探索が成功しているからこそ、新しいドメインモデルを発見でき、開発し、サービスを拡張できるので、事業の観点ではすごく良いことです。
一方作り手の腕の見せ所でもあります。
どこまでが既存のドメインモデルで対応可能か、新しいドメインとの関連性は?どこまで広がりうるか?
妄想とも言えるほどに、あるいは自分たちの過去のソフトウェア開発経験から有益なソリューションを思考し判断する必要があります。

それらの試行錯誤を繰り返すことで、今はモジュラモノリスを止める決断をしました。
これまでは補助線としてうまく機能していたモジュールという概念が、逆に足枷となって開発効率を落としていると感じたからです。
しかし、初期の選択に固執するより、変化を受け入れる柔軟さもまた、RemitAidが大切にしている価値観だと思います。
この辺はデータベース、アプリケーションと段階的に取り組んでいるため、後日同ブログにて発信できればと考えております。

まとめ

繰り返しですが私たちがなぜこの選択をするのか?には事業フェーズやチームに集まったエンジニアのパーソナリティ、個々人の嗜好性が変数となって意志決定されることがお分かりいただけたかなと思います!
日々の開発でもAとBどちらが良いかの選択を議論している状況で、論理的に考えるとどちらの場合でもゴールを達成できるならば、あえて「どちらがやりたいか?」を問いかけるようにしています。

技術は手段だ、とよく言われますが、目的からは隠蔽されているとも捉えることができます。
隠蔽されている構造をうまく使って、自分の腕試しやワクワクすることにチャレンジしてもらうのは大いにやってもらいたい、というのがRemitAid 開発チームが意識していることになります。

先日の@naoyaさんのつぶやきは、含蓄に溢れ深く共感する内容でした。

私は立場上、これまでもこれからも本人の情熱と、会社の方向性、顧客満足度が三方良しになるようアラインする役割を担っていきたいと考えております。

テックブログが単なる「How to」の解説ではなく、選択の裏にある「なぜ」と「どう感じたか」を伝える場になれば、AIが溢れる時代にこそ価値があるのではないでしょうか。これからも技術選択の裏側にあるRemitAidらしい感情や葛藤をお届けしていきます!

RemitAid Tech Blog
RemitAid Tech Blog

Discussion