
Sunriseとは?
普段の個人開発ではなかなか体験できない「高トラフィックに耐えうるWebサービス」の実現することを目標としたCARTA HOLDINGSが開催する5days インターンシップです。
GoとAWSで作られたシンプルなWebサービスが用意されており、初期の目標として「秒間30000リクエスト」をさばくようにできることを目指します。
例年秋に行われていましたが、2025年は春インターンとして3月に開催され、愉快なメンバーと頼りになるサポーター社員さんとともに非常に貴重で価値のある体験ができたのでレポを残したいと思います。
なお、実際のワーク部分に関してはネタバレ要素が多く存在するため、基本的には学んだことや楽しかったことがメインの内容になりますが、それすらもある意味ネタバレではあるのでご注意ください。
Sunriseで学んだこと
Sunriseの開発期間では4人のチームが組まれ、ワークと呼ばれる実際に手を動かす時間とそのワークで行ったことをチームごとに発表する時間を繰り返すという構成になっていました。
最初は方法が確立されずにうまく進められないこともありながら、このサイクルを繰り返すことでチームとしてどんどんレベルアップしていけるという仕組みです。
すべてのタスクに確かな根拠を ー推測するな、計測せよー
これは開発期間を通じて特に私のチームが一貫して意識することとなったSunriseのテーマの一つです。
他のチームとの直接の比較はできませんが、私のチームはかなりのアイデアマン揃いで序盤からかなりたくさんの改善アイデアが乱発することになりました。
それ自体は非常に良いことでそれはそれで楽しいものだったのですが、限られた時間のなかですべての改善を行うことは到底できません。
改善アイデアに対して根拠となるデータやログを見つけ、優先順位を付けたタスクとして整理する必要がありました。
AWSのログや負荷試験ツールのメトリクスなど様々な場所から根拠(現状のボトルネック)を見つけ出し、それに対応する改善アイデアを1つ1つ実行して再度テストして改善を確認するという流れはどのチームも共通のものでした。
また、GitHubのIssue機能を使うことが推奨され、チームごとにうまく使う方法が模索されました。
タスクに優先順位をつけて実行しましょうというのは改めて言われるまでもないことではありますが、頭の中で理解していることでもいかに普段実践できていないかを痛感することになりました。
何か課題があって改善によって解決しなければならないとき、「この方法でうまくいったらいいな」という程度の半ば望み程度の感覚で進めてしまうことが多々ありますが、このSunriseではそうではなく、できるだけ確かな根拠をもとに、不安要素をかぎりなく無くしてから、ほとんど当然の結果として改善を確認するということの安心感を実感することができました。
まさかLinuxの仕様まで深ぼることになるとは当初は考えていませんでしたが、原因と結果の連鎖をたどる楽しさはSunriseの醍醐味です。
意思を持って決めるべきことをあらかじめ決める
ワークを進めていく中で、多くのチームが気づくことになったことがありました。それは、「すべてはトレードオフ」であるということです。初期の目標である「秒間30000リクエスト」ということだけを追い求め続けると、そもそもサービスとして成立させるうえで重要なほかの要件を知らず知らずのうちに見逃していることになります。
一つの指標だけでなくサービス全体をマクロな視点でとらえることで、本末転倒な方向に走り出すことを防ぐことができます。そのために、トレードオフの中で守り続けなければならないラインを考えて前もって決めておくことで自分たちの進路に自信を持つことができました。
本来の業務では、SLA(Service Level Agreement)のようなサービスの品質やレベルの指標がありますが、Sunriseではそれらも含めて自分たちで考える必要がありました。
チームで仕事をするということ
Sunriseのみならず、チームで何かを成し遂げるためにはチームが1つとなることが重要です。では、1つとなったチームとは何でしょうか。
まず仲がいいということは重要ですが、一番は「同じ問題意識を持って取り組む」ということです。今、自分たちが何に向かって取り組んでいるのかをはっきりさせて、それをメンバー全員で共有する必要があります。
「メンバー vs メンバー」ではなく、「問題 vs チーム」の構図とすることで、言いたいことを好きなだけ言い合える心理的安全性が担保されます。誰かの発言に対してほかの誰かが反論したとしても、それは発言主ではなく問題に対して向いているものだからです。
同じ言葉を使っていてもメンバー全員が同じものを見ていたり考えたりしているわけではありません。ワークの中では、まずはメンバーの誰かが脳内にあるものを言語化や視覚化をしながら共有する必要がありました。
ごはんタイムだーーーー!!
インターン中はたくさん美味しいものに囲まれてまるで竜宮城のようでした。



全体を通しての感想
Sunrise全体を通して、これまで経験してきた「新たなものを生み出す」ものづくりではない、「今あるものをより良くするエンジニアリング」の重要性、手法、楽しさを学びました。
ここで得た貴重な経験を今後の自分自身のエンジニアとしてのありかたを考えるうえで思い出していきたいと思います。
最後に、5日間お世話になったCARTA HOLDINGSの方々、また、同じく価値ある時間を過ごせた16人の仲間に感謝してSunriseの参加レポートとしたいと思います。