スタディサプリ Product Team Blog

株式会社リクルートが開発するスタディサプリのプロダクトチームのブログです

入社3ヶ月で取得した育休記録

iOSエンジニアのkomajiです。昨年の9月に入社しましたが、そのわずか3ヶ月後の12月末から育児休業・出産育児休暇(以下、育休)を合わせて3ヶ月間取得したので、記憶が色褪せないうちに記録として残しておきます。 育休まで 取得の相談 選考段階で、入社の3…

AWS Dev Day 2023 Tokyo で スタディサプリのDarklaunch について発表してきました

こんにちは。スタディサプリの小中高プロダクト基盤開発グループでProduct Platform Engineer兼テックリードをやっている@tooooooooomyです。 今回は、先日開催された、AWS Dev Day 2023 Tokyo にて、チームメンバーで Senior Product Platform Engineerの@u…

Sprint Planning をやめた話

小中新規開発グループ (a.k.a. tara チーム) の qsona です。 tara チームでは、スタディサプリ中学講座というプロダクトを開発しており、約1年前 (2022-02) に本リリースして以来、継続してプロダクト開発を続けています。 tara チームのプロダクト開発は、…

Jetpack Composeでスポットライト機能を実装する

こんにちは、Androidエンジニアの@morux2です。本記事ではJetpack Composeでスポットライト機能を実装する方法を紹介します。 はじめに スポットライトは、特定の要素を目立たせることでユーザーの行動を促す機能です。スタディサプリ中学講座のオンボーディ…

早期ミスマッチ解消のために、職務経歴書のガイドを公開しました

こんにちは、Web Engineer の @wozaki です。 今回は、採用プロセスの改善として、職務経歴書に記載いただきたいことを公開した背景をご紹介します。 概要 職務経歴書に、採用チームとして期待する情報が不足していることがある 不足すると、以下の課題が発…

「スタディサプリ中学講座」における最近の Jetpack Compose 関連の改善

はじめに こんにちは。「スタディサプリ中学講座」 で Android エンジニアをしている @maxfie1d です。「スタディサプリ中学講座」 では Jetpack Compose を最大限に活用しています。現在アプリ全体の 7 割程度の UI は Jetpack Compose で構築されています…

新しいチームメンバーとしてオンボーディング体制について語りたい

はじめまして、小中高決済基盤開発グループの @tacumai です。 ぼくは2023年4月にスタディサプリの開発組織にジョインした、いわゆる新規参画者です。ちょうどこのブログを書いてる時期が参画から1ヶ月ほど経ったタイミングなので、初心をこのブログに残した…

GraphQL Type Mergingを利用したサブスキーマをまたがった宣言的スキーマ定義

こんにちは。スタディサプリのWeb開発をやっている @highwide です。 今日は、スタディサプリ中学講座で利用されている、GraphQLにおける「Type Merging」という技術について紹介します。 自分が撮った写真の中でType Mergingっぽいものを探しました Schema …

gorilla/mux から chi に移行する

はじめに こんにちは!スタディサプリで開発者をしている @pankona です。今日は、最近スタディサプリでも頻繁に使われるようになってきた Go 言語の話をします。 先日、GitHub 上の gorilla/mux リポジトリがアーカイブされました。gorilla/mux は Go 言語…

【 RECRUIT Job for Student 2022 Autumn】Kubecostの検証をしてみました

EKS上でKubecostの検証 初めまして、今回 RECRUIT Job for Student 2022 Autumn Engineer に参加させていただいていた@masaki12-sです。 私は本アルバイトでスタディサプリ小中高のSREチームに配属され、Kubecostと呼ばれるツールの調査を行いました。本記事…

ActiveModel の callback と Datadog Event を使って複雑なコードを整理した話

こんにちは、小中高プロダクト基盤開発グループで Product Platform Engineer をやっている @shimiwaka です。 私の所属する基盤開発グループでは、スタディサプリの認証基盤の開発を行っています。 この記事では、その認証基盤の開発時にお世話になった Act…

スタディサプリならではの開発現場の環境

こんにちは。Webフロントエンドエンジニアの @kamatte-me です。 私は2022年11月にスタディサプリ開発チームに転職してきました。入社してまず驚いたのが、開発を行う上での仕組みや体制が非常に充実していることです。 Kubernetes環境 スタディサプリでは、…

スタディサプリのWebアプリケーションはこうやって開発されている

こんにちは。Webアプリケーションエンジニアの @ttokutake です。 今回はスタディサプリのWebアプリケーション開発がどのように行われているかをざっと紹介したいと思います。 スタディサプリ 大学受験講座 の開発の話がメインです。 スタディサプリ 中学講…

Ruby 3.2にアップデートするときにつまづいたポイント

こんにちは、ujihisa といいます。現在スタディサプリのProduct Platform Team で Product Platform Engineerとして仕事を行っています。 Ruby 3.2 3ヶ月ちょっと前の2022-12-25 (JST) に、Ruby 3.2.0がリリース されました。2023-03-05現在の最新安定版はRu…

Jetpack ComposeでタブをSticky Headerにする方法

こんにちは。Androidエンジニアの@morux2です。先日スタディサプリ中学講座にまなレポ機能が追加されました まなレポは学習状況・学習履歴を確認できる機能です。リアルタイムで学習状況が表示されるので、学習後すぐに成果の振り返りをしていただくことがで…

GraphQLで極力GET Requestを使いつつRequest-URI Too Largeを回避したい

URL長によるGraphQL Requestの失敗とApollo Linkによる解決方法を紹介します。

チーム横断組織の活動を成功へ導くファシリテーション技術

こんにちは。ソフトウェアエンジニアの @ttokutake です。 今回はスタディサプリ小中高プロダクト開発部の技術戦略横断ワーキンググループをリードしていたときに 実践していたことや気をつけていたことを書き出してみようと思います。 もう少し具体的に言う…

スタディサプリのProduct Platform Engineer ポジションのご紹介

はじめに こんにちは、小中高プロダクト基盤開発グループの @kazu9su です。 この記事では、小中高プロダクト基盤開発グループのProduct Platform Engineer(プロダクトプラットフォームエンジニア)とは何をするポジションなのかを具体例を交えて紹介させてい…

Darklaunchという便利なものと、その未来

Darklaunchという便利なものと、その未来 3行要約 スタディサプリのRubyバックエンドで気軽に誰でも使える、"Darklaunch"という Feature toggles 機構がある 4年強ほど運用してきて、様々な知見、多様なユースケース、問題などが明らかになった 知見を活かし…

社内勉強会がきっかけでメモ帳機能を実装した話 with PencilKit

こんにちは、スタディサプリ開発チーム iOS エンジニアの @m-sugawara です。 スタディサプリの iOS アプリでは2~3ヶ月前に PencilKit を使ったメモ帳機能を公開したのですが、今回はその機能の開発〜公開まで至った流れについてご紹介したいと思います。 (…

スタディサプリ中学講座iOSアプリの開発環境

はじめまして!2022年の9月の中頃にジョインしたiOSエンジニアの@komajiです。まだ歴が浅くキャッチアップしている最中ではありますが、私が担当しているスタディサプリ中学講座のiOSアプリが2022年12月現在どのような環境で開発されているのかを紹介してい…

CQRS なレコメンドシステムをGCP で構築した話

こんにちは、データエンジニアの @masaki925 です。 今年の春リニューアルされたスタディサプリの中学講座にて、レコメンドシステムを新規構築しました。 そのアーキテクチャが、当初意図していなかったものの、結果的にはCQRS (Command Query Responsibilit…

@graphql-codegen/typescript-react-apolloとの思い出

プロジェクト内で使っている @graphql-codegen/typescript-react-apollo package との思い出を書き綴りました。

SLO の監視に Burn Rate Monitoring を導入してみた話

こんにちは。スタディサプリ小中高 / Quipper SREの@kyontanです。 この記事は Recruit Engineers Advent Calendar 2022 の1日目の記事です。 開発チームが事実に基づいて(= fact-basedな)意思決定をできるようにするための一助として、SREチームではSLO (Se…

Xcode の Test Repetition 機能を利用して flaky test を自動リトライする

こんにちは、iOS エンジニアの @manicmaniac です。 現在スタディサプリ iOS アプリ開発チームのエンジニアリングマネージャをしています。 「スタディサプリ」ブランドで出ているアプリは数多くあるのですが、今回は今年リリースされたばかりの「スタディサ…

スタディサプリのInternal Platform開発についてのご紹介

こんにちは、小中高プロダクト基盤開発グループの @kazu9su です。 この記事では、チームで取り組んでいるInternal Platform開発についてご紹介できればと思います。 Internal Platformとは AWS, GCP, Shopifyのような、SaaS/IaaS/PaaSとして提供され、それ…

チームにジョインして驚いた3つのこと

こんにちは。10月にAndroidエンジニアとしてジョインした@morux2です。スタディサプリ中学講座の開発に携わっています。今回はオンボーディングの締めくくりとして、チームに抱いた率直な印象をお伝えできればと思います。 1. オープンコミュニケーション チ…

技術戦略横断ワーキンググループの活動報告

こんにちは。ソフトウェアエンジニアの @ttokutake です。 この記事では、スタディサプリ小中高プロダクト開発部の技術戦略グループの活動内容を紹介していこうと思います。 「いきなり何ですか?」と思った方がほとんどだと思われますので、まずは「技術戦…

Next.js 製 Web フロントエンドの CI ビルド時間を 1/3 にした話

こんにちは、 Web フロントエンドエンジニアの @progfay です。 今回は PR に紐づいたプレビュー環境のビルドに 10 分半かかっていたところを 3 分半ほどまでに短縮した改善活動についてお話しします。 技術改善 Day 私の所属するスタディサプリ中学講座の開…

Google Play In-App Reviews API の導入により Google Play Store 評価を1ヶ月で2.5から4.5に改善した話

こんにちは。Android エンジニアの @omtians9425 です。スタディサプリ中学講座の開発に携わっています。 今回は、 Google Play In-App Reviews API の導入により、スタディサプリ中学講座の Google Play Store 評価を4.5(2022年10月7日時点)に改善したこ…