スタディサプリ Product Team Blog

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

ujihisa の検索結果:

A/B テストによるプロダクトエンハンスを支援する PLG(Product Led Growth) Team のご紹介

…喚起 *6:Web(Frontend/Backend), Android, iOS の職能横断チーム *7:なぜかiOSもちょっと書ける *8:結成後2ヶ月ぐらいで加入してもらった *9:最初は LaunchDarkly を利用していました。現在は内製の Darklaunch v2 を利用しています。参考: https://blog.studysapuri.jp/entry/2022/12/19/darklaunch-ujihisa *10:バックエンドで行った事例もあります

スタディサプリ小中高プロダクト開発部2023年の登壇資料紹介

…ooooomy, @ujihisa 想定読者: マイクロサービスを考える規模のサービスを開発・運用している、またはFeatureTogglesに興味のあるEngineer 内容サマリ: Railsアプリケーションのモジュールとして存在していたDarklaunch(FeatureToggles)をGoアプリケーションとしてフルスクラッチでマイクロサービス化した話 speakerdeck.com 西日暮里.rb 登壇日: 2023/2/27 登壇者: @tooooooooomy …

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

…ooooooomyとujihisaがAWS Dev Dayでの登壇を行っていますが「登壇は自社のプレゼンスを向上させる重要な業務」というマインドが特に現チームにはあるように感じます。 blog.studysapuri.jp 発表資料ができあがってからは、チームを問わず、多くの人からのフィードバックをもらって資料をブラッシュアップしました。ありがたいことです...。 Slackでアツい感想もらえるのありがたい Google Slidesに直接コメントくれるのもありがたい 発表は…

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

…Engineerの@ujihisaとともに [スタディサプリ] Railsアプリケーションのモジュールとして存在していたDarklaunch(FeatureToggles)を Goアプリケーションとしてフルスクラッチでマイクロサービス化した話 という発表を行ってきたので、そのことについてお話できればと思います。 発表の簡単なまとめ スライドは公開していますが、このブログで簡単なまとめを改めてご紹介できればと思います。 アジェンダ 発表のアジェンダは以下になります。 Darkl…

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

こんにちは。Webフロントエンドエンジニアの @kamatte-me です。 私は2022年11月にスタディサプリ開発チームに転職してきました。入社してまず驚いたのが、開発を行う上での仕組みや体制が非常に充実していることです。 Kubernetes環境 スタディサプリでは、インフラ基盤を全てKubernetesで構築しています。 本番環境や検証環境だけでなく、個人の開発環境までもです。各人に対して専用のNamespaceが発行されています。 スタディサプリのシステムは数多くの…

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

こんにちは。Webアプリケーションエンジニアの @ttokutake です。 今回はスタディサプリのWebアプリケーション開発がどのように行われているかをざっと紹介したいと思います。 スタディサプリ 大学受験講座 の開発の話がメインです。 スタディサプリ 中学講座 は今回の話とはやや異なる部分もあるため、それはまた別のブログ記事で紹介されるかもしれません! スタディサプリ ENGLISH は全く別物のシステムです。 そちらの開発については こちらのサイト のブログ記事を読むと…

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現在の最新安定版はRuby 3.2.1です。 スタディサプリではRailsなどのwebアプリケーションが26個あり、それ以外も含めると全部で29個のRuby…

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

はじめに こんにちは、小中高プロダクト基盤開発グループの @kazu9su です。 この記事では、小中高プロダクト基盤開発グループのProduct Platform Engineer(プロダクトプラットフォームエンジニア)とは何をするポジションなのかを具体例を交えて紹介させていただければと思っています。 1. Daily Standup and Service Monitoring 仕事が始まってしばらくしたら、Daily Standup(進捗状況について話し合い、障害を特定…

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

…prototypeはujihisaが最もラクに何も考えずさくっと作れるものにするため、Ruby on Railsで作りました。Rails最高ですよね、大好きです。いっぽう実際に清書するときにはチームでの長期的なメンテを考え、別の言語で書かれる可能性が高いです。具体的にはGoを使う可能性が非常に高いです。 prototypeを作って、実際にDarklaunchを使うことになるチームなどとユーザインタビューなどを行う、それらすべての過程を経由して、以下のような知見が得られました。…

Rubyのコードの書き方

こんにちは、ujihisa といいます。現在スタディサプリのProduct Platform の Software engineerとしての仕事を行っています。先月から社内留学で、開発支援チームからコーチングチームに一時的に移籍して、そちらの仕事をやっています。 Rubyのコードの書き方 まずは全体的なコーディングスタイルなどについて。 現在社内で統一的に使用しているコーディングスタイルの標準化などはとくに行われておりません。各チームごとに、それぞれのチームが開発運用している…

RubocopでRubyコードのスタイルを強制せず、バグだけ検出

…ergeできるけど、ujihisaが不定期にコード検索して見つけたらpull requestを投げる 実際には現状そもそもこれの必要があったことがなく、一度もrubocop:disabledコメントが増えなかった ちなみに、今回↑で僕が挙げた方針以外に、以下のような方針をとる選択肢もありました。 testdouble/standard (非標準) の使用 Rubucopのデフォルトの使用 そもそもRubocopを使わない しかし、いずれの方針にせよ、「持続的にそれを積極的に推…

褒めるラジオ quipper.fm

…kona さんと @ujihisa さんがなぜすごいのかを考えていた流れで、思いついて企画しました。 ついうっかり速度で企画してしまう というのが表面的な理由で、実はとある仲間が退職したときに残してくれた言葉に影響を受けています。 最近、ある退職者が「オフボーディング」として、「何を考えていたか」「やりきれなかったことは何か」「今の組織課題は何か」「組織の良い点は何か」といったことを(任意で)書いてくれていました。 quipper.hatenablog.com その中の「やっ…

退職の作法、あるいはオフボーディング実践入門

…ど、という指摘が @ujihisa からありました。 過去にやってきたこと+その時に考えていたことなどを記しています。詳細は省略しますが以下のような目次で書いています。なお、このテンプレは @chaspy により考案されました。 執筆してみた感想は、「単体でやってきたことや当時の感情の羅列は長々と書けるけれども、一本筋の通った線やストーリーを引いたり一段上の抽象を見出して現在の表象と結びつけるのは難しい」、です。 extra 1-on-1 私はマネジャーとしてチームメンバーと…

カジュアル面談への扉

…。 以下は弊社の @ujihisa がまとめた、5段階の「分からないことを表明する力」モデルです。便利なので引用します。 何もわからないし質問もできない 何もわからないし何が分からないか分からないから質問できない (無知の知) 何もわからないけど、わからないことを質問することはできる。ただ、議論の流れをぶったぎってしまう 何もわからないけど、適切な質問をすることはできる。ただ、議論の流れをぶったぎってしまう 何もわからないけど、議論の流れをぶったぎらずに、適切な質問をすること…

Prefer ISO 8601

…取りますか? 著者 ujihisa はこれを素直に 2003年1月2日と読み取りますが、人によっては 2001 年 2 月 3 日 2003 年 2 月 1 日 平成元年 2 月 3 日 令和元年 2 月 3 日 などと読み取ることもあるでしょう。日本では年/月/日が普及していますが、英語などから順序を無視した機械的な翻訳の日付でまれによくある「1月2日 2003年」みたいな表記を見すぎてしまった人は月/日/年みたいに読んでしまうかもしれません。 ところで私はカナダに住んでい…

LaunchDarkly による Feature Management

…避けたい 同僚の @ujihisa 謹製の Ruby 用 Darklaunch モジュール*3は、それがさらに依存する社内ライブラリ gem や、それが必要とするインフラなどの理由から利用しない*4 これらを踏まえていくつかの Feature Toggles を実現するプロダクトを検討しましたが、将来的にユーザーの属性に応じた細かな Feature Management を行いたいという要求を満たすことも後押しし、LaunchDarkly を採用することとなりました。 Lau…

障害対応とポストモーテム

…れる独自の仕組みを@ujihisaが導入しました。(詳細はRailsDM 2019 での発表 "雑" / Almost Microservices をご覧ください。動画 / Slide )また、それとは別に@ravelll 採用の Launch Darkly という外部サービスを利用した仕組みも存在します。 これらによって、アプリケーション単位ではなく、機能のレベルでリリース(公開・非公開)をコントロールすることができています。 前者に関しては Product の責任者である…

VimConf 2019 の運営スタッフと登壇とスポンサーをした話

…、なんとmopp, ujihisa, hezbyの3人のエンジニアがQuipperから登壇することが出来ました。 私は東京オフィスか都内の自宅で働いていますが、ujihisaさんはカナダのバンクーバーからリモートワーク 1 、hezbyさんはQuipper Indonesiaで働いているので普段はジャカルタにいます。 なので、二人はVimConf 2019のためだけに来日してくれました。 今年はノベルティとして、チラシを2枚配布しました。 1枚はQuipperとスタディサプリ…

社内の実践的ruby勉強会にて圧倒的学びがあったお話

…た。 先日、社内で@ujihisaさん主催の「実践的 Ruby 勉強会」が開催されました。 私はこれまで Rails アプリのプロジェクトはいくつか経験してきましたが、Ruby それ自体の深いところに触れたことはありませんでした。そんな中、この勉強会を通して Ruby はもちろん、”エンジニアとして大切なこと”も教わることができたので、今回はそのお話について書きたいと思います。 実践的 Ruby 勉強会とは? 引用:https://vote.fountstudio.com/ …

Quipper 社内留学体験記

こんにちは、@masaki925 です。 今年の4月からQuipper のデータプロダクト開発グループ(以下、データチーム) にジョインしており、今回が初投稿となります。 今回は、とあるプロジェクトにおいて私が体験した約1ヶ月間の社内留学についてご紹介します。 なお、入社1ヶ月後にすぐ社内留学というややアクロバティックな動きにより、入社の感想と社内留学の感想がやや混ざっていることは予めご了承ください。

英語でのプレゼンをやりきるたった1つのコツ

…e who take on such challenges. そして発表の最後にはこう言いました。 Today, It has been a year since I became SRE. As an SRE, Im happy to be able to talk here. Thank you. Quipper では大きな挑戦をしてみたい仲間を募集しています。 *1:当日発表直前での撮影 *2:自撮りを忘れるな、と同僚の ujihisa に言われたのでちゃんと撮りました

Data restructuring team の紹介

…ルプロジェクトに @ujihisa と私がジョインしチームになりました。 学習データとはユーザの学習状況を表す各種データのことで、講義の視聴時間や問題の回答などを元に作成してます。ここで蓄積されたデータは、生徒の画面や保護者の画面、先生の画面から社内の営業ツールなど様々な場所で利用されています。 保護者向け学習履歴画面 現在のシステムは各画面毎に学習データを扱うロジック・データが分散しており、同じ項目を表示しているはずが元になるデータや実装により異なる結果になることがあります…

Quipper Product Blogを再開して1年が経ちました

…aigi 2019でujihisaが登壇した裏話 - スタディサプリ Product Team Blog 22位 Quipper の Monorepo な Web アプリ開発における Git 戦略 - スタディサプリ Product Team Blog 23位 React Nativeハイブリッドアプリへの挑戦 ~ Part3: 振り返り/今後 ~ - スタディサプリ Product Team Blog 24位 Jasper。プロダクトマネージャーがボトルネックとならないため…

RubyKaigi 2019でujihisaが登壇した裏話

ujihisaです。先日2019年4月に日本の福岡で開催されたRubyKaigi 2019にて、ujihisaが "Play with local vars"というタイトルで発表してきました。この発表は、40分間英語でひたすらRubyのローカル変数についてだけ語るというものです。 発表スライドは公開済みで、こちらのgistですが、レンダリングにはshowtime.vimを要求しますし、実際にはデモがメインですので、RubyKaigi公式の動画を参照するのが便利です。 www.…

ゴリラ.vim#2のイベントスタッフを経験して

…が出ていました。 @ujihisaさん @chaspyさん @mtsmfmさん イベントスタッフだとリハーサルという名目で事前に当日のスライドを見られる、という幸運が訪れました。 ちょっとした予習つきでもう一度見たりすることができる 発表者の側からの事情、についてより詳しく見聞きしてプレゼンを見ることができる 知識の吸収の面でいくと、前者も、たいへん嬉しいのですが、後者も、実は面白い話だったりします。 私は結構文脈もとらえずに、心の中で、「だいたいの人が考える◯◯︎の順番は、…

Quipper の Monorepo な Web アプリ開発における Git 戦略

…能なら頻度は上げたいものです。 分断されたモノリスを monorepo に寄せたことによって普通のモノリスとしてテストしやすくなっているので、アプリケーションを跨いだテストを足していって周期をもっと早めるのが今後の課題です。 デプロイせずとも任意のタイミングでリリースする Darklaunch について Rails DM 2019 で @ujihisa が発表しています https://speakerdeck.com/ujihisa/almost-microservices↩

Rails Developers Meetup 2019 に @banyan @mtsmfm @ujihisa が登壇します && ランチスポンサーします

… @mtsmfm @ujihisa が登壇します。発表予定の内容については https://railsdm.github.io/ のタイムテーブルをご覧ください。 キーワード: webpack, webpacker, Rails, CI, unstable tests, Microservices, feature toggles, canary release, circuit breaker これらのキーワードにピンと来た方は、ぜひ発表をご覧ください! また、今回 Day…

How did I catch up at Quipper

… 先日の記事 で @ujihisa さんが「僕は Vim 暦 20 年くらいで、まだ初心者です。」と言っていたので、 まだまだ先は果てしないなぁと思います。 どんなプロジェクトだったか 参加したプロジェクトは既存のウェブサイトをフルリニューアルするプロジェクトでした。 規模が大きいうえにリニューアルで、相対的に新しい技術(The App Shell Model, The PRPL Pattern等) が数多く導入されていました。 後の運用に耐えうる土台づくりをしっかりしなけれ…

Vim初心者に贈る、Vimの各種モードを完全に理解するとっておきの方法

…Quipper社の ujihisa さんが登壇しVimの技術発表を行いました。本記事ではその発表の解説と、その裏話をめいっぱい記します。 発表タイトルは "Modes" という一単語のみで、公式サイトに載っているtalk abstractによると以下のようなものです。 Abstract Discover what is happening internally when you switch modes, such as insert mode, normal mode, a…

Working Out Loud 大声作業(しなさい)、チームメンバー同士でのトレーニング文化の醸成

…き ある夜に同僚の@ujihisaと近場ないし遠方のEngineering ManagerやVPofEの皆さんと話す機会があり、その折にふと筆者がこぼしたのが 「開発などの日常の業務において自分がやっている以下の思考様式が大変便利なので、この考え方を最近入社したメンバーにもインストールしたいんですよねぇ」 という話。その"思考様式"とは: 作業が途中であってもチームメンバーの目の触れる場所にガンガンアウトプットする Slackなどのチャットツールで実況中継しながら作業したり …