AndroidのSearchViewをMVVMとBindingAdapterで動的にカスタマイズした話

こんにちは。NewsPicks Androidアプリエンジニアの sefwgweo です。 今回はタイトル通りAndroidにおけるSearchViewのUIをMVVMでCustomした話をします。 なお、SearchViewの検索機能に関しては一切触れておりませんので予めご了承ください。 要件 ユーザ属性…

混沌と化したコンポーネントとGraphQLクエリの管理にFragment Colocactionを導入したら一気に解消に向かった話

はじめまして、NewsPicks Web Product Unitのじゆんきち(@junkisai)です。 弊チームでは、ここ1年間くらいWeb 版のNewsPicksを新しい基盤に置き換えるプロジェクト(以降、リアーキプロジェクト)を進めています。 新 Web 基盤のフロントエンドはReact (Next…

イベントレポート「エクストリームプログラミングで見える開発風景 - TechBase vol.1」を開催しました!

こんにちは。ユーザベース TechBrandingチームです。 2022年6月24日(金)にオンラインイベントイベント「エクストリームプログラミングで見える開発風景 - TechBase vol.1」を開催しました。ゲストに、『エクストリームプログラミング』翻訳者の角 征典さん…

Elasticsearchの検索速度低下を調査してEBS Volumeタイプを変更したら高速化できました

こんにちは。NewsPicksでエンジニアをやっております崔(チェ)です。現在は Data / Algorithm チームで検索エンジンの開発を担当しております。この半年間、検索に関しては色々と改善しており、去年までと比較し大きく使いやすくなったのではないでしょうか…

ユーザベースを、誰もがエンジニアリングを楽しむテクノロジー・カンパニーへ

この記事は、ユーザベースグループのTechメンバーによるポッドキャスト「Meet UB Tech #15」(収録公開 2022年4月15日)の書き起こし記事です。 https://tech.uzabase.com/archive/category/Podcast 2022年4月15日、ユーザベースは最も自由なテックカンパニ…

Meet UB Tech #17「ユーザベースの、デザイナーの実態に迫る」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #17 のテーマは「ユーザベースの、デザイナーの実態に迫る」です。 今回は、ユーザベースB2B SaaS事業とニューズピックス、それぞれのデザイ…

SageMaker Serverless Inferenceも使っているNewsPicksの機械学習システムの構成を紹介します!

こんにちは。NewsPicksエンジニアの雲越です。 NewsPicksでは、記事のレコメンドを始めとする機械学習を組み込んだシステムがいくつか動いており、中にはAmazon SageMakerを使って実装されているものもあります。 今回はそんなシステムの一つである記事分類…

Hybrid NEGを利用してアプリケーションをGCLBで公開するためのTerraform Moduleを実装する

こんにちは、SaaS SREチームの八代です。 私たちのチームで開発しているSPEEDAというSaaSプロダクトは、オンプレミスとGCPで構成されたハイブリッドクラウド環境上に構築されており、私たちはGoogle Anthosや、Direct Connectなどのサービスを利用し、ハイブ…

残業と生産性とリアーキテクチャの効果

はじめに こんにちは、モバイルチームスクラムマスターのko2icです。 NewsPicksのモバイルチームでは、1スプリント1週間で、全てのタスクをストーリーポイントに落としています。たとえば、面接、社内イベントの準備、目標設定やそのフィードバックなどもポ…

Ms.Engineer 主催の寄附講座に登壇し、自身のキャリアと NewsPicks という職場について振り返ってみました

はじめに こんにちは あるいは こんばんは。 NewsPicks の Product Division Web Product Unit のイイダユカコ( @becyn )です。 この度、大変僭越ながらMs.Engineer 様主催の受講生の方々を対象とした寄附講座に参加させていただきました。 株式会社サイバ…

ニューズピックスの一人目QAが一年目をふりかえる

ニューズピックスの西薗(にしぞの)です。一人目のQAエンジニアとして入社したのが去年の6月なので、そろそろ一年です。かれこれ5年ほどはQAエンジニアとして働いていたものの、「一人目QA」も「自社サービスのQA」も「組織を作る」も全て初めてのことで、…

ニューズピックスでのChatOpsによるリリース作業

ニューズピックス SREユニットリーダーの武藤です。私はここ数年は開発環境を近代化するために働いているのですが、最近では新しいメンバーから技術スタックについて「モダンですね」と言っていただけることが増えてきました。技術スタックの更新は最近ニュ…

1人で自由に開発する『1人プロジェクト』やってみた。レポート #3

こんにちは。Product Teamでデータサイエンティストとして働いてるGaoです。 データサイエンティスト含め、Product Teamは普段チーム開発を行っており、常時ペアプロをしているのですが、1ヶ月間チームから離れて自由に開発をすることができる「1人プロジェ…

短い期間で成果を出すための失敗と学び

はじめに こんにちは。Product Team の竹原です。SPEEDA の「セグメント比較」機能に関する開発を担当しています。 私が所属している開発チームでは、2022年1月〜3月の期間で新しい機能「セグメント比較編集」をリリースしました。 この機能の開発のため、フ…

Meet UB Tech #16「Kyash VPoE こにふぁーさんに聞く、技術組織のマネジメントとエンジニアキャリア」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #16 のテーマは「Kyash VPoE こにふぁーさんに聞く、技術組織のマネジメントとエンジニアキャリア」です。 今回で16回目を迎えたMeet UB Tec…

モバイル開発での技術的負債の解消方法

はじめに こんにちは、@ko2icです。今回はAndroidのアーキテクトとして書きます。 ニューズピックスのモバイル開発は古い技術で古いアーキテクチャをいまだに使っていると思っていませんか?たとえば、Androidは昔のブログでMVPを利用しているとの記述が...…

Elasticsearch の reindex をするために試行錯誤して分かったこと

こんにちは。NewsPicksでエンジニアやっております崔(チェ)です。現在は Data / Algorithm チームで検索エンジン開発を担当しております。弊社は、検索エンジンとして Elasticsearch を Amazon EC2 に乗せて構築しておりますが、メンテナンスに消極的だっ…

Meet UB Tech #15「ユーザベースを、誰もがエンジニアリングを楽しむテクノロジー・カンパニーへ」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #15 のテーマは「ユーザベースを、誰もがエンジニアリングを楽しむテクノロジー・カンパニーへ」です。 ユーザベースは、本日2022年4月15日…

チームビルディングをふりかえる

こんにちは。 Product Team の相川です。 現在はProduct TeamでINITIALというプロダクトの開発をしております。 昨年の5月頃から、チーム作りに関わる機会があったので、チームの立ち上げからどんなことをやっていたのか、ふりかえりと共にお伝えしていきた…

Meet UB Tech #14「ユーザベースの、フェローの実態に迫る」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #14 のテーマは「ユーザベースの、フェローの実態に迫る」です。 ユーザベースB2B SaaS事業とニューズピックス、それぞれのフェローの皆さん…

「面白い」から人が集まる。1人の思いから始まったNewsPicksアプリのリアーキについて聞いてみた

ユーザベースの開発組織では、The 7 Valuesの1つである「自由主義で行こう」のもと、エンジニアメンバーが自分の意志でリアーキプロジェクトを推進できる環境があります。 技術の進歩や開発組織の拡大とともに、既存のシステムアーキテクチャがフィットしな…

学生認証に海外サービスのSheerIDを導入してみた

はじめに こんにちは、NewsPicksの小林です! 今回は、NewsPicks サービスのアプリに学割プランを追加するため、内製の学生認証を廃止して、外部認証サービスのSheerIDを導入したので、ご紹介したいと思います。 SheerIDとは SheerIDは学生や教師、医療関係…

Meet UB Tech #13「ユーザベースの、データサイエンティストの実態に迫る」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #13 のテーマは「ユーザベースの、データサイエンティストの実態に迫る」です。 ユーザベースB2B SaaS事業とニューズピックス、それぞれのデ…

Selenium Grid 4 の新機能 Dynamic Grid を Kubernetes に構築する

こんにちは。ユーザベース Product Team の old_horizon です。 私達の開発チームでは、E2E テストの実行環境として Zalenium を主に利用しています。 しかし 2020 年 3 月の最終リリースをもって開発が終了しており、将来的にリプレースを検討する必要があ…

Meet UB Tech #12「ニューズピックス フェローの高山さん、Coursera(コーセラ)のオンライン修士2年目が終わった件」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #12 のテーマは「ニューズピックス フェローの高山さん、Coursera(コーセラ)のオンライン修士2年目が終わった件」です。 現在はニューズピッ…

【イベントレポート】データで振り返るエンジニア組織の生産性向上|【NewsPicks×PR TIMES】2021年のエンジニア組織のパフォーマンスを振り返ってみた

2022年2月4日、ファインディ株式会社が主催するイベント「【NewsPicks×PR TIMES】2021年のエンジニア組織のパフォーマンスを振り返ってみた」がオンラインにて開催されました。 株式会社PR TIMESの金子達哉さんとニューズピックスの高山温が登壇した本セッシ…

Meet UB Tech #11「開発者とSREでNewsPicksの可観測性を考える」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #11 のテーマは「開発者とSREでNewsPicksの可観測性を考える」です。 システムの可観測性を意味する『Observability』。 そのObservability…

自己組織化を少しだけわかりやすく説明してみる

こんにちは。 Product Team の相川です。 現在はProduct TeamでINITIALというプロダクトの開発をしております。 何回かに渡ってアジャイルについてブログを発信していこうと思い、ブログを書き始めました。 前回までユーザーストーリーについて書かせてもら…

NewsPicks の開発者として、Observability Conference 2022 by CloudNative Days で登壇しました

2022年3月11日に開催された「Observability Conference 2022 by CloudNative Days」に『NewsPicks のプロダクト開発エンジニアが実践する スキルとしての SRE』というタイトルで登壇しました。この記事はその内容についてポイントを絞って紹介しています。

とある中規模開発プロジェクトの記録

こんにちは。NewsPicksのkitoです。 NewsPicksでは、JobPicksという「みんなでつくる仕事図鑑」をコンセプトにしたサービスを提供しています。様々な職種のロールモデルの実名でリアルな経験談を閲覧・投稿でき、就活、転職、副業の仕事選びに役立ちたいと思…

【D&I】ダイバーシティは良い製品をサステナブルに届ける戦略かつ手段──AlphaDrive CTO / NewsPicks 技術フェロー 赤澤剛

Uzabaseの多様なリーダーに光を当てる「Diversity Empowermentシリーズ」では、 社内外で迷っている人を「このスタイルならできるかも!」とそっとエンパワーします。 10+αの質問から、新たなリーダー像を探っていきます! 今回は、AlphaDrive/NewsPicks CT…

Product Teamのみんながペアプロで気をつけているN個のこと

はじめに こんにちは。Product Teamの中嶋です。 今回は、日々のペアプロでProduct Teamの皆さんが、普段どういったことを気をつけてペアプロをしているのかをご紹介したいと思います。 慣れてない側としてのコツ わからない時は、「わからない」を口に出す …

ストーリーを小さくすること大きくすること

こんにちは。 Product Team の相川です。 現在はProduct TeamでINITIALというプロダクトの開発をしております。 前回からアジャイルについてブログを発信していこうと思い、ブログを書き始めました。 前回はユーザーストーリーについて書かせてもらいました…

1人で自由に開発する『1人プロジェクト』やってみた。レポート #2

こんにちは。Product Teamの北原です。 Product Teamでは普段チームでペアプロ開発をしていますが、1ヶ月間チームから離れて自由に開発をすることができる「1人プロジェクト」という制度があります。 今回、1人プロジェクトに参加してみたのでその感想につい…

ペアプロは秒のフィードバックを回し続ける

はじめに こんにちは。Product Teamの中嶋です。 前回の記事では、Product Teamが普段どんなペアプロをしているのかを書かせていただきました。 今回はペアプロとXPの価値の一つである「フィードバック」について、自分なりに言語化していこうと思います。 …

【登壇情報】3/11 Observability Conference 2022「NewsPicks のプロダクト開発エンジニアが実践する スキルとしての SRE」

3/11(金) 15:05-15:45 Observability Conference 2022のTrack A「NewsPicks のプロダクト開発エンジニアが実践する スキルとしての SRE」にNewsPicks Web Product Unitチームの飯田 有佳子が登壇します。 NewsPicks のプロダクト開発エンジニアがスキルとし…

Fluent Bitを導入しました:ローカル実行・確認方法と、導入の過程でハマったこと

AlphaDrive、NewsPicks兼務でエンジニアしている大場です。 最近はNewsPicks Webの新基盤開発を行っています。 新基盤はNext.jsで開発していてAWSのFargateで構築しているのですが、このFargate上で取得したログをS3、New Relicに送るためにFluent Bitを導入…

NewsPicks トピックスと投稿機能

1. はじめに 2. トピックスとは 3. トピックスのリリースへ向けてチームで取り組んだこと 3-1. 週1でオンラインでランチしながら雑談をする会 3-2. 新しいコードは全てKotlinで 3-3. 改善案があれば柔軟にやり方を変えてみる 4. トピックス投稿機能 5. おわ…

【イベントレポート】技術的負債との付き合い方のススメ|「Qiita Engineer Summit 2021 Winter」

2021年12月17日、エンジニアとして活動している方を対象にしたオンライントークセッション「Qiita Engineer Summit 2021 Winter」が開催されました。 セッションテーマは「技術的負債との付き合い方のススメ」。エンジニアリングをしている中で議論として取…

【イベントレポート】NewsPicksと開発者体験、そしてJavaからKotlinへ|「Qiita Engineer Summit 2021 Winter」

2021年12月17日、エンジニアとして活動している方を対象にしたオンライントークセッション「Qiita Engineer Summit 2021 Winter」が開催されました。 セッションテーマ「NewsPicksと開発者体験、そしてJavaからKotlinへ」に、ニューズピックスの高山 温(現…

最近のProduct Teamのペアプロ×TDDの文化をご紹介します

はじめに はじめまして。Product Teamの中嶋です。今月からチームシャッフル*1でSPEEDAのR&D機能の開発を担当しています。 Product TeamではフルタイムでのペアプロとTDDを常に実践しています。 この話を社外でお話すると「どんな風にやっていくのかが想像つ…

1人で自由に開発する『1人プロジェクト』やってみた。レポート #1

こんにちは。 Product Team の相川です。 現在はProduct TeamでINITIALというプロダクトの開発をしております。 Product Teamではチーム開発を実施しておりますが、1ヶ月間だけプロジェクトから離れて1人で自由に開発をする「1人プロジェクト」が認められて…

Meet UB Tech #10「多様な技術を受け入れる仕組みとは 〜Rust導入に寄せて〜」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #10 のテーマは「多様な技術を受け入れる仕組みとは 〜Rust導入に寄せて〜」です。 ユーザベース B2B SaaS事業 執行役員CTO 兼 UB Datatech …

自己組織化の力(Product Team 2022年1Qキックオフ)

Product Teamの野口です。 ユーザベースのB2B SaaS事業を推進するProduct Teamでは、四半期に一度キックオフを行っています。 そんな一日の様子をレポートします。 Product Teamがどんなチームなのか、普段の仕事とはまたちょっと異なるキックオフの一日をお…

ユーザーストーリーのすすめ

こんにちは。 Product Team の相川です。 現在はProduct TeamでINITIALというプロダクトの開発をしております。 改めてのお話になりますが、Product TeamではXP(extreme programming)を軸にアジャイル開発を実践しています。 アジャイルのプラクティスについ…

reCAPTCHA v3をReact Hooksで実装する

こんにちは。 NewsPicks Web Product Unit の芥川(@aku11i)です。 NewsPicks の新Webフロントエンド基盤でNext.js・TypeScriptを使用した開発を行なっています。 今回、プロジェクトに reCAPTCHA (v3) を導入しました。 読み込みタイミングなどパフォーマ…

【登壇情報】2/4「2021年のエンジニア組織のパフォーマンスを振り返ってみた」にNewsPicks Fellowの高山が登壇します

2/4(金) 12:00~13:00 ファインディ株式会社主催の「【NewsPicks×PR TIMES】2021年のエンジニア組織のパフォーマンスを振り返ってみた」にNewsPicks Fellowの高山 温が登壇します。 イベントご案内▼ findy.connpass.com PR TIMESさんと、NewsPicksのFindy Te…

Meet UB Tech #9「ユーザベースのSREについて語る会 〜BtoB SaaS Business × NewsPicks 〜」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #9 のテーマは「ユーザベースのSREについて語る会 〜BtoB SaaS Business × NewsPicks 〜」です。 ユーザベース BtoB SaaS Business Product …

2022年における開発組織のパフォーマンス計測とNewsPicksの取り組みについて

NewsPicksの高山です。 2020年と2021年は「開発生産性」またはほぼ同義の「開発者体験」に注力した2年でした。特に2021年は、自分でも少しウザいぐらいに登壇やブログやインタビューでこの話をしていました。(後半からは「開発生産性」から派生してKotlinの…

Meet UB Tech #8「ユーザベースの技術ブランディングを考える」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #8 のテーマは「ユーザベースの技術ブランディングを考える」。Podcast番組「Meet UB Tech」の運営メンバーでもある、ユーザベース Communic…

Page top