Tech Blog

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

はじめに こんにちは、モバイルチームスクラムマスターの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月の期間で新しい機能「セグメント比較編集」をリリースしました。 この機能の開発のため、フ…

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

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

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

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

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

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

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

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

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

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

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

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

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の価値の一つである「フィードバック」について、自分なりに言語化していこうと思います。 …

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人プロジェクト」が認められて…

自己組織化の力(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) を導入しました。 読み込みタイミングなどパフォーマ…

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

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

FacebookからOAuthを停止されてわかった今時のセキュリティ

NewsPicksの高山です。 この記事はUzabase Advent Calendar 2021の23日目の記事です。昨日は我らが赤澤剛さんによるAWS Organizationの記事でした。 去る2021年10月12日に突然NewsPicksのサービスでFacebookログインやFacebookへの投稿ができなくなりました…

APM として New Relic を導入した話

はじめに こんにちは、NewsPicks の Web Frontend Unit でエンジニアをしています、イイダユカコ( @becyn )です。 本記事は、Uzabase Advent Calendar 2021 21日目の記事です。 前日は nikkie さんによる『 イベントレポート | Tech BASE Okinawaに行って…

AWS Organizationsで開発の安全性と生産性を同時に向上する

はじめに AWS Organizationsとは AlphaDriveのOrganization管理例 AWS Organizationsと組み合わせて導入したサービス AWS Organizations × AWS SSOで楽かつセキュアにアカウント管理 Security Hubでのセキュリティ設定状況を一元管理 AWS Resource Access Ma…

Next.js Update! 2021/11/24 に事例講演登壇者として参加しました!

はじめに こんにちは、NewsPicks の Web Frontend Unit でエンジニアをしています、イイダユカコ( @becyn )です。 本記事は、Uzabase Advent Calendar 2021 8日目の記事です。 7日目が NewsPicks UI デザイナー 吉川さんのアツい記事『「NewsPicksの時間は…

ネットワークの「ネ」も知らないで開発環境構築しようとしたらどハマりした

こんにちは。NewsPicksのアルゴリズム開発チームの崔(チェ)です。2020年4月新卒入社し、現在は検索エンジン周りの開発に携わっております。今回は、開発環境に必要なインフラを構築しようとしてどはまりしたお話をお伝えしようと思います。もし同じポイン…

NewsPicksアプリ開発における仕様や要件が複雑な様々なモジュールの一例

こんにちは。NewsPicks Androidアプリエンジニアの sefwgweo です。 今回は前回記載した以下のうち、5の「仕様や要件が複雑な様々なモジュール」について具体例をもとに紹介します。 不定期におきるリニューアル 動画配信システムとの連携 課金周り 多種多様…

ElixirでTDDに挑戦!!!

こんにちは、プロダクトチームのソーントンです。 社内の「1人プロジェクト」という取り組みで1ヶ月で社内ツールを作る機会があったので、初めての言語Elixirに初挑戦してみました。 その中でMoxを使ったTDDが楽しかったので、ご紹介します。 Elixirの単体テ…

未経験エンジニアの私がインターンからNewsPicksへの入社を決めた理由

はじめに NewsPicksの法人向けサービス開発チームの前表です。今回は、プログラミング未経験者だった私が、NewsPicksにエンジニアとして入社して半年間でやったことやキャッチアップするために工夫したことを振り返りつつ、未経験者ならではの視点からNewsPi…

NewsPicksアプリ開発におけるUIデザイン開発の具体例を紹介します

こんにちは。NewsPicks Androidアプリエンジニアの sefwgweo です。 突然ですが、皆様はニュースアプリにおけるアプリ開発ってどんなイメージをお持ちでしょうか。なぜこんな問いかけをするかというと、カジュアル面談や採用面談をしていると、わりとそこそ…

KotlinではじめるBDD

こんにちは。NewsPicksエンジニアの西山です。 9月22日に開催された「Server-Side Kotlin Study #2」に登壇させていただいたので、今回はこちらの内容に関して紹介させていただければと思います。発表資料はこちらです。 speakerdeck.com Server-Side Kotlin…

NewsPicksの一人目QAがこれから頑張る話

自己紹介 6月からNewsPicksのQAエンジニアとして入社した西薗(にしぞの)です。SIerでアプリケーション寄りのエンジニアを6年ほど経験した後、ベトナムのテストベンダーで2年弱、QAエンジニアをやっていました。得意、というか好きな領域はソフトウェアテス…

暗黙的フィードバックのための逐次行列分解ライブラリを公開しました

NewsPicksエンジニアの北内です。今回は、先日公開した協調フィルタリングのための行列分解ライブラリについて紹介します。 ニュースの推薦アルゴリズム 私が所属するアルゴリズムチームでは、アルゴリズムの力でNewsPicksのプロダクトやサービス全体を改善…

NewsPicksのサーバーサイド言語をJavaからKotlinに切り替えるために

NewsPicksでCTOをしている高山です。 NewsPicksではサーバーサイドの主要な開発言語としてJavaを利用してきましたが、今後Kotlinをメインにしていくことを目指して取り組みを始めました。 今回はその背景や取り組み内容を紹介します。 NewsPicksとKotlin 201…

プロダクト開発組織のチームビジョンを作ったらすごいパワーが生まれた話

NewsPicks のプロダクト開発組織のビジョンをつくったら、すごいパワーが生まれた話です。なぜチームビジョンを作ったのか・どう作ったのか・どんな効果があったのかを解説します。

フロントの動作確認用の環境をGithub Actionsで自動構築してみた

AlphaDrive、NewsPicks兼務でエンジニアしているスギウラ (saba-can00)です。 今回、Github Actionsを利用してコードをpush すると動作確認ができるコンテナが自動で立ち上がるように環境整備したので、その内容をまとめます。 背景 Webのリアーキテクチャプ…

iOSアプリにオファーコード機能を実装したときの話

こんにちは。NewsPicksエンジニアの takaaki.saito です。 所属しているGrowthチームでは、サービスのGrowth施策を技術面から支えるお仕事をしています。 今回はiOSアプリにオファーコード機能を実装したときのことを振り返り、実装を進める上で工夫したこと…

ファイルダウンロードを行う E2E テストを Selenium Grid / Zalenium で実施するための拡張を作る

こんにちは。ユーザベース Product Team の old_horizon です。 早速ですが明日 8/5 (木) 19:30 から、Qiita さんと合同で Qiita x Uzabase Tech Meetup #3 を開催します!ぜひ皆様ご参加ください。 今回は登壇するチームメンバーと日々取り組んでいる E2E …

デザイナー×フロントエンジニアで追求する最高の開発者体験 の講演について

AlphaDrive、NewsPicks兼務でエンジニアしている大場です。 フロントをメインで開発していますが、AWS CDKやServerless Frameworkを使って環境、リソース、CI/CD構築もしています。 また、最近ではGraphQLの導入のためAppSyncの検証と導入の推進もしています…

Amazon VPC内の独自サービスをPrivateLinkでプライベート接続する

こんにちは、NewsPicksエンジニアの美濃部です。 この記事ではAWSのPrivateLinkについての概要について説明していきます。PrivateLinkの知識が全くない方が理解をして頂く為の最初の入り口としてお役に立てればと思います。 PrivateLinkとは 公式ドキュメン…

JobPicks プロダクトにおける "HTML" との向き合い方について

こんにちは、JobPicks チームにてフロントエンドを担当しております、イイダです。 今回の記事では、Web Client の開発をしていく中で、私達が日頃どういった視点で "HTML" と向き合っているかという話をさせていただきます。 私達は、「表示データをできる…

NewsPicksにおけるレコメンドエンジニアのお仕事について

NewsPicksでCTOをしている高山です。最近の仕事のうちの大きな部分は、レコメンドエンジンを開発するチームのプロダクトマネージャー的な役割です。 今回はレコメンドエンジニアに興味のあるエンジニア向けにNewsPicksにおけるレコメンドエンジニアのお仕事…

NewsPicksの姉妹メディアを立ち上げ。そのプロダクト開発の裏側。

こんにちは、NewsPicksエンジニアの大森です。 今回はNewsPicksの姉妹メディア『JobPicks』を昨年立ち上げた際の裏側をエンジニア視点で振り返りたいと思います。NewsPicksのプロダクト開発の雰囲気や新規サービスでやって良かったことや次回への反省点など…

Page top