MOSHの技術の話をしたい
MOSH株式会社では2024年11月からエンジニアメンバーで技術の発信をすることにしました。いわゆるテックブログというものですが、MOSHでは発信の場にZennを選びました。
そして本記事では今後公開していくであろう技術記事のために前提であるMOSHの技術スタックの紹介やなぜ技術ブログをやるのかなどを書いていきます。
MOSHの技術スタック (2024.11現在)
ウェブフロントエンド
- Angular
- React
- Remix
- shadcn/ui
- OpenAPI
- openapi-generator
- orval
- TailwindCSS
- TypeScript
- Bun
もともとはAngularのみで開発をしていましたが今年に入ってからReactへの移行を進めています。
バックエンド
- AWS Lambda (Python)
- FastAPI
- Hono
- OpenAPI
- fastapi-code-generator
直近ではデプロイ方式の改善 (zip → コンテナイメージ) を行ったり、パフォーマンス改善のための設定・チューニングなどを進めています。
インフラ・ツール
- AWS Aurora
- Cloudflare
- Datadog
- DynamoDB
- OpenAI API
- Serverless
- Terraform
最近はAWS以外にもCloudflareを利用し始めたり、OpenAIなどの生成AIのAPIを用いた機能の開発なども進めています。
補足:移行などの背景
創業当時に最適であった意思決定が現在も最適であるかと言われるとそうではありません。
サービスとして7年目ということもあり理想像(技術的な面で)からは遠く離れてしまったように感じています。
たとえば肥大化したコードのメンテナンスが属人化していたり、技術的な理由が原因で機能実装の難易度を上げてしまっていたりなど現場で感じられる課題は多くあります。
こういった課題を解消してユーザーに少しでも早く良い機能を提供するために基盤の移行や様々な改善を機能開発と並行して進めています。
そしてただ作り直せばいいというものではなく同じ轍を踏まないようにするにはどうすべきかなどの議論もしつつやる必要があります。
テックブログを始める理由
企業によってブログを始める理由はことが、MOSHでは以下を意識して取り組んでいきます。
- アウトプットを通しての学び
- 技術者・コミュニティへの還元
アウトプットを通しての学び
アウトプットするために正しく理解する、読みやすい文章を書くための試行錯誤をするなど自己学習のための良い機会になると思っています。
伝えたいことが正しく伝わるように文章を考えたり、間違ったことを書いてしまわないように理解が不十分な箇所を改めて調べたりすることで理解度も深まります。
また社内のエンジニア同士で書いた文章のレビューをしあうなど、フィードバックを得られるようにすることでより情報の精度を高めていきます。
技術者・コミュニティへの還元
MOSHのプロダクトはOSSやネットにある技術記事の情報などによって大きく成長できました。
これからは技術記事を発信することで利用しているOSSの良さを伝える、同じ課題で困っている方向けに情報提供をするなど還元ができればと思っています。
その他
アウトプットを通してMOSHという会社があるんだ、こういうことをやっているんだということを知ってもらえたら嬉しいです。
なのでこの目的については意識してなにかするということではなく、結果的にそうなってくれれば良いかなと思っていることです。また、これ自体が目的となるようなことは全力で避けていきます。
Discussion