こんにちは。ソーシャル経済メディア「NewsPicks」Media Infrastructure Unitの韓です。
年末にNewsPicksとSaaS Product Team合同で『ユーザベースの技術文化大公開!Engineer Meetup 〜クリスマスLT祭り!〜』というイベントを開催しました。
今回はそのイベントレポートについて書いていきます。
イベントについて
UzabaseではUB Techという技術イベントを定期的に開催しています。
社内での技術的取り組みを発信する機会を作ることと社外の方々にUzabaseのエンジニア組織について知っていただく機会を作ることを目的に毎回様々な技術テーマでLTや他社との合同イベントなどを実施しています。
これまでUB TechのイベントはNewsPicksとSaaSのエンジニア組織それぞれ別々にイベントを実施していたのですが、今回はUzabaseの技術文化を外部の方々に公開するという目的でNewsPicksプロダクトチームとSaaSプロダクトチーム合同でLT大会を開催しました。 uzabase-tech.connpass.com
タイムテーブル
LT当日は以下のタイムテーブルで進行しました。
当日の様子
▼1人目:NewsPicksプロダクトチームの西さん
「開発フェーズに合わせてリリースフローを変えた話」
NewsPicksでは主にKotlinを使ったWebフロント向けのAPI開発をしている西さんが、GitHub Flowを活用してリリースフローを改善したプロセスについて発表してくれました。
プロダクトの成長に伴い、開発フェーズが1チームでの開発から複数のチームでの開発に変化していく中で発生したリリースフローの複雑化をGitHub Flowを活用することで改善しリリース担当者の負荷を下げ、開発者体験を向上させた話をしてくれました。
▼2人目:NewsPicksプロダクトチームの三村さん
「iOSエンジニアとしての4ヶ月 〜ブランクからの最新技術キャッチアップ〜」 NewsPicksではモバイルアプリエンジニアとして活躍している三村さんが、TCAを学んで課題解決に挑んだ話をしてくれました。
複雑な画面でReducerが肥大化して、メモリを消費し過ぎてしまいE2Eやデバックビルドの動作が不安定になってしまっていた課題をTCAの値型と参照型を適切にメモリ管理することで解決した話をしれくてました。
▼3人目:SaaSプロダクトチームの朴さん
「SaaS Product TeamのCI/CDの進化」.
SaaSチームでは主にエキスパートネットワークの中のFLASH Opinionや NewsPicks Expert、SPEEDA Teamsなどの立ち上げを行い、現在はNewsPicks Stage.の開発を担当している朴さんがSaaS Product TeamのCI/CDの進化について話してくれました。
SaaSプロダクトチームのCI/CD改善の過程で出てきたパイプラインの実行時間の問題をskaffoldの扱い方やArgo Rolloutsの導入などにより解決していった過程について詳しく話してくれました。
▼4人目:NewsPicksプロダクトチームの吉川さん
「デザインコンポーネントの命名規則にBEMを取り入れる」 NewsPicksではアプリデザインや、デザインシステム策定などをしている担当している吉川さんがデザインコンポーネントの命名規則にBEMを取り入れた話をしてくれました。
デザインコンポーネントの命名規則にBEM(Block-Element-Modifier)を取り入れた事例について話してくれました。
命名規則が構造化されることでコンポーネントの可読性や保守性が上がり、開発側のコードとの親和性も高くなりそうだなと感じました。とても勉強になるお話でした。
▼5人目:SaaSプロダクトチームの福田さん
「トランザクティブメモリーを高める技術」 SaaSチームでは主にFORCASやSPEEDAの開発に従事している福田さんが、SaaSチームのトランザクティブ・メモリー・システム(組織内の知の共有)を向上させた話をしてくれました。
TMSを強化する上で重要な要素であるフェイストゥーフェイスのコミュニケーション・多いつながり・ 心理的安全性をSaaSチーム組織の特性に合わせて適用していった過程について話をしてくれました。
▼6人目:NewsPicksプロダクトチームの海老澤さん
「CMPのEC2 -> ECS Fargate 移行」 NewsPicksでは主にSREエンジニアとして基盤周りの改善等行っている海老澤さんが、NewsPicksの広告システム基盤をEC2からECS Fargateに移行した話をしてくれました。
広告基盤というビジネスインパクトの大きいプロダクトを安全に移行していく過程やCI/CDの改善、移行後のコスト削減効果などについて詳しく説明してくれました。
▼7人目:SaaSプロダクトチームの野中さん
「5分でまとめるプロンプトエンジニアリング」 SaaSチームではデータサイエンティストとして社内の自然言語処理システムの開発運用をされている野中さんが、社内の360度フィードバックのデータを分析したグラフ化した話をしてくれました。
NetworkXとD3.jsを活用して社内の360度フィードバックのデータを可視化することで、組織内のネットワークの繋がりやコミュニケーションの流れを分析する工程について話してくれました。
グラフのエッジにフィードバックデータを紐付けたり、ノードにラベルを付けて分析をするなど妄想の広がる楽しいお話でした。
▼7人目:NewsPicksプロダクトチームの西薗さん
「自動テストの安定運用に苦労している話」 NewsPicksではQAエンジニアとして、テスト設計や自動テストなどに取り組んでいる西園さんが、自動テストの安定運用をするためにChrome for Testingを自動テストに組み込んだ話をしてくれました。
Chrome for Testingを自動テストに組み込む際のTipsや、実際に組み込んでみて嬉しかったことなどの実例を詳しく説明してくれました。
Best LT賞
Best LT賞はNewsPicksプロダクトチームの西薗さんとSaaSプロダクトチームの福田さんでした!
組織の特性に合わせてTMSを向上させていった話はNewsPicksのプロダクトチームとってもすごく学びの多い話でした!
Chrome for Testingを自動テストに組み込んでいった話も具体的に自動テストを安定させるTipsが大変多くとても勉強になりました!
ドリンクスポンサー
今回のイベントではSUNSET CELLARSさんにドリンクスポンサーになっていただきました!
3種類のワインを用意していただいたのですが、どれもとても飲みやすくあっという間になくなってしまいました😭
美味しかったですありがとうございました!
オンラインでも購入できるようなので、是非気になる方はご購入を検討してみてください!
SUNSET CELLARS sunsetcellars.jp
おわりに
今回初めてNewsPicksプロダクトチームとSaaSプロダクトチーム合同でイベントを実施しましたが、普段は見えないお互いの開発組織や技術文化について知るとても良い機会になりました。
また外部の方々にもユーザベースの技術文化を知っていただける大変良い機会になったのではないかと思います。
今後もUB Techなどのイベントを定期的に開催していきますので、興味を持っていただけましたらぜひ参加をお願いいたします。
Uzabaseでは以下のポジションでエンジニアを募集中です!カジュアルにお話ししましょう!
NewsPicks アプリケーションエンジニア hrmos.co
SaaS事業ソフトウェアエンジニア www.wantedly.com
SaaS事業SRE www.wantedly.com
SaaS事業データサイエンティスト www.wantedly.com