がんばるぞ

がんばります

スターフェスティバルに入社して2年が経ちそうです

この記事はスターフェスティバル Advent Calendar 2022 18 日目の記事です

https://qiita.com/advent-calendar/2022/stafes

昨日は @k1rnt自作プログラミング言語「リンちゃんなう!」 でした。
リンちゃん、だいぶ荒れ狂ってましたね。

はじめに

早いものでスターフェスティバルに入社して 2 年が経ちそうです。
スターフェスティバルに入社してからは一度もこういった振り返りをしていなかったので、久しぶりにしてみようかなと思います。
Advent カレンダーのネタがなかった

これまでから今まで何をやっていたのか

ごちクル期

入社してから 1 年と少しの間は ごちクル というアプリケーションの改善を主にやっていました。

入社した時点では CI が存在していなかったりテストが 8 割がた壊れたりしていたので、 まずは CI の導入とテストを全て直すところから始め、その後 PHPStan の導入をしてPHPStan のエラーを 2000 個弱解消したり、EC2 上で動いていたものをコンテナ化したり、一部の API を 40 倍以上高速化させたり、色々としていました。
CI 周りの改善やコンテナ化は今後の運用保守に良い効果を与えることが出来たんじゃないかなぁと思ってます

また、ごちクルと並行して ごちクル deli BOXという小さい新規サービスの開発をしたりもしました。
新規アプリケーションの開発を要件定義や仕様決めの段階からやるのは久しぶりだったので楽しかったです。追加の要求はやっぱり斜め上からくるなぁというのを改めて実感したので、各要素とその関係性を極力シンプルに保つような備え方を身につけないとなーってなりました。

リリース後、ごちクル deli BOX はご飯を食べながらの 1on1 やオンライン飲み会・イベントといったユースケースで利用いただいているようで、とても嬉しいです。
弊社主催のオンラインイベント でもこのサービスを使っていて、実際に食べるとやっぱりおいしいですね。

後半はCore Web Vitalsのスコア改善に取り組んでいましたが、こちらは残念ながらあまり結果を出すことが出来ませんでした。フロントエンドむずい。
数ヶ月後に弊社のフロントエンドエンジニアが片手間で対応してくれたんですが、(まだ途中ではありますが)グングンスコアが改善していくのを見てすげ〜ってなりました。やっぱり Webpack と向き合わなきゃいけないんや...

社内基盤期

今年の 4 月ごろにごちクルチームを抜け、社内管理基盤のリプレイスを進めるチームに移動しました。 弊社は様々な背景により社内基盤のリプレイスというものを数年単位で計画しているのですが、このチームではそれの要件定義から設計開発運用までを愚直にやっていきます。 また、単にリプレイスするだけだと改善しない点が多くあるので業務フローの再定義やデータモデリングのやり直しなども同時並行で行っています。マジですごく大変!

この社内基盤チームに移動してからは、社内基盤に商品を登録・変更するフローが様々な経緯でまぁえらい大変になっているのでそれの改善にずっと取り組んでいます。商品という事業的に重要なものについて色々考えなきゃいけないので、ずっと頭抱えて白目剥いてます。むずい!
(使ってる技術も未経験のものばかりだったので初期は白目が二回転してました。早く黒目に戻りたい)

僕は設計周りが好きなので要件定義とかも好きでやらせてもらってるんですが、このチームでは営業や社内オペレーションの担当、事業戦略を考える人など様々なロールの人たちが一体となって要件定義を進めているので、かなり面白いし勉強になることが多いです。

営業戦略とか事業戦略を踏まえて考えると設計にも新しい視点が入ってきて面白いですし、問題を解決するモデルとして担保しなきゃいけない部分と事業を回す上で担保しなきゃいけない部分って結構違うっぽいなぁというのが見えてきた気がしていて、これも面白いですね。
ドメインロジックとビジネスロジックの違いってこういうことなのかなぁと思いつつ、まぁここらへんは色々な考え方がありそうなのでアレですが。

振り返り

今までもそうですが、社内基盤チームに移動してからは特に自分の経験不足を強く感じるようになりました。
社内基盤では周辺のアプリケーションとの結合度を下げつつ協調していくためにイベント駆動をメインに開発を進めているんですが、まぁひたすらに難しく(僕が)失敗を重ねています。

幸い弊社はリファクタリングなどにかなり理解がある環境なので(本当にとてもとてもありがたい)失敗をしながらも軌道修正ができているのですが、あの時僕がちゃんと設計ができていればもっとスムーズに開発を進めることが出来たなということが本当にひたすらにめちゃくちゃあり反省しています。

  • イベント自体の設計
  • イベント駆動を元にした実装・テスト
  • データモデリング
  • テーブル設計
  • モジュール設計

あたりの知識をもっとつけるとここらへんはもうちょっと改善できるかなと思ってます。

一方で学びはかなり多く(結果に結びつけるにはもう少し時間が必要そうですが)、チームメンバーにもとても恵まれているのでワイワイ楽しく改善を続けられたらと思ってます。

ということで、スムーズな開発を実現するために来年以降も引き続き色々と学んでいきたい所存です。

がんばるぞ!

採用がんばってます!

エンジニアとしてスキルアップするチャンスに溢れている環境でワイワイ開発したい人にとてもオススメなスターフェスティバルなのですが、絶賛エンジニア募集中です! 社内基盤のリプレイスだけじゃなくて新規プロダクトの開発なども色々やっているので、食という領域に興味がある人は是非〜〜〜〜!楽しいよ!

stafes.notion.site

社内の雰囲気はざっくりこんな感じだったりするので、カジュアル面談とかしたい方は是非僕のTwitterにDMください! zenn.dev