Blog

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…

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

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

Meet UB Tech #7「エンジニア組織を強くする方法」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #7 のテーマは「エンジニアのキャリアと組織」。B2B SaaS事業 執行役員CTOであり、2021年9月よりUB Datatech 代表取締役(CEO)に就任した林…

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…

「CTOとして経営参画すること」と、「エンジニアがCEOになること」の違い

ユーザベースのPodcast「Meet UB Tech」では、SPEEDAやNewsPicksなどのサービスを開発するエンジニアチームのカルチャーをゆるっと配信しています。 本記事ではMeet UB Tech #6 「エンジニアのキャリアと組織」から、要点をピックアップしてお届けします。 …

Meet UB Tech #6 「エンジニアのキャリアと組織」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #6 のテーマは「エンジニアのキャリアと組織」。B2B SaaS事業 執行役員CTOであり、2021年9月よりUB Datatech 代表取締役(CEO)に就任した林…

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の「仕様や要件が複雑な様々なモジュール」について具体例をもとに紹介します。 不定期におきるリニューアル 動画配信システムとの連携 課金周り 多種多様…

Meet UB Tech #5 「寿司オフ会を開催しました!/ withコロナ下のコミュニケーション施策」

こんにちは、Tech Brandingの山田です。 ユーザベースのエンジニアカルチャーを伝えるPodcast、Meet UB Techもついに5回目を迎えました!最初は手探りで進めていましたが、今では社内外からも「聞いてます」の声が少しずつ聞こえてきて嬉しい限りです。 さて…

ElixirでTDDに挑戦!!!

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

Meet UB Tech #4 「a11y(アクセシビリティ)とSaaSとNewsPicks」を公開しました

こんにちは、Tech Brandingの山田です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #4 のテーマは「a11y(アクセシビリティ)とSaaSとNewsPicks」。B2B SaaS事業とNewsPicks事業の垣根を超えて、アクセシビリティに興味…

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

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

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

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

Meet UB Tech #3 「NewsPicksがなぜServer-side Kotlinを採用したのか」

こんにちは!Tech Brandingの山田です。ついこの間まで暑いと思っていたのに、急に寒くなってきて思わず冬服を引っ張り出してきました。 さてユーザベースのエンジニアカルチャーを伝えるPodcast「Meet UB Tech」の #3 、「NewsPicksがなぜServer-side Kotli…

KotlinではじめるBDD

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

Meet UB Tech #2 「レンタル移籍ってなに?」を公開しました

こんにちは!Tech Branding担当の山田です。 ユーザベースのエンジニアカルチャーを伝えるPodcast「Meet UB Tech」の #2 を公開しました。テーマは「レンタル移籍ってなに?」です。 「レンタル移籍」は、SPEEDA/FORCAS/INITIALなどのSaaSを開発しているプロ…

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

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

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

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

ユーザベースのエンジニアカルチャーを伝えるPodcast、「Meet UB Tech」を開始します!

こんにちは!ユーザベースでTech Brandingを担当している山田です。 ユーザベースではSPEEDAやNewsPicks、FORCAS、INITIALといったプロダクトを開発していますが、それを支えるエンジニアカルチャーを紹介する新たな取り組みとして、Podcastをスタートします…

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のプロダクト開発の雰囲気や新規サービスでやって良かったことや次回への反省点など…

iOSアプリのログが正しく送信されていることを担保する

NewsPicks iOSアプリエンジニアの金子です。 NewsPicksアプリはニュース記事やコメントの投稿・閲覧といった基本的な機能に加えて、動画コンテンツや広告の表示、有料会員機能、法人向け機能など、様々な機能を持った規模の大きなアプリです。 このため社内…

システムの複雑さはどこから来るのか – Out of the tar pitを読む

Uzabase Saas Product Divisionフェローの矢野です。 この記事は、Rich Hickey(プログラミング言語Clojure作者)のプレゼンテーションSimple Made Easyへと繋がっていく、Ben MoseleyとPeter Marksによる「Out of the tar pit」というシステム設計について…

Svelteでいきましょう!

こんにちは。 SaaS Product チームの板倉です。 SaaS Productチームでは開発運用しているサービスのマイクロサービス/マイクロフロントエンド化を進めています。 マイクロフロントエンドを実現する技術として採用しているフレームワークはAngular(TS, Dart)…

新卒エンジニアが 『リーダブルコード』 を読んで感じたこと

初めまして。2020年4月NewsPicksに新卒エンジニアとして入社した崔(チェ)です。 実は私は、大学では語学を専攻し大学院から情報系に進学したもので、入社当時コーディング歴2年という浅い経験しかありませんでした。 そんな中、むしろ変な癖のついてない今…

WebComponentsを使ってみよう(その2)

こんにちは。SaaS Product Divisionのとみたです。 WebComponentsを使ってみよう(その1)の続きです。 今回は、Reactアプリケーションをカスタムエレメントとし、さらに別のフレームワークから使う、といったマイクロフロントエンドをやっていく上で実践的な…

Node.js の CPU プロファイリングでボトルネックを特定する

こんにちは。NewsPicksでソフトウェアエンジニアをしている森田です。 今回は業務の中で実際におこなった Node.js の CPU プロファイリングについてご紹介します。 なぜプロファイリングをおこなったのか 現在私が運用・開発しているWebサービスの Webフロン…

全員野球からPagerDutyまで。NewsPicksのオンコール体制はどう進化してきたか。

こんにちは!NewsPicksエンジニアの森川です。今回はNewsPicksのオンコール(=障害対応)体制の変遷と試行錯誤をご紹介したいと思います。 オンコール1.0 ~ 全員野球時代 ~ NewsPicksにはエンジニア全員が入るslackチャンネルがあり、ここで周知事項の共有や雑…

Jestでテスト駆動開発(TDD)を実践してみよう

こんにちは!SPEEDA開発の岩見です。普段は業務でKotlinやClojureなどのJVM言語によく触れています。 今回TypeScriptを使ってテスト駆動開発(以下TDD)を実践する機会があり、良い勉強になったなと感じたので記事を書くことにしました。この記事では、TypeS…

NewsPicks AndroidアプリにPicture in Picture機能を実装した話

こんにちは。 NewsPicksエンジニアのmarshallStonesです。 NewsPicksではiOS/Androidアプリケーションを開発するチームに所属しています。 レビューやお問い合わせなどからユーザーの皆様から導入を希望されておりましたPicture in Pictureを Androidアプリ…

Spring におけるエンドポイントの列挙と IntelliJ IDEA の呼び出し階層による影響範囲調査

こんにちは、 NewsPicks でソフトウェアエンジニアをしているガニエです。 2019年に NewsPicks に新卒入社してから現在に至るまで、基本的には toC サービスである NewsPicks の上に顧客組織内に閉じたコミュニティを作って NewsPicks をコミュニケーション…

Amazon SQSのロングポーリング設定でコストを99%削減した話

こんにちは。 NewsPicksエンジニアの美濃部です。 NewsPicksではAWSをインフラ基盤として利用しているのですが、この記事では実際に行ったSQSのコスト削減の話をしたいと思います。 結論から話すとタイトルにもありますが「SQSでメッセージを受信する時には…

Uzabase Tech ポータルへ リニューアルのお知らせ

みなさん、こんにちは。ユーザベースでTech推進をしております西脇です。 本日、Tech blog は Uzabase Tech としてユーザベースの技術情報を発信するポータルにリニューアルしました。 このポータルでは、ユーザベースのエンジニアやデザイナー、クリエイタ…

Vagrant で IE11 の Selenium Grid Node を作る

こんにちは。SaaS Product Team の old_horizon です。 Docker の登場により、Selenium によるクロスブラウザでの E2E テストが簡単になりました。 Linux で動作する主要ブラウザについては、Selenium 公式の Docker Hub 等から Docker イメージを取得するだ…

GoでBigQueryに貯めたIstioのアクセスログを分析するツールをつくる

こんにちは。SaaS Product Team SREの八代です。 はじめに 弊社が開発しているSPEEDAでは、KubernetesとIstioを利用してサービスメッシュ基盤を構築しています。オンプレミス上に構築したK8s、GKE、Google Anthosなど10個以上のK8sクラスタを管理しており、…

Elasticsearchの中国語Analyzer

こんにちは!SaaS Product Teamの成です。 出身は中国・上海です。学生のときからは国語が苦手でテストもよく落ちましたが、一応中国語は分かります。 最近Product開発で中国語文章の全文検索について調べたことがありましたので、ここでElasticsearchの中国…

億件オーダーのデータ移行ツールの検証の際に、確率計算とサンプリングを用いて効率的にテストをした話

こんにちは。 NewsPicksエンジニアの鶴房です。 2020年1月に入社して、既に1年が経ちました! 今回は入社して最初に任せていただいた案件で、億件オーダーのデータ移行ツールの検証の際に、サンプリングを用いて効率的にテストをした話をさせてもらいます。 …

NewsPicksにCTOとして入社して1年でDX Criteriaを大幅改善した話

こんにちは。このブログでは初めまして。2020年の2月にNewsPicksに入社した高山です。 今回は僕がNewsPicksのCTOになってからの1年でやったお仕事について書いていきます。 CTO最初のミッション NewsPicksは2013年に誕生し、5年ほどの壮大な創業期の間にたく…

Page top