2022年1月からフルリモートでクロスマート株式会社に入社しました!
戦力的にも無事に開発の一員になれた(?)このタイミングで、どんな開発風土かをまとめてみます。
既にクロスマートに興味のある方は、WantedlyやPdMの杉原さんのnoteを見ると手っ取り早いです。
知り合いでも知り合いじゃなくてもギャンギャンお話したいです!!!
目次
飲食業界のDXを促進するクロスオーダー
クロスマートは卸売業者と飲食店をつなぐ受発注プラットフォーム「クロスオーダー」を運営しています。
みなさんは飲食店がどのように卸に注文しているかご存知でしょうか。
便利な発注システムを導入している飲食店ばかりではありません。
いまだにFAXか電話での発注が主流です。
そこをLINEで発注できるようにしたのがクロスオーダー。
飲食店はスマホでささっと注文できちゃうし。
卸さんは管理画面経由で注文を確認できます。
クロスオーダーのおかげで、卸が人力でやっていた業務が死ぬほど簡素化されます。
これぞDXって感じですね。
開発チームの特徴
そんな今まさに伸び始めているクロスオーダーの開発チーム。
僕はDjangoでAPI開発ができる人材枠で、JOINさせていただきました。
Django Rest Frameworkがまあまあ使え、テストコードを書くのが得意、ぐらいの技術スタックですが、なんとかお役に立てている感じがします。
今まで勤めた他社と比べた時に、開発しやすいポイントが何点かあったので、言語化してみます。
「なぜやるか」が明確な開発
突然ですがみなさん、一度は↓のようなこと、経験していませんか??
「なんか良く分からねえ仕様だけどPMがこう言うから。。。」
「作ったは良いけど、これ、誰が使うの???」
みたいな。
ビジネスサイドが強権的だったり、受託開発で顧客に寄り添いすぎるとこうなりますよね。
クロスマートではこう言うことが全く起きていません。(少なくとも僕の観測範囲内では)
これには明確な理由があります。
ビジネスサイドが卸の現場に良い感じに入り込み、卸と関係を密にしているからです。
一般的に、卸の商習慣はほとんど世に知られていません。
そこをコミュ力抜群のビジネスサイド&PdMが現場担当のふところに飛び込み、卸が抱えている業務上の問題を洗い出してきます。
また、ときに卸さんから「こうして欲しい」と要望を受けることもあります。
が、卸さんの要望をそのまま叶えるようなことはしません。
本当の問題はどこか?? をPdMがきちんとコントロールし、本質を掴んだ上でチケット化されます。
結果、背景が明確な、Whyに特化したプロダクト開発が行われます。
想像してみてください。
単に上から言われた仕様を人月換算で管理されつつ納期までに納める開発チームか。
この機能がお客さんの売り上げや業務にどれだけ貢献するか想像しつつ開発するチームか。
どちらのチームが面白いかは言うまでもありませんよね。
現場のユーザー第1のUI/UX
UI/UXのこだわりがすごいです。
と言うと、ワンマンなデザイナーやCEOが感覚でUIを決めてるんでしょ??
それ、めんどくさそ〜〜〜w やだわ〜〜〜www ってなるんですが、NOです。明確に違います。
と言うのも、個人のセンスではなく現場のユーザーの声を大事にしているから。
クロスオーダーのユーザーは卸業者さんと飲食店さんです。
もちろん、システム屋ではないのでパソコンやスマホ操作に詳しいわけではありません。
ログインフローや注文フローを複雑にしすぎると、それだけで離脱され定着しません。
そのため重要なUIについては、ユーザーテストを交えて最適なUI/UXを模索します。
直近ようやくできるようになったことが、プロトタイプ時点でのユーザーテストです。デザイン時点での機能をユーザーに最低限の説明のみで触ってもらい、どこで躓くかを可視化して改修に役立てるようにしています。
クロスマートに入社して1年経った振り返り 杉原達也/クロスマートPM
正直、
「ユーザーテストとかやってるとこ存在するんだ!? マジか!!!」
と、カジュアル面談時点で、クロスマート(と、それを手掛けたPdMの杉原さん)に惚れ込んでました。
決して自己満のセンスやデザイン理論だけに固執していないのが大好きです。
AWS活用しまくりかつInfrastructure as Codeなインフラ
ちょっと今までの話と毛色が違いますがインフラがチャラいですw
専任のインフラエンジニアがAWSを活用しまくりながら、爆速で機能を実現していきます。
直近ではS3 → EventBridge → StepFunctionsを使った構成が熱かった。
S3にZIPがアップされたらバッチを動かす的なことを素早く実装なさっていました。
おいおいおいおいおいクラウドプラクティショナーの試験に出てくるような構成を本当にやってる。。。
かっけえ!! と興奮しましたw
また、これも強調したい。
Terraformを使ってインフラをコード化してます。
つまり、インフラのレビューが可能です。
興奮してるのでもう一度言いたい。インフラのレビューが可能です。
インフラって大体の会社で属人化していませんか??
なんか障害あったと思ったら、知らないところで誰かがやらかしてた。。。みたいな。
その点、プルリクベースでインフラが構築されるので安心感が違います。
フルリモートでも全然大丈夫だった
クロスマートは本社が東京。
小久保は札幌在住なので基本はフルリモートでの参加です。
開発メンバーはおろか面接でお世話になったPdMとも生身で会ったことはありません。
きちんと開発できるのか不安だったのですが、全く問題ありませんでした。
ドキュメントベースな開発体制
前述の通りほとんどの機能開発はなぜやるかが明確です。
何をやるかわからね〜〜〜みたいに困ったことがありません。
細かな仕様はfigmaとNotionの資料ベースでPdMと認識を合わせてから進めます。
技術的な課題も先輩エンジニアと画面共有しつつ解決できています。
コーディングについては、サーバーサイド、フロントともに既存のアーキテクチャを崩さないよう、最低限のコーディング規約もあります。
静的解析ツール(flake8とmypy)が導入されているのもありがたいです。
細かいTipsなどもNotionで検索すればたいてい出てきます。
誰かに横についてもらって懇切丁寧に説明されなければ開発できない、なんてことが一度も起きていません。
つまり、開発的な話だけで言えば出社する理由が見当たりません。
timesチャンネルを使った心理的安全性の確保
Slackでtimesチャンネル、いわゆる分報が導入されています。
僕はこれがめちゃくちゃ好きです。
timesチャンネルとは、メンバー毎に割り当てられるSlackチャンネルのことです。
Twitterのように自由に呟いていい場所。
進捗を呟くも良し。
くだらないことを載せるも良し。
とにかく自由に記載してます。
実はこのtimesチャンネルがリモートでの心理的安全性に寄与しています。
と言うのも、疑問に思ったことを呟くと、メンバーが助けてくれることがあるからです。
また、ほかの人のチャンネルをのぞくのも最高です。
イケてる情報がシェアされているので、チーム全体の隠れた知見が広まりやすくなっています。
#engineerチャンネルにつぶやくのは気がひけるけど、timesなら言える、みたいなことをどんどん発信していくと、自己開示にもなるし、他メンバーの人となりも分かるので最高です。
以下は小久保のRadiotalkが晒されている図。
入社して3ヶ月。めちゃくちゃ元気になった
まだ3ヶ月しか経ってませんが、明らかに元気で活発になりました。
元気の源は「自由度の高い開発チームにいる」というのが主ですが、実はそれだけではなく。
熱量が高く、ポジティブでテクいビジネスサイドにも元気付けられています。
これは主観ですが、クロスマートはおそらくセールス(FS/IS)とCSが異常に強いです。
リード数獲得/売り方の巧みさはもちろん、顧客をサクセスさせるにはどうするかを真剣に考えています。
そのフィードバックが開発にも伝えられることで、解像度の高い開発につながっています。
また、セールスの方が行ったセミナーの動画を見て製品仕様や訴求ポイントを整理したりと、部署横断で勉強になることばかりです。
開発に限らず、ビジネス的な総合力が上がっており、
「俺ビジネスしとるわ〜〜〜〜!!!」
って感じで興奮してます。
The・スタートアップ
初めてのスタートアップ勤務ということで、最初のうちは文化的側面で戸惑っていました。
なんか皆さんすごいポジティブなんですよね。。。ギラギラしてて陰キャラには眩しいw
忘れもしない年始の一発目の全体朝会。
今年の抱負みたいなのを代表の寺田さんから営業の菅さんに振った時。
第一声で、
菅「いやあ、今年は目標達成できる気『しか』しないですね〜〜〜」
って言い放ったんですよ。
エフィカシーたけ〜〜〜〜。
これか。これがスタートアップか、みたいに思ったのを覚えています。
が、ようやくそういう眩しいところにも慣れ、僕も皆さんの熱気にいい意味で影響を受けました。
平日毎日Radiotalkを配信するなど、自分の中で何かが変わったのを感じています。
言われたことだけやるのに飽きている人にはぴったり
開発目線でどのような人が向いているかまとめてみます。
- ビジネス的な側面を楽しんで開発ができる人
- 整っていない環境を整えるのが好きな人
- 改善案を出して、それを適用していくのを楽しめる人
スタートアップらしく、良い提案があればガンガン採用されます。
言われたことだけやるのに飽きている方にとって、理想の環境です。
もちろん、感覚だけでなく数値的な根拠も必要なため大胆かつ論理的な方が活躍できる印象です。
とは言えアイデアを無下に否定したり、マウントをとるひとは一人もいないです。
プラスになることはなんでもやったろう的会社なので、そんな雰囲気を楽しめる人はイキイキします。
悪い点があるとすれば
最後に正直に悪いところも挙げておきます。
クロスマートはサービスが軌道に乗る前に、一度大きなピボットをしています。
その過程で使わなくなったドメインや概念が変わったドメインが生まれました。
つまり、技術的負債が少しだけあります。
具体的に言うと不要テーブルだったり、妙な命名のModelクラスだったり。
生産性や保守性を大きく下げるほどではないにせよ、クセがあるな。。。ぐらいの設計が少しあります。
ただ、こちらは日々改善しつつあります。
先日も時間を取って大きな構造改修が行われました。
リファクタのための時間を取るのを良しとする文化があるため、よくなることはあってもこれ以上悪くなることはないです。
また、小久保のストロングポイントはテストコードだったりするので、「テストで担保してリファクタ」を実践できる環境はむしろ好都合ぐらいな感じですw
破綻してるコードとか、テスト不能なスパゲッティコードとかではないですからね。。。
是非カジュアル面談しましょう
グダグダ書いてきましたが、自由闊達で個人を大切にする会社であるのは確かです。
そして現状、作りたい機能が山積みです。
軌道に乗ってる感はありますが、目標に向けてより開発スピードを向上させる必要があります
とにかくエンジニアの手が足りません。
というわけで、エンジニア採用を絶賛強化中です。
興味のある方がいたら、下記Wantedlyから「話を聞きに行きたい」を押してみてください!
Wantedly経由だとちょっと大げさだな。。。
よしなにつなぎますので! ちょっとでも迷ったら一文でもいいんでDMください。
感想やリツイートだけでもいいです。絡みに行きますw
本日は以上!