スタディサプリ Product Team Blog

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

2023-01-01から1年間の記事一覧

スタディサプリ小中高の技術戦略について

この記事は Enginnering Manager Advent Calendar その2の1日目の記事です。(大遅刻しました) こんにちは。@chaspy です。10月からスタディサプリ小中高*1プロダクト開発部の部長をしています。 本記事では、我々の組織で取り組んでいる技術戦略の現状と…

社内技術ドキュメンテーションを科学する

部署内の技術トーク会にて、理想的なドキュメンテーションにおいて回避不可能なトレードオフと、それを踏まえた実践的な手順を発表しました。 その際のワークショップで得た他エンジニアが持つ Pains や知見、そして彼らからの反響を共有致します。

入稿devsチームで、校閲PDF出力機能のリニューアルをおこなった話【2/2 振り返り編】

こんにちは、スタディサプリで開発をしている @motorollerscalatron です。 前編では、「入稿」「校閲」ドメインの発足からサブチームへの切り出しと、校閲出力サービスのリニューアルのエピソードを技術的観点を交えながら共有させていただきました。この後…

入稿devsチームで、校閲PDF出力機能のリニューアルをおこなった話【1/2 入稿ドメインとは?〜開発事例編】

こんにちは、スタディサプリで開発をしている @motorollerscalatron です。 私は、5 年前に web エンジニアとしてスタディサプリに join していますが、今年に入ってから、今までの社内(中学講座の開発プロジェクト(通称 tara、最近は 小学講座も加わってい…

スタディサプリにおけるKarpenterの導入トラブル振り返り

スタディサプリにおけるKarpenterの導入トラブル振り返り こんにちは。スタディサプリ小中高SREの@aoi1です。 スタディサプリでは、Kubernetesを利用しているのですが、Nodeの運用自動化のために2023年3月から本番環境を含む全環境でKarpenterを導入していま…

Android チームが使っている GitHub Actions のユニークな自動化レシピ集🍞👨‍🍳

スタサプ小中高を開発している Android エンジニアの@maxfie1d、@morayl とスタサプ ENGLISHを開発している Android エンジニアの田村です。 GitHub Actions(以下 GHA) はアプリをビルドしたりストアに配信したりすることに使えるのはもちろん、もっともっと…

SLI の計測のために Envoy や service mesh を選択しなかった理由

こんにちは。スタディサプリの小中高プロダクト開発部で主にコミュニケーション機能の開発をしている @snowfield702 です。 今回はスタディサプリで SLI の計測に Envoy と service mesh を使うのをやめて Datadog APM を利用することにしたという話をしたい…

単一アプリでユーザに応じた機能切り替えを実現するために

はじめに iOSエンジニアのkomajiです。2023年9月に「スタディサプリ 小学講座」をリニューアルし、既存の「スタディサプリ 中学講座」アプリに組み込む形でリリースしました。 この小学講座は既存の中学講座とは機能が全く異なっていますが、単一アプリで両…

SwiftUI: Explicit Identity の正しい使い方と落とし穴

こんにちは。iOS エンジニアの @_nkmrh です。 SwiftUI が発表されてからはや4年が経ち、昨今のプロダクションコードでも多く活用されているのではないでしょうか。 そこで本稿では SwiftUI を活用する上で欠かすことのできない SwiftUI.View の Explicit Id…

デザインをそのままの形でユーザーにお届けするためのデザインQA

スタサプ小中で Android エンジニアをしている石田とデザイナーの竹本です。 2023年9月に リニューアルをしたスタディサプリ 小学講座をリリースしました。小学開発ではエンジニアが実装したアプリの画面をデザイナーがレビューするプロセスを デザインQA と…

Firebase Remote Config の変更内容を Slack に通知する

こんにちは、@manicmaniac です。スタディサプリ iOS アプリ開発チームのエンジニアリングマネージャーをしています。 小ネタみたいな話ではありますが、Firebase Remote Config の変更を Slack に通知するようにしたらちょっと便利だったので記事にしようと…

WebアプリケーションにGoの並行処理アーキテクチャを導入してSLOを改善し、WebAPIを100倍速くした話

こんにちは。スタディサプリの小中高プロダクト基盤開発グループでProduct Platform Engineer兼テックリードをやっている@tooooooooomyです。 今回は、WebアプリケーションにGoの並行処理機構を導入してSLOを改善し、WebAPIを100倍速くした話をしたいと思い…

スタディサプリ小学・中学講座でRoborazziを導入しました

こんにちは、Androidエンジニアの@morux2です。本記事ではスクリーンショットの撮影にRoborazziを導入した経緯をご紹介できればと思います。 はじめに きっかけ RoborazziとPaparazziの比較 書きやすさ 複数端末での撮影 スクロールした画面の撮影 Showkase…

GraphQL Tokyo Meetup #21 で会場スポンサーしました #GraphQLTokyo

こんにちは。@chaspy です。 9/13 に開催された GraphQL Tokyo にて弊社九段下オフィスの会場を提供させていただきました。 www.meetup.com 九段下オフィスについて 九段下駅から徒歩3分でとっても便利な立地です。 goo.gl 以下の記事も合わせてご覧ください…

Developers Summit 2023 SummerでADRについて発表しました & ベストスピーカー賞を受賞しました🎉

こんにちは。スタディサプリでプロダクトプラットフォームの開発を行っている @highwide です。 少し前の話になってしまいますが、2023-07-27に行われた「Developers Summit 2023 Summer」(以下、「デブサミ」と書きます)にて「アーキテクチャデシジョンレコ…

会社ブログの更新を継続するための取り組み

こんにちは。Webアプリケーションエンジニアの @ttokutake です。 スタディサプリでは定期的にプロダクトブログを更新するようにしています。 他社様と比較すると更新頻度は少ないかもしれませんが、少なくとも月に1回程度の更新をするように頑張っています…

入社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…