K.O / アプリケーション開発部・エンジニア
入社の決め手は「新しい技術を試せるか」だった
会社を選ぶときに重視していたのは、新しい技術や興味のあるツールを業務に取り入れられる環境かどうかでした。
決め手になったのは面談です。AIDD(AI駆動開発 / AI-Driven Development)を実際に取り入れていること、そういう社風であることを聞いて、ここなら新しい技術や知見に積極的に触れていけると感じました。
もう一つは、実装フェーズを一通り経験できる点です。以前は実装が中心で、詳細設計をどこまで担当できているのか自分でも分からない状況でした。今は要件定義から作業に加わり、顧客のヒアリングをしたうえで開発まで進めることができています。
入社前後で一番違ったところ
良い意味で違ったのは、AIDDが本当に取り入れられていたことです。話として聞いていた通りに運用されていました。想定より大変だったことは、特にありません。
入社直前の自分にアドバイスするなら、「AIDDに関する知識をつけておいた方が良い」と言います。とはいえ基礎から学べる環境なので、身構えすぎる必要はありません。
技術的に一番難しかった仕事
EC出荷向けの物流管理システムで、複数発送元に対応する改修です。マルチテナントを意識したWebアプリで、テナントごとのデータ分離が難しいところでした。
もともと単一の発送元を前提に作られていたシステムに、後から複数発送元対応を入れることになりました。カラムを追加する程度の小規模改修では済まず、既存機能のほぼ全部が「どの発送元から操作しているのか」を考慮する必要がありました。
解き方としては、発送元のマスターと、それぞれが担当する配送エリアを選択できる機能を実装しました。そのうえでユーザー・在庫・注文にそれぞれ発送元IDを紐付け、ECから注文を取り込んだ後は発送元ごとに分離する形にしています。
検証は Playwright(AI経由での実行)と人力の両方でやりきりました。ただ環境面は課題として残っていて、検証環境ではなくステージング環境が欲しいと感じています。これは顧客に依頼しないと用意が難しいのが現状です。
もう一つ苦労したのが、バーコードリーダーとの連携部分です。Bluetooth経由でバーコードリーダーから読み取った値を扱う必要があったのですが、バーコードリーダーの機種によって値の形式が異なり、それぞれの機種に合わせて対応する必要がありました。そもそも画面側とバーコードリーダーをどう連携させるか、という設計自体に苦労した部分です。
チームの一日・一週間
朝会はチームにもよりますが大体10:00に行います。そこでタスクの進捗を確認し、問題があればその場で相談します。だいたい30分以内には終わり、その後は各自のタスクを進めていきます。
- 朝会: 毎日10:00(30分以内)
- チーム定例: 日次(チームによる)
- 全体定例: 月1回
- リモート: 週2回。業務に支障のない範囲で、取りたい時に取る
レビューは基本的にPRを作成した後、上長が行います。設計や実装の判断は基本的に担当者が行い、不安なときや分からないときは上長に相談する形です。
技術スタック
案件によって変わりますが、主に次のものを使っています。
- フロントエンド: React / Next.js
- バックエンド: Laravel
- データベース: MySQL / PostgreSQL
最近はAIエージェントも取り入れており、AIDDに力を入れています。使っているのは Claude Code と CodeRabbit で、要件定義から実装、テストまで幅広く活用しています。前述の Playwright による検証も、AI経由で動かしています。
これから挑戦したいこと
AI活用のさらなる効率化です。今はAIの使い方が各々に任されている状態なので、ナレッジを溜めていきたいと考えています。
具体的な形はすでに動き始めていて、社内でスキル・プラグインを配るマーケットプレイスの仕組みがあります。あわせて esa を使って知見を溜めているところです。
一緒に働きたい人
AIを活用したい人、新たな技術に興味がある人と一緒に働きたいです。
逆に、一つの技術を突き詰めたいタイプの人には合わないかもしれません。案件ごとに使う技術が変わり、新しいツールを取り入れていく前提の環境なので、そこは事前に知っておいてもらえるとよいと思います。
AIを活用して、より良い開発を行いましょう。