こんにちは、技術本部 Contract One Engineering UnitでWebエンジニアをしている田中達也です。
今年の4月に新卒として入社しました。大学では理学部物理学科でガラスの研究をしていました。研究も面白かったのですが、さまざまな企業でのインターンで自分の技術でプロダクトを成長させる楽しさに気づき、エンジニアのキャリアを選びました。
そんな私が、Contract Oneの開発に携わる中で気づいたエンジニアの役割についての入社後のギャップを共有します。
Sansanに入社した理由
Sansanでは共通のミッションが浸透しており、部署や職種を超えてスムーズに連携できる環境があります。「この会社ならエンジニアでも事業価値に向き合えそう」と思い、入社を決めました。
現在私が所属するのは、AI契約データベース「Contract One」のチームです。Contract Oneでは、あらゆる契約書をデータ化して一元管理します。そして社内の誰もが契約書を最大限に活用できる世界を目指しています。
プロダクトが解決しようとしている課題については、松重豊さん主演のCMをぜひご覧ください。
まだ配属後2カ月弱ですが、複数の契約書を一括で更新する機能や、契約先の識別精度を向上させる機能、そして現在はシングルサインオン機能の開発を担当しています。
Contract Oneは昨年、製品が市場に受け入れ始められたことを示すPMFを達成し、ちょうど今が事業拡大フェーズです。こうした環境で、新卒でも多様な開発を経験でき、日々新しい刺激を受けています。
〜〜〜 Contract OneのPMFについてはこちら 〜〜〜
AIがもたらす変化
Sansanでは全社的に「AIファースト」を掲げ、Contract One開発チームの四半期目標にもAI活用が盛り込まれています。私自身も、AIがContract Oneのプロダクトとしての成長を加速させる鍵になると思っています。
まず、エンジニアとして大切にしているのがAIコーディングの取り組みです。個人的には95%以上のコードをAIで記述することを目指しています。全体の5%くらいは人が対応したほうが効率が良い場合があるため、95%を目標としています。複雑なドメインロジックの実装や可読性向上のためのリファクタなどは、人が最初に叩き台を書いてしまった方が良いことが多いです。
まだまだAIが指示を守ってくれなかったり、可読性の低いコードを生成したりなど課題は多いです。しかし、最近の機能開発では、新規実装した約3000行のコードのうち、手作業でのコーディングは0.7% (20行程度)など、着実に成果が出始めています。

AIコーディングにこだわるのは、AIにコーディング作業を任せることで、機能の仕様整理やユーザー体験の検討により多くの時間を充てられるからです。最近は、機能の設計を見返して、ユーザーが迷いなく機能を使えるようになっているか、考え直す時間を取れるようになりました。このように実装作業に忙殺されず、視野を広げてより良いプロダクトを作っていきたいと考えています。
同じく現在向き合っている課題が、AIを活用した新しい機能の開発です。Contract Oneでは、契約書から特定の事項を自動抽出する「拡張項目のAI自動入力」や、契約書の内容を要約する「AI要約」といった機能を提供しています。現在も、次にリリースすべき機能について、正解が見えない中での挑戦が続いています。
〜〜〜 これまでのAIを使った挑戦についてはこちら 〜〜〜
AIを活用した機能の企画では、職種を超えてメンバーが意見を出し合っています。こうした場で有意義な意見を発信するのは難しく、他の人の意見を聞くだけで終わることばかりです。それでも、自分にできることを探し続けています。
例えば、意思決定の助けとなるべく新機能のプロトタイプ作成に参加しました。このプロトタイプは、AIコーディングを活用して企画段階から3日でリリースしました。素早くプロトタイプを作り、アイデアを試せる環境を整えることで、エンジニアとして新機能の企画に僅かながら貢献できました。
職種の境界を越えて
Contract Oneの開発に携わる中で日々感じるのは、従来の「エンジニア」という枠を超えて仕事ができる環境の面白さです。私たちは、デザイナーやプロダクトマネジャー、カスタマーサクセスなど多様な職種のメンバーと連携しながら開発を進めています。
例えば、開発途中で見つかる想定外のケースに対し、デザイナーやプロダクトマネジャーと連携して、一緒に解決策を考えています。
そうした場面では、「どうすれば良いですか?」と意思決定を委ねるのではなく、「こうするのはいかがでしょうか?」と具体的な案を提示し、エンジニアの視点から積極的に仕様決めに関与するように心がけています。
詳細な仕様はエンジニアがリードすることで意思決定が早くなり、拡大フェーズで忙しいデザイナーやプロダクトマネジャーの負担も分散できます。何より、小さな意思決定の経験が、自分の成長にもつながっています。

また先日は、営業メンバーと一緒に東京ビッグサイトでの展示会に参加する機会がありました。来場者と直接対話することで、Contract Oneが実際にどのような現場で活用され、誰がユーザーになるのかを具体的に知ることができ、プロダクトの価値への理解が深まりました。
一方で、いざ来場者の方へプロダクトを訴求しようとすると、想像以上に言葉に詰まりました。普段からプロダクトの価値を意識していたつもりでしたが、ユーザーにとっての「価値」を明確に捉えられていませんでした。
営業メンバーに協力してもらい展示会に同行したことで、エンジニアとして機能を作っているのではなく、ユーザーの体験を作っているという視点の大切さを実感しました。


このように、職種を越えて協力し合える環境がContract Oneの強みです。拡大フェーズに向き合う上で、この強みをもっと生かせるようになりたいと考えています。
これからの働き方
Sansanの内定時に想像していたエンジニアの仕事と、今実際にしている仕事は大きく異なります。まさか、ほとんどのコードをAIに書いてもらうとは全く予想していませんでした。
AIコーディングが当たり前になった今、エンジニアの役割は大きく変化してきています。コーディング作業はAIに任せ、私たちは「どんな設計でAIに実装してもらうか」「どんなタスク粒度でAIに任せるか」といった、より本質的な判断をする能力が重要になると想像しています。
この変化の激しい環境で、私は「何をやりたいのか、何に対してモチベーションがあるのか」を考え続けることを大切にしています。AIによって新卒でもできることが増えた今、何をやるかを自分で決めて推進していく力がより重要になったからです。
Contract Oneには、社員が「やりたいこと」を後押ししてくれる文化があります。もちろん、「やるべきこと」をきっちりとこなすのは大前提です。しかし、それだけでなく、自分の「やりたいこと」に向き合える環境があります。
まとめ
私は就活生だった頃、エンジニアを目指しながらも、ただコードを書くだけの仕事内容に疑問を感じていました。そんな私にとって、Contract Oneは最高の環境です。
ここでは、開発の現場でAIが当たり前のように活用され、エンジニアはコードを書くこと以上に、「何をつくり出すか」という本質的な問いに向き合うことができつつあります。
さらに、従来のエンジニアの枠を超えて、さまざまな職種のメンバーと協力しながら仕事を進められる環境があります。
AIコーディングが当たり前になったことで、エンジニアの役割はコードを書くことから、ユーザー価値を創造するために職種の境界を越えて協働する方向へ変わっています。その状況の中で、私は、単に仕様を満たすコードを書くエンジニアではなく、ユーザーに価値を届けることに責任を持つエンジニアを目指しています。
現在Contract Oneでは、そんなエンジニア像を一緒に目指す開発メンバーを募集しています。AI時代のエンジニアの新しい働き方を探しましょう!