Subscribed unsubscribe Subscribe Subscribe

Hatena Developer Blog

はてな開発者ブログ

YAPC::Kansai 2017 OSAKA にはてなから4人のエンジニアが登壇します

こんにちは。はてなアプリケーションエンジニアの id:astj です。 Perl は5も6も好きです。
昨年12月の YAPC::Hokkaido を皮切りにリブートした YAPC::Japan の第2弾として、来る2017年3月4日に YAPC::Kansai 2017 OSAKA が開催されます。 Perlを軸としたITに関わる全ての人のためのカンファレンスであるこちらのカンファレンスに、はてなのエンジニアが4名(前夜祭を含めると5名!)登壇しますので以下にトークを紹介します!

既にチケットは売り切れてしまっていますが、参加されるみなさまと会場でお会いすることを楽しみにしています。
詳細はカンファレンス公式サイトをご覧下さい。

yapcjapan.org

また、カンファレンスの前日である3月3日にはYAPC::Kansai 2017 OSAKA 前夜祭 in大阪も開催されます。こちらも既にチケットは売り切れてしまっていますが、この前夜祭で開催される「突撃!隣の開発環境!」にも id:hitode909 id:Songmu id:papix の3名がはてなから参加します。前夜祭から参加される方はこちらもよろしくお願いします。

登壇内容

PerlのWebアプリケーションをデプロイする時に僕達が考えたこと

Webアプリケーションを作ったとき, それを実際にユーザーに届けるためには, そのWebアプリケーションを"デプロイ"して, ユーザーが利用可能な状態に設置しなければなりません.
最初は, 開発者自らがコマンドを入力する, 手動のデプロイで十分かもしれません. しかし, その作業を何度も繰り返す場合, アプリケーションの構成上少し手順が複雑な場合, あるいはデプロイを行うサーバーの台数が増えてくると, 手動でコマンドを入力するデプロイだと少し厳しくなってきます.

本トークでは, 主に趣味で開発するような小規模なPerl製Webアプリケーションのデプロイ戦略や, そのために有用な道具類の紹介をします.
具体的には, 以下のような内容が含まれる予定です.

  • デプロイとは?
  • 手動デプロイと自動デプロイ
  • デプロイの自動化ツールについて
  • Push型とPull型
  • Graceful Restart
  • バッチやワーカーのデプロイ
  • デプロイ対象をどのように管理するか?

「PerlでWebアプリケーションを作ってみたけど, どういう感じにデプロイすればいいんだろう?」とお悩みの方には, きっと興味深くお聴きいただけるのではないかと思います.

http://yapcjapan.org/2017kansai/talks.html#talk-29

また id:papix は 12:00-12:40 に C会場で行われる Perl入学式の座談会、"Perl入学式座談会 〜これまでの軌跡を振り返り, そして未来へ〜" にも登壇予定です!

Perl 6 で Web Application Framework をつくる

Web アプリケーションの開発をやっていると、誰もが一度は自分で Web Application Framework を作ってみたくなる物ではないでしょうか。実際の本番で導入するかは別にして、その言語におけるWebアプリケーション開発の仕組みを理解するためには重要な試みだと思っています。今回は、 Perl 6 でシンプルな Web Application Framework を作る話から、 Perl 6 での Web アプリケーション開発についてお話ししようと思います。

http://yapcjapan.org/2017kansai/talks.html#talk-15

はてなシステムの考古学

㈱はてなは今年で設立から16年目を迎えます。人力検索はてなに始まり、はてなブックマーク、はてなブログといったコンシューマ向けサービスから、サーバ管理・監視をおこなうMackerelや他社との協業サービスなど数多くのサービスを手広く展開しています。一部のサービスは昔のまま10年以上も愛されて今も元気に動いている一方、新しいサービスを開発するときには新たな設計を選ぶこともしています。
このトークでは、はてなにおけるウェブサービス開発の軌跡をPerlエンジニアの観点から辿り、生き残ったもの・捨てられたものからポスト現代のサービス開発を探ります。

http://yapcjapan.org/2017kansai/talks.html#talk-27

Webエンジニアに知ってほしいRDBアンチパターン

最初は良かれと思ってした設計が後々大きなボトルネックになることが度々あると思います。
そんなWebエンジニアが陥りやすい罠(アンチパターン)をご紹介し、未来の苦労を一つでも減らせる、そんなセッションをお送りします。
今回は

  • 忘れ去られたバックアップ
  • 使われない制約
  • ロックの功罪

に触れたいと思います。
どれも胸に刺さる内容ですのでご期待ください!!

http://yapcjapan.org/2017kansai/talks.html#talk-5

スポンサーもしています!

はてなは YAPC::Kansai のスポンサー企業でもあります。会場ではノベルティの配布も行いますのでぜひお楽しみに!

採用情報

はてなでは Perl に限らず Web サービス開発に興味のあるエンジニアを募集しています。

hatenacorp.jp

「バックログに入らないタスクを可視化する仕組み」という話を技術勉強会でしました

こんにちは。アプリケーションエンジニアの id:daiksy です。

はてなでは毎週木曜日に技術勉強会を開催しています。

参考: 寿司と勉強会とエンジニア - Hatena Developer Blog

先週、当番が回ってきたので、「バックログに入らないタスクを可視化する仕組み」というトークをしました。

speakerdeck.com

詳細はスライドを見ていただくとして、この発表で定義された「税」などの用語が、さっそく社内でのコミュニケーションでも使われだして、エンジニア同士で、ある概念について共通の認識を持つためにもこういった場は効果があるな、と実感しました。

はてなでは、アプリケーションを構築する技術だけではなく、プロジェクトマネジメントやチームビルディングの知見などもこうして技術勉強会で共有されています。

学生さん向け「はてな&Wantedly 合同説明会」1月25日(水)に東京で開催します!

はてなは1月25日(水)に、エンジニア志望の学生さん向けにWantedlyさんと合同で会社説明会を開催します。

今回は会社説明だけでなく、エンジニア社員が普段どういう風に働いているのか をより知っていただく機会にするため、飲食を交えながらエンジニア社員と密に話ができる場を設けます。 当日ははてなとWantedlyさんのエンジニア社員で6つのブースをつくり、参加者はそれぞれのブースに交代で回っていただきます。

普段はあまり接することのない社員とざっくばらんに話す機会を通して我々やWantedlyさんについて深く知ることが出来る機会となっています。2社に少しでも興味のあるエンジニア学生さんは是非お越しください!

イベント日程と会場

  • イベント名: はてな&Wantedly 合同説明会
  • 対象:エンジニア志望の学生さん(くわしい応募要件は申し込みページをご覧ください)
  • 日時: 1月25日(水) 19:00-21:00(18:45 受付開始 / 懇親会含む)
  • 参加費: 無料
  • 定員:30名(応募者多数の場合は抽選とさせていただきます)
  • 会場:ウォンテッドリー白金台オフィス
    • 所在地:東京都港区白金台5-12-7 MG白金台ビル4階

当日参加予定の社員紹介

はてな

  • 大坪 弘尚(id:motemen / @motemen)
    • 株式会社はてな 最高技術責任者。 2008年、アプリケーションエンジニアとして、はてなに新卒入社し、はてなの新サービス開発に数多く関わる。2016年に最高技術責任者に就任。現在ははてなのプラットフォームでアプリケーションエンジニアとして業務に携わりつつ、技術組織全般の統括を行っている。
    • https://www.wantedly.com/users/12432
  • 松木 雅幸(id:Songmu / @songmu)
    • 慶應義塾大学環境情報学部で中国語と機械翻訳の研究に注力。卒業後中国へ渡り、ITベンチャーの立ち上げに関わる。その後に帰国し、印刷系SIerでの業務、カヤックでソーシャルゲーム開発のリードエンジニアなどの経験を経て、2014年9月にはてなに入社。東京オフィスでチーフエンジニアを務めるとともに、Mackerelというサーバー監視SaaSのディレクターを担当している。最近はGo言語がお気に入りで「みんなのGo言語」という本を共著で執筆しました。
    • https://www.wantedly.com/users/11167
  • 和田 将義 (id:masawada / @masawada)
    • 株式会社はてな Webアプリケーションエンジニア。 電気通信大学情報理工学部在学中に、はてなサマーインターン2014に参加。後にアルバイトを経て2016年に新卒入社。現在は、はてなブログチームで新機能の提案および開発を行う。
    • https://www.wantedly.com/users/313960

Wantedly

  • 川崎 禎紀 (@kawasy)
    • Wantedly 取締役CTO。 2012年4月よりビジネスSNS「Wantedly」の開発・ 運営に参画。開発、マーケ、採用・育成など、プロ ダクトと組織づくりに幅広く携わる。
    • https://www.wantedly.com/users/10599
  • 坂部 広大 (@koudaiii)
    • Wantedly インフラエンジニア。 Wantedlyインフラチームでサービス基盤の改善とツール開発に従事。「Docker を Production で使い続ける理由」(Wantedly Engineer Blog)、「Docker と Kubernetes を使って変化に強いインフラを作る」(Wantedly Engineer Blog)など、変化に強いインフラ作りに日々取り組んでいる。
    • https://www.wantedly.com/users/310906
  • 森脇 健斗 (@Kento_Moriwaki)
    • Wantedly 新卒二年目エンジニア。 大阪大学工学部を卒業後、Wantedlyに新卒入社。フィードチームとインターナショナルチームとして、施策を考えるところから開発まで、幅広く取り組んでいる。フロントエンドが好きで、WantedlyにReactを導入した。
    • https://www.wantedly.com/users/1468880

タイムスケジュール

時間 内容
18:45-19:00 開場
19:00-19:20 2社による会社説明
19:20-20:20 エンジニア交流会 (参加者同士でグループを設定させていただき、10分毎に6つのブースを回ります)
20:20-21:00 懇親会(軽食をご用意してあります)

※ 内容を変更する可能性があります

お申し込み方法

以下のページからお申し込みください。

wantedly.connpass.com

はてなサマーインターン2016のレポートサイトを公開しました

2016年8月15日から9月9日まで開催された、「はてなサマーインターン2016」のレポートサイトを公開しました。

はてなサマーインターンシップは、はてなでのサービス開発や研究を体験できる、学生向けのインターンシッププログラムです。カリキュラム前半の講義でWebサービス開発の基礎知識を身に付け、カリキュラム後半で開発チームの一員となってはてなが提供する各サービスの開発に取り組みます。これらの体験を通して、Webサービス開発者に必要となる知識と経験を得て、技術者として大きく成長してもらうことを目的としています。

レポートサイトでは、インターン生が過ごした20日間の様子や、はてなのサービスでどんな機能を開発したのかを紹介しています。今年は機械学習の講義や、特別講義のAWSハンズオンなど新しい試みも多く取り入れました。これらの詳細をぜひレポートサイトでご覧になっていただければと思います。次回以降のインターンに興味がある学生の皆さんも、ぜひご覧ください!

インターンシップ以外に、はてなではアルバイトも募集しています。はてなインターンシップに準じた教育プログラムで学んでいただいた後、はてなの各サービスに開発者として携わっていただきます。はてなで技術的に成長したい方の応募をお待ちしております!

2016年はてなWebオペレーションエンジニアのアウトプット

こんにちは、シニアエンジニアの id:y_uuki です。 はてなのWebオペレーションエンジニア8名が、この1年で対外的にアウトプットした成果物をまとめて紹介します。

座談会

今週、Webオペレーションエンジニアの座談会記事を公開しました。技術ブログや技術発表では表現しきれない一人一人の考え方や思いが垣間見えるコンテンツになっていると思います。

Software Engineering

Keepalivedのシンタックスチェッカ「gokc」を作った - ゆううきブログ

gokcというGoで作られたKeepalivedの設定ファイルのシンタックスチェッカーです。社内で普通に導入しています。

インフラエンジニアがGo言語でオペレーションツールを書くことについて - Hatena Developer Blog

Go 1.6 Release Partyでの発表内容です。Go言語が好き。

自作Linuxコンテナの時代 - ゆううきブログ Droot Internals // Speaker Deck

自分の用途にあったLinuxコンテナエンジンを自作しようみたいな話です。第9回コンテナ型仮想化の情報交換会@福岡での発表がベースになっています。

CPAN Authorになった (Pgtoolsリリースした) - tom__bo’s Blog

はてなインターン2015で作ってもらっていたPostgresの運用ツールの話です。アルバイトの id:tom__bo くんの成果です。

swiro - A switching route tool for AWS

EC2におけるRoute Tableベースのフェイルオーバツールです。アルバイトの id:taku_k くんに作ってもらいました。

サーバモニタリング向け時系列データベースの探究 / The study of time-series database for server monitoring // Speaker Deck

IOTS2016で招待講演で、Mackerelのための時系列データベースを求めてたどり着いた一つの結論の話です。

Varnishによる一貫性を考慮した積極的キャッシュ戦略実験 - でこてっくろぐ ねお

ISUCON6の予選を題材に、汎用的な手法でなるべく多くのアクセスをVarnishにキャッシュさせようとした試みです。

sabaviz Chefviz creates the dot files of recipes dependency-graph for graphviz.

これもアルバイトの id:tom__bo くんの趣味の成果です。はじめてみるサービスの依存関係の把握が難しかったので、依存関係を可視化するツールを作ってみたとのことです。

System Engineering

雑な LVS/TUN の解説図 - mura日記 (halfrack) LVSでTunnel方式のL3DSRを実現した様子の図解です。入社したときに、これがわかっていないとLVSオペレーションしてはいけないみたいなことを言われて勉強した記憶があります。

Linuxサーバにログインしたらいつもやっているオペレーション - ゆううきブログ よくあるLinuxコマンド集にみえますが、実際に入社してから使い続けたものを厳選しています。

ウェブアプリケーション開発に新言語を採用したときにインフラで考えたこと - ゆううきブログ ここ数年、はてなではアプリケーション開発言語としてScalaとGoが採用されているのですが、プログラムを書く以外の観点が見過ごされがちだったので課題についてまとめました。第3回関西IT系インフラ勉強会内容とだいたい同じです。

仮想化基盤Xenの性能評価 / Performance evaluation of virtualization platform Xen // Speaker Deck 第3回関西IT系インフラ勉強会での発表です。最近は1台に30近い仮想ホストが蠢くようになっているので、仮想化基盤の安定化が課題です。

nginxでproxy_hide_header, proxy_set_header, add_headerを書く時にはまりがちな罠 - でこてっくろぐ ねお nginxの設定は、上位のコンテキストから下位のコンテキストに設定を継承しようとするとハマりどころが増えるという話ですね。

最近AWSのENIの付け替え速度がチョッパヤになってる気がしたので測ってみた - でこてっくろぐ ねお id:dekokun という人はチョッパヤみたいな一昔前の俗語が好きなようです。これをデコ感と呼びます。

AWS EC2でのHTTP/2 or SPDY導入方法 - Hatena Developer Blog AWSでのHTTP/2 or SPDY運用の課題とPROXY protocol - Hatena Developer Blog

はてなでもHTTP/2の導入が進んでいます。ELBを使いつつ、HTTP/2を利用するのに癖があります。3部作といいつつ、3つ目はどうなったのでしょうか。(ALBがもうでてしまった)

PostgreSQLで異なるメジャーバージョン間のレプリケーション実験 - tom__bo’s Blog 第7回 PostgreSQLアンカンファレンス@東京に行ってきた - tom__bo’s Blog

PostgreSQLのオンラインバージョンアップ方法を調べてもらっていました。MySQLのように数珠つなぎレプリケーションをするわけにはいかないようです。自ら発表したいということで、第7回PostgreSQLアンカンファレンス@東京で発表してもらいました。

Googleが数千台もある10年前のLinuxディストリをライブアップグレードした話 - ゆううきブログ

CentOS5のEOLは来年3月で、ちょうどディストーションのアップグレードに興味がありました。Googleでさえ、かなり泥臭いことをやらないといけないことがわかりました。

はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena // Speaker Deck

はてな・ペパボ技術大会の発表です。よくあるチューニングを除いて、ウェブサービスでLinuxネットワークスタックがボトルネックになるケースは多くはないのですが、ユーザをたくさん抱えているとカーネルレイヤのチューニングが必要になることがあります。

Mackerelにおける時系列データベースの性能改善 / Performance Improvement of TSDB in Mackerel // Speaker Deck

同じく技術大会の発表です。こちらは、時系列データベースGraphiteの性能改善事例です。パフォーマンスが低下したときに、カーネルレベルで分析し、PRをなげて問題解決しました。

計算量と僕とWeb開発 / computational complexity and I and Web // Speaker Deck

同じく技術大会でのゆるふわ?計算量の話です。競技プログラミングで鍛えた感覚でだいたい計算量がわかるとのことです。すごいですね。

負荷分散技術を選ぶときに考えること // Speaker Deck

同じく技術大会での発表です。ネットワークからミドルウェアのレイヤまで幅広く抑えられているのが特徴です。はてなではいろんなレイヤで負荷分散を実現しています。

仮想化基盤のリソース最適化 / Resource optimization on virtualization platform // Speaker Deck

同じく技術大会での発表です。仮想ホストを構築するときに、どこの物理サーバを選べば良いのかをがんばって探さないといけないという課題があり、数学的モデルに落とし込むことで最適な配置ができるというものです。現実には、かなり多くの制約条件があって、プログラマブルに値をとりにくいものもあるので、なかなか難しいですね。

はてなでの サービス信頼性向上のための 取り組み事例 // Speaker Deck

SRE tech talksでの発表です。 ちょうと社内でSRE輪読会をやっていたところ、声がかかったので良いタイミングでした。SREの視点を通して、最近のはてなのウェブオペレーションを俯瞰するとどうみえるかという内容になっています。

ISUCON予選突破を支えたオペレーション技術 - ゆううきブログ

Kyoto.なんか #2での発表内容です。ウェブオペレーションエンジニア視点で、ISUCONという競技を自分なりに捉え直したものです。

はてなのログ運用 これまでとこれから / Hatena Engineer Seminar #6 // Speaker Deck

Hatena Engineer Seminar #6 〜インフラ編〜の発表です。rsyslogからfluentdへの変遷など。参加された人に聞くと、リバースプロキシでcronでアクセスログ送信しているところ、意外とやっている人がいるということに驚きました。

はてなのサーバプロビジョニングについて / Hatena Engineer Seminar #6 // Speaker Deck

同じくセミナーでの発表です。Chefなどのconfigurationフェーズの話は世の中にたくさんでてますが、OSイメージの作成などbootstrapフェーズも含んだ話は意外と少ないのではでしょうか。

MySQL運用とらぶるすとーり〜^2 / MySQL-Troubleshooting-Story // Speaker Deck

同じくセミナーでの発表です。MySQL芸人こといちりんちゃんの磨きのかかった発表でした。テーブルの行数制限にあたった話とbinlog破損から救いを求めた話です。

はてなのサーバ/インフラを支える技術〜2016年新卒編〜 / OSC Tokyo 2016 Fall // Speaker Deck

OSC Tokyo 2016での新卒2人による発表です。新しい広告配信システムのインフラの話と、はてなのサーバ・ネットワークの基盤の紹介です。

セキュリティ会の取り組み - Hatena Developer Blog

セキュリティ会自体は、ウェブオペレーションエンジニアとは直接関係ありません。専門のセキュリティエンジニアがいるわけではないので、セキュリティ会が、情報を収集し、対応をまとめ周知するという役割を担っています。

MySQL-5.6のMRRにデッドロック回避の夢を見る - ichirin2501's diary

MySQLのロックの挙動を調査するために、gdbで解析してたりします。

フルCDNアーキテクチャ実験 / Minami Aoyama Night #1 // Speaker Deck

Minami Aoyama Night#1での発表です。はてなブログのHTTPキャッシュ戦略と、のちにやりたいと思っているフルCDN化についての発表です。

はてなのインフラ環境を自宅で再現する // Speaker Deck

YAPC::Hokkaido 2016での発表です。自宅で動いたから検証済みとかいって本番に投入していく新卒(詐欺)です。

はてなにおけるデータセンター内ネットワークの歴史と今後

DataCenter Networking Conference での発表です。はてなのこれまでのネットワークを振り返るような話になっています。いちWebサービス事業者が今もオンプレでネットワーク運用している例は、昨今では少ないんじゃないでしょうか。資料はそのうち公開されると思います。

10ms以下のレスポンスタイムを支える継続的負荷テスト - taketo957の日記

低レイテンシを求められる広告配信システムでやっている負荷テストCIの話です。負荷テストCIってよくあるアイデアのわりにはあまり見かけないですね。

LinuxのARPとL2スイッチのお話 - masayoshiの日記

LVSのDSRで非対称ルーティングしているときのネットワークのトラブルシューティングの話です。

輪読会

社内でSRE本*1の輪読会を開催し始めました。 世間で言われているエラーバジェットやToilの割合を一定以下に収める努力などが書かれているのはもちろんですが、SREというのは単に定量的アプローチのことだけを指すわけではないということがわかってきています。

その他

法学部生だけどはてなのインフラで4年間バイトした - naokibtn’s blog

長い間おつかれさまでした。

株式会社はてなに入社しました - masayoshiの日記 株式会社はてなに入社しました - taketo957の日記

今年はなんと新卒のWebオペレーションエンジニアが2人も入社しました。

リモートワークにおけるSlack Call活用と終業15分前の雑談 - Hatena Developer Blog

雑談に限らずコミュニケーションの機会を意識的に増やしはじめました。

2016年ウェブオペレーションエンジニアの新卒研修 - Hatena Developer Blog

新卒が2人もきたので、研修し始めました。

東京にいながら仕事のほとんどを京都のエンジニアと一緒にしている私のリモートワークの話 / Hatena Engineer Seminar #6 // Speaker Deck

セミナーでの発表です。Webオペレーションエンジニアは東京でも募集しています。

アプリケーションエンジニアからみたはてなのインフラの話 / Hatena Engineer Seminar #6 // Speaker Deck

セミナーでの発表です。id:KGA さんはWebオペレーションエンジニアではありませんが、アプリケーションエンジニアからみたWebオペレーションエンジニアの話をしてもらいました。

情報処理学会でウェブオペレーション技術について招待講演した話 - ゆううきブログ

なぜか研究者のコミュニティで技術者として講演しました。

ウェブオペレーションエンジニアになるまでの思い出 - ゆううきブログ

Hatena Engineer Seminar #7 での発表内容です。思い出に共感してもらい、Webオペレーションエンジニアに興味をもってもらうという趣旨でした。

サーバとわたし - Words fly away, the written letter remains.

id:tomomii さんは職種としてはエンジニアではありませんが、tomomiiさんらしい感性でとらえた技術の話がたのしいです。

あとがき

はてなのWebオペレーションエンジニアはすごいことをしているのに外へのアウトプットが全然ないなぁと思ったのが、僕がアルバイトにきた2012年のことでした。すごいことをしているのにもったいないと思って、ちまちまとブログを書いたり発表し続けてきたりしました。 今年から自分だけでなくチームメンバーにもアウトプットを促すようになり、アルバイト含めたすべてのWebオペレーションエンジニアがなんらかのアウトプットをした年になりました。

こうして1年俯瞰してみると、はてなのWebオペレーションエンジニアの特色が浮きぼりになります。 ネットワーク、Linux、仮想化、RDBMS、WebサーバといったWebのインフラを支える運用技術(System Engineering)については、自信をもって強いと言えます。しかし、Mackerel以外で、Software Engineeringにより自分たちで最適なシステムをつくっていくという点がまだまだ弱いのが課題だと思っています。

SREに代表されるように、インターネットのインフラの世界でSoftware Engineeringの重要性が高まっており、はてなでもSoftware Engineeringによりシステムの信頼性を高めたいと考えています。 はてなでは、インフラの領域でソフトウェアを書いてみたい、これまでWebアプリケーションエンジニアだったけどインフラの世界に興味があるといった方を募集しています。 もちろん、今のはてなの強みでもあるSystem Engineeringのスキルを生かしたいという方も大歓迎です。

新卒の採用募集もやっています!

*1:Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy, "Site Reliability Engineering: How Google Runs Production Systems", O'Reilly Media, March 2016

はてな「Webオペレーションエンジニア座談会」を公開しました

本日、採用ページの新たなコンテンツとして「Webオペレーションエンジニア座談会」を公開しました。

10年続くサービスを、インフラ技術で支える――Webオペレーションエンジニア座談会 - 株式会社はてな

はてなのインフラチームからid:wtatsuruid:y_uukiid:dekokunid:taketo957の4人が参加し、入社のきっかけやはてなでの働き方、チームの将来像などについて語り合いました。「はてなのインフラチームってどんなふうに仕事をしているの?」という疑問にお答えします。

はてなでは京都・東京の両拠点で、Webオペレーションエンジニアの積極採用を行っています。皆さまのご応募をお待ちしています。

Webオペレーションエンジニア職 - 株式会社はてな

開発速度と品質のトレードオフの判断基準の合意

はてなエンジニアアドベントカレンダー2016

Webサービスの開発は、ユーザ/顧客へ価値を早く届けるため、競合より早くリリースするため、人的リソースを無駄使いしないためなど、とにかく素早く進めたいものですね。一方で、開発を急ぐあまり品質を犠牲にすればかえって価値が失われたり、技術的負債が溜まって長期的なコストが大幅に増大する可能性もあります。開発速度とプロダクト品質は基本的にはトレードオフの関係にあるのでしょう。

開発速度と品質のどちらを優先するかはプロダクトの性質や、チームもしくは会社の状況によって異なるとおもいます。この状況の認識がチームメンバー間でずれていると、チームのパフォーマンスを最大限に発揮できないばかりか、チーム内の関係悪化も招きかねません。エンジニアたちとプロダクトオーナーの間の対立のようなありがちな問題の原因の一つかもしれません。

そこで、開発速度と品質のトレードオフをどう判断すべきかの基準を明確にして、原則それに従うことをあらかじめチーム内で合意してみました。

この記事は、はてなエンジニアアドベントカレンダー2016の24日目で、担当はid:taraoです。昨日の担当はid:takuji31さんのAtomの自動補完プラグイン「autocomplete-plus」のPerl用Providerを書いている話でした。

Read more