プラットフォームを使ってECサイトを構築。顧客視点でシンプルな界面境界を追求

article image 1

2023年3月現在、寺田が携わるのは化粧品メーカー様ECサイトのリプレース案件。プログラマーのひとりとして開発を担当しています。

寺田 「SalesforceのB2C Commerceを使ってECサイトを構築しています。2024年の暮れのカットオーバーをめざして、約1カ月単位で仕様設計や実装を繰り返し、少しずつ完成度を高めていくアプローチで進めているところです。

私が務めるのは、テックリードと呼ばれるようなポジション。開発の現場で手を動かしながら、他案件を含めた技術的なサポートやリーディングなどを行っています。コードを書く作業が全体の8割ほど占めることもあれば、レビューしたり相談役をしたりと仕事の大半を後方支援に割くこともあるなど、業務の内訳は状況によってさまざまです」

寺田ら5名のメンバーに課されたミッションは、ECサイト運用の利便性を高めること。ECサイトというと構造がシンプルで容易に見えますが、特有の難しさがあると言います。

寺田 「B2C Commerceではテンプレートが用意されていて、自由にカスタマイズ可能ですが、それら購買導線上にある複雑なアイテム群の特性をきちんと理解した上で要件定義をすることがとても重要です。

たとえば、“お届け先”と“支払い方法”はそれぞれ独立しているように思われがちですが、お届け先によって別途手数料が発生する場合があるなど、アイテム同士が関係していることが少なくありません。そのため、アイテムの順序を入れ替えるだけで、アーキテクチャが成り立たなくなってしまうことがあるからです。

今回の案件では、当初は送料無料の想定でしたが、開発途中でお客様から『送料を設定したい』との希望があり、大きく仕様を変更する必要に迫られたことがありました。問題は、仕様変更にどのくらいのリソースが必要かを判断するのが難しいこと。

B2C Commerceを使ったECサイトの開発では、簡単に見えて実は複雑な作業が求められるケースが多く、作業量を読み違えないだけの知識が必要だと感じています。1カ月かかるものを1週間でできますと簡単に答えてしまうと致命的ですから」

これまで顧客とエンジニアの双方に寄り添った開発を貫いてきた寺田。仕事をする上で大切にしていることがあります。

寺田 「その気になればいくらでも複雑なシステムをつくることができますが、仮に障害が起きた際に、それを改修/維持管理するのはとても大変です。単純に作業が増加するだけならお金の問題かもしれませんが、複雑がゆえにシステムを読みにくくなることで、「どれだけ増加するか予測し難くなる」といった問題が我々開発するエンジニアにとって負担が大きかったりします。そのため、内容が複雑なものであったとしても、モジュール間の境界やほかのシステムとの接点といった、それを使う人が見るところ、いわゆる“界面境界”と呼ばれる部分がとてもシンプルにつくられていて、ストレスを感じることなく運用できるようなものこそが良いシステムだと思っています。

また、お客様の要望のままシステム化すると界面境界は複雑なものになりがちですが、それをきれいに整理することができれば、コストをかけることなく改修しながら成長させやすいシステムをつくることができます。お客様の要望を汲み取りながらも、どれだけシンプルに見えるように工夫できるかがわれわれの仕事の究極的な醍醐味。システムエンジニアには、審美性と機能性を擦り合わせ、落とし所を探っていくスキルが求められると思っています」

エンジニア一人ひとりと真摯に向き合う姿勢に共感し、フレクトへ

article image 2
▲FLECTファミリーデー(オフィスに社員の家族を招待して、オフィス見学や仕事を知ってもらうイベント)に家族で参加したときです

寺田が開発に興味を持ったのは小学生のときのこと。自宅にあった父親のパソコンを使って独学でプログラミングを楽しんでいたと言います。

寺田 「当時、プログラミングできる環境が整った状態でパソコンが売られていたり、子ども向けのコンピュータ雑誌にゲームのソースコードが載っていたりと、プログラミングはいまよりずっと身近なものでした。

はじめは、おもちゃを手づくりする延長線上にあるものとしてプログラムを書くことを楽しんでいましたが、中学生のころにうまくプログラムを書くにはどうすべきかを真面目に考えたことがあって。お絵かきソフトなど簡単なものでしたが、ただつくるのでなく、うまくつくるにはどうすればいいかを自分なりに考えるようになり、のめり込んでいきました」

大学に進学し情報工学を専攻した寺田でしたが、数学や情報工学以外の教科になじめず大学を中退。他業界で働く道を選びますが、30歳を前に「好きなことを仕事にしたい」との思いで一念発起し、職業訓練校へ。その後、IT企業に入社しました。

寺田 「前職では、音楽配信業やインターネットプロバイダ/MVNE事業者のお客様先に常駐して、番組を編成しやすくするためのシステムをつくるなど、さまざまなシステム開発を担当しました。 たまたまなのか、そういう案件を選んでアサインしてもらっていたのか、一風変わったものづくりをしているお客様を担当することが多かったように思います」

当時から維持管理しやすいシステムづくりにこだわりを持って取り組んでいた寺田。仕事が適正に評価されないことに徐々にもどかしさを感じるようになっていきました。

寺田 「エンジニアの仕事では、下流工程よりも上流工程の仕事が重視される傾向があります。たとえば、システムを改修し続けて複雑なものをつくったとしてもそれを数値化して客観的に評価することは困難ですし、苦労してシンプルに使いやすく仕上げれば、高度なものをつくっていることが伝わりません。

前職では課題感を持ちつつも打つ手がなく、そうしたジレンマを抱える現場のエンジニアに対してただ手をこまねいている雰囲気がありました」

寺田がフレクトと出会ったのはまさにそんな折のこと。役員との面接で受けた印象が入社の決め手になりました。

寺田 「面接を担当した執行役員の竹田から、SaaSを組み合わせてサービスを提供するフレクトと、自分の手でつくりたいと考える私とは方向性が違うと指摘されました。はじめは『あなたはこの会社にいらない』と言われたのかと思って反論していましたが、よくよく話をきいてみると、竹田が確認したかったのは、両者の方向性の違いを理解した上で入社する意思が私にあるかどうか。

エンジニア一人ひとりの役割や方向性に正面から向き合い、理解しようとする姿勢が感じられ、入社を決めました」

“寺田塾”を主宰。ベテランならではの知識と経験で若手の成長をサポート

article image 3

下流工程のエキスパートを志す寺田。人事評価制度の観点からフレクトの魅力についてこう話します。

寺田 「上流工程については、プロジェクトに即して目標設定がしやすいのですが、下流に行けば行くほど想定外の問題と直面することが多く、当初の目標とは違う目標を追いかけることになりがち。そのため、目標の達成度を定量的に評価するのは簡単ではありません。

そんな中、どこまで現実的なのかは別にして、代理人となって交渉するエージェント制度の導入を検討したり、エンジニアとして大事にすべきことを明文化する社内指針を考えようとしたり、フレクト社内には折に触れ現状の改善について取り組む動きがあります。いろいろな難しさがある中、評価の健全化に真摯に向き合おうとしていることはとても評価できると思っています」

一方、ベテランエンジニアとして、若手の成長をサポートする活動にも積極的です。

寺田 「上長のアイデアで始めたもので、若手に対して不定期でレクチャーを行っています。新しい技術について学ぶ際、古い技術と比較することが本質を理解する上で助けになることが少なくありません。私がよく知っている古い技術を引き合いに出すことで、若い方が新しい技術を効率的に学ぶことができればと思って取り組んでいます。

たとえば、最終的に実現したいことを記述する、宣言的プログラミングというアプローチがあります。これを学ぶにあたって、若い方は宣言的な記述ができるといわれるVue.jsやReactを使おうとしがちですが、宣言的プログラミングの特徴やメリットを知るには、古いフレームワークとの差分を理解するのが近道です。

バージョン管理についても同様で、バージョン管理をしていなかった時代のことを知ればその必要性がすぐにわかるなど、少し見方を変えるだけで簡単に前に進めるようなことがエンジニアの世界には少なくありません。知らなくても良いことを調べるのに時間をかけなくてもいいように、つまずきそうな小石をどけてあげられたらと思っています」

また、ソースコードに本来正解はないと言う寺田。プログラミングに対する取り組み方の面でも伝えたいことがあると言います。

寺田 「『流行っているから』『古いけれど読みやすいから』といった単純な理由で採用/不採用が決まることも多いのですが、若くて真面目な方はどうしても正解を探そうとしがちです。採用されなかった意見が不正解ではなく、それが最適だと判断される場面もあることを伝えるなど、頑なな態度を解きほぐすようなこともしています」

下流工程のエキスパートとして、最大限に会社に貢献できる存在に

article image 4

寺田のいまの目標は、現在取り組んでいるECサイト案件が抱える課題を解決すること。次のように続けます。

寺田 「半年先をめどに、ECサイトならではの難しさの問題の所在を明らかにして、誰もが取り組みやすくなるようなかたちにしていきたいです。B2C Commerceのアーキテクチャ自体はよくできているので、もう少し抽象度の高いレイヤーで注意すべきポイントをまとめることができれば、この先のECサイトづくりがもっと効率的にできるようになると思っています」

また、「長期的な目標はない」と言いながらも、現場で手を動かし続けることへのこだわりを言葉の端々にのぞかせる寺田。将来をこう展望します。

寺田 「エンジニアの世界で昇格と言うと、工程を上流に上げて管理層の仕事をすることを意味するのが普通ですが、さいわいなことに、フレクトでそれを強要されることはありません。一方で、いつまでもこのままだとおもしろみがないので、いまよりも影響力を発揮していきたいという想いはあります。

とはいえ、コンテクストを離れてしまうと、下流工程のエキスパートは成立しません。活動範囲を適度に広げながら、自分が最大限に貢献できるポイントを検討しているところです。どういうかたちになるのかさっぱり見当がつきませんが、その点も楽しみながら模索していこうと思います」