ECサイトと周辺システム
ECサイト運用 / 関連システムの新規機能開発 / 関連スクリプトのPoC開発
SaaSでは届かない機能を、周辺システムで補う。ECサイトの運用から新機能開発、表示崩れを検知するPoCまで、PLとして技術と顧客対応の両面を担当。
担当した仕事
SaaS上に構築されたECサイトと、その周辺システムの運用・保守・新規機能開発を担当した。ECサイト本体では実現できない機能についてはLaravelを利用したWebシステムとして補完し、商品の在庫管理に関わるシステムも開発した。また、WordPressサイトの表示崩れを自動検知する仕組みについて、PythonやPlaywrightを利用したPoC開発にも取り組んだ。
初めての案件でPLを担当し、所属会社の上司に相談しながら進行。業務負荷も高い中、その都度必要な知識をキャッチアップしながら技術面・顧客対応の両方を横断して担当した。
担当範囲
- 要件定義
- 技術選定
- VPS環境構築
- 開発環境構築
- 自動テスト導入
- 設計
- 実装
- テスト
- リリース
- 顧客折衝
- 進捗会議の進行
- 顧客MTGへの参加
- チーム内の開発推進
初めての実務経験
初めての実務では、既存機能の拡張に取り組んだ。前任の会社から届いたのは、PHPのソースコードが記載されたWord文書(.docx)だった。自動テストはなく、仕様も曖昧な状態だったため、まずはコードを読み解き、既存の処理や振る舞いを把握するところから始めた。
和田卓人氏が翻訳した『テスト駆動開発』を支えに、自動テストを書きながら、リファクタリングと機能追加を進めた。
楽しかったこと
必要な技術を学び、自分の手で現場の問題を解決できたことがうれしかった。特に印象に残っているのは、Docker環境の整備とCI/CDフローの構築。それまでは手作業でFTPアップロードして反映する運用で、この作業が本当に苦行だった。
Dockerの設定の書き方を学び、自分の環境でテストした後、プロジェクトのDocker環境を整備し、手作業だった反映の流れをCI/CDへ置き換えた。
それが実際に動いた瞬間は、本当にうれしかった。自分が学び、手を動かして組み上げたものが、現場で動く仕組みになった。その達成感とともに、「自分も一人前のエンジニアとしてやっていけるかもしれない」という自信が芽生えた。
大変だったこと
初めての案件でPLを担当し、顧客折衝、技術選定、業務フローのヒアリング、画面・DB設計を同時並行で進めていた。そこへ、Gitの使い方に不慣れなメンバーのフォロー、PdMからの要望対応、進捗管理、さらには別プロジェクトのPR承認依頼まで重なっていった。
工期には余裕がなく、プロジェクト内には仕事を頼める相手もいない。抱えることが多すぎて、何から手をつければいいのか、半分混乱した状態だった。初めての案件でこの状況を背負うのは、正直かなりしんどかった。
そこで、忙しさはいったん脇に置き、丸一日をタスク整理に使った。抱えている仕事を整理したうえで所属企業の上司に状況を相談し、進捗管理・要件整理・経験の浅いメンバーのフォローを手伝ってもらった。
この経験から、忙しいときほど一度立ち止まって考えること、無理なときは一人で抱え込まずに相談することの大切さを学んだ。自分だけで何とかしようとするのではなく、助けを借りながら前に進める。それも、仕事を進めるうえで必要な力なのだと実感した。
工夫したこと
- 要件定義書だけでは認識を合わせきれなかったため、要件定義の段階からFigmaを使い、画面イメージと一緒に仕様を確認した。デザイナーとも同じ画面を見ながら話すことで、文章だけでは伝わりにくい部分を具体化した。
- 顧客や非技術者とのやり取りでは、相手に合わせた説明資料を作成した。会議で決めるべき内容を明確にし、必要な判断をその場で行えるよう、資料と議論の進め方を整えた。
- 仕様が曖昧で自動テストもない既存システムでは、まずコードを読み解くことから始めた。自動テストを書きながら処理への理解を深め、リファクタリングと機能追加を進めた。
- 初めて使う技術は、自分の環境で手を動かして試してからプロジェクトへ取り入れた。Dockerも設定の書き方から学んで動作を確かめ、プロジェクトの環境整備につなげた。手作業のFTPアップロードもCI/CDへ置き換え、開発を支える仕組みそのものを改善した。
- タスクを抱えきれなくなったときは、いったん作業を止め、丸一日を使って状況を整理した。そのうえで所属企業の上司に相談し、進捗管理・要件整理・メンバーのフォローを手伝ってもらった。目の前の依頼に追われ続けるのではなく、何を抱えていて、どこに助けが必要なのかを伝えることを意識した。