こんにちは、MOSHでフロントエンド開発をしている@dachi_023です。
このたびシリーズBの資金調達を実施し、新たなフェーズを迎えることとなりました。これからも組織・プロダクトの成長の一端を担っていけるよう頑張っていきます。
本記事ではMOSHのこれまでの開発体制や技術選定、そしてこれからどうなっていくのか、について私自身から見た範囲ではありますがお伝えできればと思っています。
開発組織について
これまでのMOSHのエンジニアメンバーは業務委託・副業で構成されており、個別のタスクを各人にアサインしながら進めるスタイルでした。私も正社員として入社するまでは副業メンバーとして関わっていました。
昨年末からは正社員としてのエンジニアメンバーも増え、社内のエンジニア複数人で議論するような機会も徐々に増えてきました。それによって開発のネックになっていた部分を整えたり今後やりたいことをブレストしたりするなどできるようになりました。
多様なバックグラウンド
MOSHのオフィスは東京ですが、メンバーは首都圏以外にも多くいるため基本リモートでのコミュニケーションです。それぞれが働きやすい時間帯に集中して作業できていること、それに対して周囲が柔軟な対応が可能であること、そういった環境があるのはいち従業員として非常に働きやすいと日々感じながら過ごしています。
また、英語が堪能なメンバー(日本語も話せる)とは複雑な内容を説明しなければならない状況などでは英語でPullRequestのやり取りをすることもあります。英語を使う機会が増えたのは非常に勉強になるので個人的にはありがたいと思っています。
改善されたこと、現状の課題感
大小様々ありますが以下のような改善が個人的には大きかったと感じています。
- Issue, PullRequestのdescriptionがレビュアーに伝わるような内容になった
- Feature branchごとに検証環境が自動作成されるようになった
- 開発フローが整備&ドキュメント化され、リリースまでの動きが明確になった
常に複数人が開発し続ける環境になったため、それに伴って開発まわりの改善が日々行われています。先日はエンジニアメンバーで日帰り合宿を開催し、テストケースを充実させる取り組みなどもありました。
エンジニア間で課題を共有し、誰でも着手できるようになったのも取り組むにあたって非常に良かったです。人が少ない、意見が共有できていない状態であれば結局自分でやるしかない、となってしまいますが課題をGitHub ProjectにタスクやIssueとして起票することでそれが起きない状態になっています。
一方課題もまだ残っており、直近だと旧コードベースからの脱却を進めていたり、より複数人で開発しやすい環境にするために何が足りないかの議論をしたりなどしています。個からチームに移行している期間の真っ只中、といった感じです。
技術選定
MOSHのフロントエンドはAngularを利用しています。これまでずっとReactでWeb開発をしていた私にとってはAngularはほぼ利用したことがなかったフレームワークだったので最初は覚えることも多かったのですが、今はだいぶ手に馴染んできました。
私個人に限った意見を言えば多分Reactで書いたほうが速く実装できると思いますが、それは私のスキルがそうなだけであり、今のエンジニアが数名という組織規模であれば今利用している技術を突き詰める方が良いと考えています。もちろん長期的に見て「こういう技術を使用する方向に切り替えていったほうがいい」といった議論はすべきですが、現状はその切替のフェーズではないと認識しています。
今後の展望や個人的な想い
Storybookの導入やそれに伴ったコンポーネントの棚卸し、Angularのバージョンアップを円滑に進める対応など進めていく予定です。また、組織が大きくなった際には既存に囚われないような柔軟な技術選定をするといった、チャレンジングな環境になるのも面白いなと思います。
まとめ
スタートアップならではのスピード感のある会社の成長を感じながらその速度に負けないようなプロダクト開発を進めていけるよう引き続き頑張っていきます。まだまだエンジニア募集中ですので気になる方はぜひ以下をご覧ください。