EC事業、SaaS事業と2軸で事業を展開するスマートショッピング。
サイバーエージェントで開発責任者を務めた長島(CTO)が思う2足のわらじで事業を展開する企業でエンジニアとして働く面白みはなんなのか?
スマートショッピングが設立し社員として3番目に参画した長島に技術、プロダクト、エンジニア組織づくりまでを語ってもらった。
長島 圭一朗(Keiichiro Nagashima)
株式会社スマートショッピング 取締役CTO ーーーーーーーーーーーーーーーーーーーーー
株式会社シーエー・モバイルにて複数のECサイトの開発、複数のソーシャルゲーム・SNSプラットフォームの立ち上げおよび企画・開発責任者を歴任。その後CyberAgent America,inc.でUS向けのスマホゲーム、スマホアプリの企画/開発を担当。帰国後株式会社サイバーエージェントの新規アドテクノロジー事業立ち上げ、開発責任者を務める。2014年、株式会社スマートショッピングに参画。
ーーーーーーーーーーーーーーーーーーーー
-エンジニア組織の構成
今僕らのエンジニアは全体で14名ほどいて会社としての正社員が33名程になりますので大半をエンジニアが占めているという組織になっております。
この構造からも分かるように会社としてもエンジニア採用に力を入れており、エンジニアだけでなく会社全体としても、技術を使い解決していくという文化作りに非常に積極的に取り組んでいます。
代表2名もプログラミング理解があり、他役員もコンサル出身者などが務めており良くありがちな技術のことが分からないなどというハレーションはおきない。社員としては元メルカリ(当時社員数二桁目で入社)マネージャーや元サイバーエージェントの開発マネージャーをはじめFintech出身者など非常に技術力の高い人が集まってくれている。また若手も積極的に採用をしてますのでバランスの取れた組織になっており上も下もお互い刺激をし合いながら開発ができる状況です。
メガベンチャーなどで活躍をしていた方が集まってきてくれている
~技術力の高さだけでなく事業成長を軸にしたエンジニア組織へのこだわり~
ただ自分が良いと思うもの、開発したいと思うプロダクトを作るのでは組織としてのエンジニアとしては弱いと僕は思っています。
僕らは事業会社でありお客様(ユーザー)がいる。このプロダクトや機能は本当に社会にとって(ユーザーにとって)必要なプロダクトに成り得ているのか。このプロダクトを通して僕らが目指したい世界を実現できるのか。エンジニアリング組織としてプログラミング技術力の高い組織にするなどはもちろんありますが、それだけではなく事業目線を持ちながら(事業を成長させるために)エンジニアリング側から何ができるのか。
その事業創造ができるエンジニア組織にしたいと僕は思っています。
-プログラミング言語は使われるプロダクトを開発する為の手段。最新ではなく最適な言語を選ぶ必要がある
先に述べた通り僕らのエンジニア組織は事業成長を軸にしたエンジニア組織にしたい。
プロダクトにおいても特定の方やニッチな業界でしか使用されるプロダクトではなく、社会全体に必要とされる(海外も含む)、必需品にしたい。
その思いの元会社としてもエンジニア組織としても挑戦を進めています。
敢えて誤解を恐れずに言うとプログラミング言語というのはそのプロダクト開発の為の手段でしかない。
たとえモダンな技術を入れたとしても、それがユーザーにとって使われるプロダクトにおいて最適なプログラミング言語となっていなければ何の意味もない。プログラミング言語を選定する際はプロダクトの開発フェーズ、使用される市場の大きさ、今いるエンジニア組織のスキル/スペックなどを考慮し、その時々で最新ではなく最適な言語を選ぶ必要があると僕としては思っています。
もちろん勘違いして欲しくないのがスマートショッピングでは新しい技術を追求していないという訳ではないです。毎月外部の方も招きながらエンジニアで集まりお寿司やお酒も交えながらエンジニアイベントを開催し最新技術のキャッチアップをしていたり、週一で社内でも技術勉強会、エンジニアブログなどの運用もしアウトプットできる場も設けており評価にも組み込んでいます。
新しい技術が出ればその技術が今の僕らのプロダクトにおいて最適かを検証し、最適であればもちろん取り入れます。ソフトウェアアーキテクチャもマイクロサービスアーキテクチャを取り入れており、今は新規開発、既存拡張に問わずすべてマイクロサービス化を進めています。
さらに当社はスマートマットというIoTのプロダクトも開発しています。イベントでも外部の方から「Webサービスに加えてハードウェア開発もしていて様々な技術をお持ちなのですね」などとお褒めの言葉を良く頂きます。
ですのでプロダクトをより良くしていくためには常に最新技術の理解や周辺技術のキャッチアップというのは必要不可欠という事実は変わりません。
スマートマット:残量を計測し、あらゆる商品の在庫管理・発注自動化を実現するIoT機器
~開発環境~
- 開発言語
- フロントエンド:HTML5、CSS3、JavaScript(TypeScript, Vue.js, React.js,Nuxt.js)
- サーバーサイド:Go、PHP(Laravel, CakePHP)
- インフラストラクチャ: AWS, Azure, GCP
- ミドルウェア: Kubernetes, Docker, nginx, Elasticsearch, AirFlow
- 構成管理ツール:Ansible, Chef, Terraform
- CI/CD:Github Actions
- その他利用ツール:GitHub, Slack, CloudFlare
決め方も基準としては先に話した通りの考え方ではありますが、この辺りでいこうというのさえ共有されていれば納期やプロダクトの状況を鑑みた時に、最適なプログラミング言語や環境をボトムアップしてもらいテックリードやメンバーで決めて良いように裁量を渡しています。
-全ての人に欠かせない購買行動を楽にする。
~入社の決めてはプロダクトを自分ゴトとして考えられるかどうか。~
現在はCTOとしてプロダクト開発以外にもエンジニア組織作り、採用、技術選定など幅広い役割を担っています。
元々は株式会社サイバーエージェント及び株式会社シーエー・モバイルでWEBエンジニアとしてECサイトやソーシャルゲームのプラットフォーム開発などをしてました。その後CyberAgent Americaに参画しサンフランシスコに渡りました。CyberAgent Americaでは日本の広告プロダクトの海外展開へのブリッジ業務、現地展開のための開発などを担当しました。(そこで代表志賀と出会う)
スマートショッピングには社員としては3番目の入社となります。元々起業したいという志向を持っていたのですが志賀 / 林と話をするタイミングあり、そこで取締役CTOとしての話をもらいました。
取締役CTOとしての役割はもちろん面白みを感じましたが決め手となったのはそこではありません。
プロダクト開発を自分ゴトとして捉えられるか
会社選びの軸は年収や働く人、仕事内容や役割など人によって理由があると思います。僕にとって何よりも重要だったのはポストや年収ではなかった。イチ開発者として自分の生活にも欠かせないプロダクトであり、プロダクトを通して目指したい世界を実現できるイメージが湧くか。ここに拘りを持っていました。
スマートショピングは物の流れをスマートにするビジョンを掲げており、日常の生活を自動化サービスを通して便利にすることへの挑戦をしています。特に一般消費者向けプロダクトにおいては日用品や消耗品にフォーカスをしていますので非常に自分ゴトにしやすかった。消耗品を買うというのは人間誰でも行う行動です。そこにどういう風にサービス展開をすれば僕らの目指すゼロクリックショッピングが実現できるかをイメージし、実現したいと強く思いました。
-エンジニアとしての評価は技術スキルだけではない。プロダクトドリブンなエンジニア組織の評価制度とは
まず評価軸に関しては今では一般的かもしれないですがハードスキル、ソフトスキルの2軸で評価をします。エンジニアは定性的な評価になりやすい職種でもあるので、なるべく納得感がでるよう(定量的に評価できるよう)に気をつけています。
ハードスキルに関してはエンジニアとしての能力はそうですが軸としてマネジメント志向、スペシャリスト志向(特定の技術の話ではなくキャリアとしての)を選べるようにし、どちらもランクを定めランクごとにスマートショッピングとして必要なハードスキルは何かを定めています。こうすることで一つランクとしてステップアップするには何が必要かを明確にするように1on1などを通して随時フィードバックも行います。
ソフトスキルに関しては主にミッション、Way(バリュー)の体現性という部分です。ただここにも一工夫しています。僕らは会社全体のWay(バリュー)が10個ありますがそれぞれをさらに事業部ごとに適したWayにまでして落とし込んでいます。
全社Wayとして行動指針を定めそれぞれの事業部毎の指針まで落とし込んでいる
事業部ごとに落とし込むことにより決められたWayに納得感をもち、価値観の認識をより強く擦り合わせできるような環境にしています。こうすることで事業の成果により直に紐付けがされるので定性的になりやすいソフトスキルに平等感を与えています。またソフトスキルに関してはエンジニアブログや外部での登壇などスマートショッピングの技術力のアピールへの貢献などの、その人の行動が人や事業や会社に対しどういう影響を与えてくれたのかということも大事です。
→11月の技術イベント案内はこちら
~今まで取ることができなかったデータを見ることができる。エンジニアとしての面白さはそこにある。~
僕はスマートショッピングで働くエンジニアとしての面白さは主に3つあると思ってます。
ーーーーーー
1.人軸
2.事業軸
3.データ軸
ーーーーーー
まず1つ目は人軸。エンジニアとしてキャリアを積んでいる人が多いのがスマートショピング。
先にも述べましたがメルカリやmixi、サイバーエージェントなどのメガベンチャーでマネジメント含め活躍していたエンジニアからFintechなどの経験をしているエンジニアなど、エンジニアとしての能力は正直メガベンチャーにも引けは取らないです。その中から学べることは年齢に関係なく多くあると思います。
2つ目は事業軸。スマートショッピングはEC事業とSaaS事業の2軸で事業を展開している会社ですがどちらのプロダクトも他に類似しているサービスは無いので技術部分の挑戦というだけでなく事業づくりという観点からもパイオニアとなっていける面白さがあります。特に今後はIoTを用いてSaaS事業とEC事業のプロダクト連携をしていくフェーズになります。
SaaS事業とEC事業の垣根を無くしていくフェーズを挑戦できる環境は今だからこその面白みだと思います。
両事業の垣根を無くしデータを駆使したビジネスを展開していく
そして3つ目はデータ軸。僕らはEC事業もSaaS事業もデータビシネスとして位置付けています。 例えばEC事業の方でいうと今は16ショップから価格データを取ってきているのですがその全てをオンタイムで価格更新していく技術力が僕らにはあります。
オンタイムでデータを取れることにより、ユーザー向けにはより正確な価格データを細かな時間軸で提供することができます。 また対企業様向けにもオンタイムの人間の購買データを拾い分析することで今の市場の購買行動がどのような傾向にあるのか、男女や年齢でどう違うのかなどを細かく提供することが可能です。
SaaS事業の方もマットとしての自動発注の機能に留まりません。
例えば5分ごとの発注データや残量データを取れる技術を駆使することにより廃棄ロスや人員削減、発注量の最適化などの利用にも繋げていけます。
EC事業、SaaS事業ともに今まで取ることができなかったデータを僕らが取れるというのが非常に面白く挑戦的な部分だと思います。
データサイエンティストや機械学習に強みがある方や興味がある方も非常に楽しめる環境が僕らにはあります。
僕らと一緒に物の流れに変革を与えていきたい、スマートショッピングに興味があるというエンジニアの方と幅広くお会いしたいです。