職歴
2018/9~現在
株式会社Sonoligo #
会社概要 #
Sonoligoは2018年に設立された名古屋大学発ベンチャー企業です。
老若男女問わず、 スポーツ・音楽・芸術など様々なジャンルの
文化イベントに気軽に参加できるサービスを開発・運用しています。
ポジション #
創業メンバーの一人として、取締役として活動しています。
業務内容 #
主に提供するサービスの開発・運用を担当しています。
その他にも
- 経理・財務
- 法務
- マーケティング
などの業務も専門家の方と協力し、担当しています。
技術スタック #
インフラ #
- Amazon Web Services
データベース #
- MySQL
- PostgreSQL
モニタリング #
- NewRelic
- Sentry
環境構築 #
- Docker
- Terraform
データ分析 #
- BigQuery
コンテナオーケストレーション #
- Amazon ECS
コード管理 #
- GitHub
テスト自動化ツール #
- Cypress
- RSpec
フロントエンド #
- HTML
- CSS
- JQuery
- TypeScript
バックエンド #
- Ruby
データ処理 #
- Go
ミドルウェア #
- Nginx
- AWS Lambda
開発業務 #
サービスの開発・運用に必要なことは分野を問わず担当します。
プロジェクト立ち上げ・要件定義
Sonoligoではお客様にご利用頂いているサービスが複数あります。
- 新規サービスの立ち上げ
- 既存サービスへの機能追加・変更
等が発生する際には、初期の段階から打ち合わせに参加し
相互認識のずれを極力小さくします。
また、スケジュールを守りつつも 当初想定していなかった案などが出た際に柔軟に対応ができるよう こまめなコミュニケーションを行える体制を整えています。
設計
要件定義が固まった後は設計を行います。
この段階で要件定義段階での打ち合わせ等を通し、
「将来変更が適応されやすそうな項目・そうでない項目」
等を再度まとめ、打ち合わせ等で確認を行います。
時には設計段階で再度用件の見直し等も行い、 無理・無駄のないサービスの構築を行います。
実装
前段階で固まった設計を元に、実装を進めます。
SonoligoのサービスはPC、スマートフォン、タブレット等あらゆるデバイスでの利用が想定されるサービスです。
それぞれのプラットフォームでの利用が快適に行えるようUI等も工夫します。
また、この段階になって設計の見直しが必要になると分かることもあります。
こまめに現場の確認と振り返りを行い、
よりよい設計を思いついた際には手戻りが少なく変更を適応できるようにします。
また、テストの方は実装コードを書きながら進めていく形を取り
テスタブルな状態でコードを管理するようにします。
リリース
完成したサービスについて、再度関係者に確認を取りリリースに進みます。
主にAmazon ECSにTerraformを使ってBlue/Green形式でデプロイを実施し、 想定外な事象が発生した際にも切り戻しが容易な環境を整備しています。
モニタリング
リリース後もサービスのモニタリングを実施し、改善点を発見しやすい環境を整備しています。
サービスのメトリクス管理にはNewRelicを利用し、ボトルネックとなっているコンポーネントを発見及びより詳細な分析を可能にしています。
エラー探知にはSentryを利用し、速やかなエラー探知を可能にしています。
いずれのサービスもSlackと連携し、異常が発生した際には
- 異常を探知
- 原因の分析
- 問題の解消(修正) の一連の作業をスムースに行えるよな環境を整えています。
大切にしていること #
サービスの開発・運用の際には、いずれの段階でも「想定外」な事象が発生すると考えています。
その「想定外」が「何かの変更を加えること」だと仮定します。
私は「全て受け入れる」「全て拒絶する」の2分で解決することは少ないと考えています。
「要はバランス」という話になってしまうのですが、
このバランスを取る際に、以下の日頃からの習慣が活きてきます。
- 関係者とのコミュニケーション
- 自分が知らない事情等を極力無くす
- 現在稼働しているサービスの状態の正確な理解
- 定量的な評価や、今採用している技術のPros/Consの理解を深める
すなわち
- 今自分達がどこにいるのか?
- どこに行きたいのか?
- そのためには何が必要なのか?
という(自明ではあるかもしれませんが)大原則のところを忘れないことで、 多くの方に喜んでご利用頂けるサービスを提供できるのではないかと心から考えております。