この記事は、スターフェスティバル Advent Calendar 2020の9日目です。 スターフェスティバルではエンジニアを募集しています。
こんにちは、soriです。おもに法人・団体向けのお弁当の宅配サービス「ごちクル」でご存じの方もいらっしゃるかもしれない、スターフェスティバル株式会社(=略してスタフェス)でエンジニアをしています。
現在はオフィスワーカー向けのランチ予約・お届けをするサービスの開発を主に担当していて、Node.js/TypeScript/Next.jsまわりのコーディングを日々やっています。
(前回のほぼコピペ)
さて、今日はスタフェスのエンジニア部署の環境についてお話させていただきます。
特に、スタフェスのエンジニアに興味がある人だけでなく、過去のスタフェスを知っている方、過去にスタフェスを受けたり調べたりしたもののマッチしなかった方にも、現在の状況を知っていただけたらと思います。
2020/2 @sotarokがjoin
以前元メルカリ社にてCTOとして活躍していた、@sotarok 氏が2020年2月にスタフェスのCTOとしてJOINしました。
このことは、エンジニア部署だけでなく会社全体を巻き込んでの大きな変革のきっかけになりました。
社内コミュニケーションツールがSlackへ全社移行
CTOの主導により、まず社内のコミュニケーションツールの見直しが始まりました。
それまで、スタフェスではSlackはFree Planにてエンジニア部署のみが使用しており、主にアプリケーション連携によるアラートや更新系などのフィード通知にしかか殆ど使っていませんでした。
全社的にはChatWorkが使われており、エンジニア間のコミュニケーションついても当初はChatWorkがメインとなっていました。
ChatWorkはたしかに国産プロダクトであるため、非開発メンバーにとっても一見とっつきやすいと感じる部分もありますが、弊社ではChatworkにおいてコミュニケーションがそれぞれのチャットルームで閉じており、他の部署において何が起きているのかわからない、また情報を拾いに行くことができないという課題がありました。また、そういった状態により健全なコミュニケーションがとりづらいという問題もあります。
もちろんエンジニア部署として、数々のIntegrationを使いたい立場としても、全社的にSlackを使用して諸々できたほうがモチベーションが上がるというのもありました。
2月初頭にSlack移行プロジェクトチームが発足し、その後各部署ごとに色々対応スべき事項はありましたが、6月末には移行プロジェクトがミッションを完了し、全社的にSlackでオープンなコミュニケーションをするための土台が完成しました。
現在でも、部分的にprivateDM問題などもあり継続して対処していかないといけない箇所はありますが、全体的に情報へのアクセス性が良くなり、いい雰囲気へ向かっていると感じます。
そしてコロナ禍がはじまる 〜リモートワークへ〜
Slack移行と時期を近く、日本国内でCOVID-19ウイルスの感染者が増加し、オフィスへの出社が見直される時期となりました。
スタフェスでも、緊急事態宣言頃からリモートワークや時差通勤体制が始まり、働き方がメンバーにより大きく変わりました。
その状況においても、Slack移行ができたのは状況下でも情報共有が大事となっていく中で良かったと思います。
現在では、社内の多くの部署が在宅での勤務が可能となっており、リモートワーク対象者には手当も支給されるようになりました。
また、エンジニア部署においてはいわゆるスーパーフレックスタイム制度での勤務となり、在宅勤務においても勤務時間において融通がきくようになり、効率的に業務を最善のコンディションにて行える環境が整っており、個人的にだいぶ助かっています。
(余談ですが私は埼玉から通勤していましたが、通勤がなくなった影響で仕事の効率が上がったのはもちろん、体を壊さなくなったり、自分の時間を取れるようになり新しい趣味ができたりと良い事ずくめで最of高でした)
プロダクト開発制の採用
また大きく変わった点として、それまでエンジニア部署はおおまかにチーム内で職種別(フロントエンド、バックエンド、インフラなど)に分かれており、各事業部署から上がってくる案件をこなしていくのみの、いわゆる社内にいながらにして社内受託のような状況になっていました。
こちらについてもCTOの主導により、プロジェクトチームを軸とした体制となり、プロダクトマネージャ、マーケティング、運用、デザイナー、エンジニア等それぞれのポジションのメンバーが一体となってサービスの質を高めていける良い循環が発生し始めています。
…しかし、まだ今後のプロダクト開発を進めていくにあたってどうしてもメンバーが足りません!!今年に入ってから勢いのあるメンバーがたくさんJOINしてくれていますが、まだまだスタフェスのプロダクトを動かしてくれるメンバーを必要としています。興味のある方は是非。
社内の技術スタックの向上
これまでスタフェスでは、開発環境として主にPHP、CakePHP、Laravel、js、Vuejs(2)を中心とした技術を用いてきました。
PHPやLaravel自体に罪はないのですが、サービス全体として設計や過去の負債を多く抱えている状態の中大きな改善をすすめることができずにいた状況でしたが、今年に入ってからCTOや他の勢いのあるメンバーのJOINによりスタフェス開発をとりまく環境についても大きく変わってきています。技術的な雑談レベルの話も、以前に比べて格段にしやすい環境になっています。(前はしにくかったのかという話ですが、割とそういう部分がありました…)
そのあたりの話についてはスタフェスのnote(この記事とかこの記事)も是非読んでみてください。
GitHubの採用
これまで社内ではStash(Atlassian社のコード管理、いまではBitbucket Serverとなっている)を使っていましたが、GitHubへ多くのプロジェクトを移行しています。
GitHubの強力なインテグレーション、Actionsなどを使うことができるようになったのはもちろんのこと、Contribution(草)に成果を反映することができるようになったのでエンジニアのモチベーションも高くなったと思います。
nodejs/TypeScript/Reactなどのjs系技術の採用
はじめに新規事業のプロダクト「ごちクルNow」にてこれらのjs系の技術を採用し、その後新規で始めていく大きなプロジェクトについても徐々にこれらの技術の採用が始まっており、型レベルでの開発の保証や、テスト駆動開発などの健全で堅牢な開発が多く進められるようになっています。また、新規事業にてスピード感のある開発を進めていく中で、得られたノウハウを他プロジェクトにフィードバックすることもできています。
既存アプリケーションについての改善
新しい技術の採用があるとはいえ、ビジネスを継続していくためには既存のアプリケーションのお世話もしなくてはなりません。先程のnoteの記事にて紹介のあった @ytake氏がJOINし、既存のPHPプロダクトなどの大規模な改善が始まりました。
過去の技術負債についても次々と改善が進んでおり、PHP,js系に限らずインフラを含めた最適な技術選択により、既存メンバーを巻き込んで全体的なブラッシュアップが始まっています。
毎月のWin Session Partyの開催
プロジェクト制での開発を行っていく中で、どうしても他チームでやっていることが普段のやり取りだけではわかりにくいこともあるかもしれませんが、その点についてはスタフェスのエンジニアは月に1度Win Session Partyを開催して、プロジェクトチーム内でのやっていることの共有や、成果を各自褒め合うポジティブな会を設けています。
現状都内を中心に感染症の状況が悪化しているためオンライン開催が中心ですが、状況が良くなったときには定期的にメンバーのリアルでの顔合わせができる機会になると良いと思っています。
各プロジェクトチーム内でもふりかえり会などを実施してチーム内での良いサイクルが回るよう日々努力しています。
最後に
他にもご紹介できることがあったかもしれませんが、一旦思いついたこの辺にて。
まだまだ課題もたくさんあり、楽な仕事と言うことはできませんが、チームでの開発は楽しく、やりがいがあり、確実に良いやりかたに向かっていると感じています。ぜひ、興味を持った方はスタフェスに来てくださいね!