してきました!!セミナーについての詳細はこちら。 当初は応募枠も30人程度(その後70人に拡大)で、「まぁ仕事も忙しいし、当たったら行くか〜」ぐらいのノリで応募させて頂いたのですが、それが何の幸運か、当選を頂きまして。
付かぬ都合、付かぬ折り合いをムリヤリ付けて、参加させて頂いた次第です。 なぜなら、はてな大好きな自分としては、この幸運、フイにしてしまうにはあまりにももったいない!
写真がなくてアレなのですが、はてなの新オフィス・東京開発センターは、東京は表参道という、とってもオサレなロケーションに位置する、いろんな意味で眩しいところでございました。。
地下鉄銀座線・表参道駅から徒歩約10分程度といったところ。 ちょうどいいくらいの位置かもしれませんね。
と、いうわけで、
枠が70人に拡大されたとはいえ、落選された方もおられたようですので、 共有という意味も兼ねまして、その場でとったメモなんぞをここにまとめておこうと思います。
「Hatena Engineer Seminor」ということでしたが、技術やエンジニアリングの話、というよりは、「表参道にやってきたはてなを、皆さんよろしくね!」という感じで、 新オフィスをそのまま使った懇親会もあったせいか、なんだかはてなユーザーのオフ会みたいだなぁ、 と感じたのは、僕だけではないんじゃないかなぁ、なんてことも思ったり。:) (まぁあとは、開発拠点開設に伴うエンジニア採用、の布石でしょうな!)
ではでは、以下、お話を聞きながら取ったメモです。 もちろん完全なものではないこと、ご了承下さい。 (カッコ書きしてるところはa-know個人の感想です)
Hatena Engineer Seminor@はてな東京開発センター 発表メモ
はじめに
- CTO田中さんより、ごあいさつ。
- 中目黒から表参道に移転して、規模拡大を考えているところです!
- 今日始めて配布するステッカーです!
- (やったね!)
はてなのサービス開発と東京開発センターの立ち上げ(id:stanakaさん/@stanaka/CTO田中さん)
- 自己紹介
- サーバインフラを支える技術・大規模サービス技術入門 書きました
- githubもやってます
- 「こういう立場になってもコードをかくのはやめたくないかな〜」
- (すばらしひ!)
- 言語はあまり選ばず書いてます
- 「こういう立場になってもコードをかくのはやめたくないかな〜」
- はてなの変遷について
- はてなのサービス
- はてなの今
- サービス開発、加速している!・・・と思っている
- はてなのそういう面もお伝えしていきたいんです
- 数多くの機能追加、機能変更をしています!
- 「Markdown記法への対応」などは、270ブクマを超えるスマッシュヒットに!
- この先も、使われる機能を優先的に残して、シンプルなものにしていきたい!
- サービス開発、加速している!・・・と思っている
- 開発手法の洗練
- ペーパーエンジニアリング
- エンジニア・デザイナー間の連携で、洗練させていきながら。
- 仮設→計測→検証。
- どういうユーザーがどういう使い方をするだろうか?実際にどういう使い方をされたのか?
- より非連続的なサービスの改善をしていきたいときなど、実現するための手段としてリーンスタートアップのような手法を活用していきたいと!
- 技術的な蓄積
- AWS,Solr,redis,fluetned・・・
- エンジニアリング環境
- ディスプレイ4つ使うDevOpsエンジニア(インフラエンジニア)も!
- 30インチディスプレイとかもあるよ!
- Github Enterprise
- 最近取り入れて使い始めている
- 2009年ごろからgit使い始めている
- これに限らず、外部のツールでもいいものはどんどん使い始めている
- Enterprise版でも「available for hire」あるんですよw
- 教育プロセス
- インターン。今年は14人。
- 開発体制の充実@京都
- だいぶ体制は確立してきてます。
- 東京開発センターオープン
- 中目黒から表参道へ。おしゃれで静か。環境には気を使っています!
- なにを作ろうとしているか
- 将来的には独立した開発チームとして、ひとつのサービスを開発できるようにしていきたい
- (期待してます!!)
- チームとして完成したチームにしたい!
- デザイナーしかいない。。ディレクター、エンジニアいないんです
- (積極採用フラグ?)
- 将来的には独立した開発チームとして、ひとつのサービスを開発できるようにしていきたい
- 京都との関係
- 京都での開発はずっと中心で在り続ける。
- はてなの開発系職種
- スマートフォンアプリケーションエンジニア
- アプリケーションエンジニア
- サーバサイドとか
- DevOpsエンジニア
- いわゆるインフラエンジニア
- ディレクター
- デザイナー
- 宣伝
- 明日からYAPC、3人話します
- このあとの発表のスピーカー紹介
はてなにおけるアプリケーションエンジニアの役割(id:yanbeさん)
- 自己紹介
- はてブ開発チーム所属です
- 大学院でソーシャルブックマークを題材にしたウェブマイニングの研究に従事していました
- 直近3年ぐらいのWebの研究でよさそうなのを参考にしつつ、サービスに取り入れてます
- (当たり前なんだろうけど、すげー・・・!)
- 開発体制
- 用いているコミュニケーションツールについて
- Trello
- タスク管理
- 以前はホワイトボードでやっていたが、東京オフィスとの共有に難があったので
- Github Enterprise
- Pull requestでコードレビュー依頼
- 進捗を追いやすい
- 検索ミドルウェア・Solrの利用
- 継続的なレスポンスタイム計測
- 施策前後のユーザー行動の変化の測定
- 「特定機能が使用されたとき」をGAのイベントとして記録、リリースタイミングもメモ
- (これ大事だなー。)
- 機械学習を活用したスパム判定システム
- スパムエントリーの特徴
- 短時間で3〜5アカウントでブックマーク
- 新着エントリーに載る
- 内容は情報商材など
- ユーザーの目に入る前に排除したい
- 昔の手法のご紹介なので、今日はもう話しちゃいますが・・・
- 以前:固定したルールベース
- 接続元がxブックマーク以上同じ または 〜
- 欠点
- 条件が固定なのでスパマーに学習されやすい
- 誤判定しやすい
- 現在:AdaBoostアルゴリズムによる学習ベース
- 過去のスパム判定結果から判定ルールを生成
- 事前学習
- スパムを判定できそうな指標をたくさん用意する
- サポート部に助言を仰いだりも
- 過去に手動でスパム判定されたエントリーに適用してみる
- その精度に応じて指標に重み付け
- スパムを判定できそうな指標をたくさん用意する
- 学習結果の適用
- 重み付けされた複数の指標でスパム判定
- 実際にうまく判定できた例
- 新着エントリー経由で自身のECサイトへ誘導しようとしていたエントリー
- IP変えたり、ブクマ時刻をかえたりしてカモフラージュ
- ・・・されても判定できてます!
- スパムエントリーの特徴
- B!KUMAガールズの企画と開発
- おわりに
- はてなでエンジニアとして働くメリット?
- 開発チームの裁量の大きさ
- 少人数のチームで企画から開発、リリース、効果測定まで
- 古くからネットサービス事業でやってきた蓄積がある
- B!KUMAみたいな「データの蓄積があること」が前提の動きができる!
- これからもおそらくネットサービス中心
- 11年ぶれてない
- これからもインターネットで世の中をより良くしたい
- 開発チームの裁量の大きさ
- はてなでエンジニアとして働くメリット?
はてなのサービスを支えるインフラについて(id:shoichimasuharaさん)
- 自己紹介
- はてなのインフラエンジニアの役割と業務
- アプリケーションエンジニアの求めに応じたサーバーを用意する
- 増加する負荷にも対応
- 新しい技術にも対応
- インフラエンジニアはアプリケーションエンジニアのあらゆる要求に答えられる必要がある
- 設計段階でのサーバ構成をまとめて投げられる・それを受け止めるイメージ。
- 気づきにくい異常もグラフ化して検知するようにしています
- はてなではPWG(パフォーマンスワーキンググループ)がある
- アプリケーションエンジニアとインフラエンジニア合同のパフォーマンス評価のための定例会がある
- この場で情報・スケジュールの共有をしている
- アプリケーションエンジニアの要求とかサービス全般の状況を把握して改善したり措置をとったりするのがインフラエンジニアの役割
- はてなのインフラエンジニアは、アプリケーションのレベル・分野まで踏み込むことも
- それこそコードの指摘とか
- アプリケーションエンジニアの求めに応じたサーバーを用意する
- はてなを支える技術
- 意外とシンプル
- MySQL、ロードバランサ、NGINX(プロキシ、ディスパッチャ)、redis, solr、アプリケーションサーバー、ストレージ・・・
- ホストがどうしても増えるので仮想化してる
- 物理作業が不要
- サーバセットアップのコストが最小
- オペレーションの場所は選ばない
- セットアップの自動化などでサーバ作成コストをより下げたり
- 物理仮想あわせて二千何百。
- 負荷問題
- 使用しているミドルウェアの一部
- 最後に
- もちろん実際はもっと複雑です
- 他社が二の足をふむような新しい技術を積極的に取り入れています
- SSDの導入とか、率先してやりました
- エンジニアの裁量が大きいので、そういった技術、エンジニアがやりたいと思った技術はどんどん投入していくことができます
質疑応答
- セキュリティの担保はどうしている?やはり個々のエンジニアが見ていく?
- 基本的に個々のエンジニアが気をつけて頑張る。
- エンジニア同士で高め合い、担保し合い。専任の人がいるというわけではない
- Github Enterpriseでpull requestでレビュー。それで指摘を受けたりもできる。
- はてなではレビューの文化が根付いている?
- ベテランのエンジニア・レビューがうまいエンジニアはだいたい決まってて、そういう人に集中しがちではある
- そういう環境はある。
- 東京開発センターにリソースをどれくらい割り振るのか?京都からどれくらいの人数がくるのか?
- 具体的には決まってないが。。
- ある程度リモートでもなんとかなるかなとも思っているので。
- 大幅に採用増やしたりする?
- いきなり10名採用とかはする気はないです
- まずは片手で収まる程度かなと。
- 新しい技術を導入するという話に関して、例えばSolr導入したときは、どういうやり取りをした?どういうプロセスを踏んだ?
- 勝手に導入した?w
- 有望な技術はよりよいサービスをつくるためという観点からも積極的に取り入れるべきだと考えている
- プロトタイプを作ってディレクター経由で実際に動いているものを見せて・・・。
- 撤退容易性、置き換え容易性も考慮します
- これがMySQLの置き換えだとかのレベルになると、さすがに慎重になります
- 収益化、どれくらい儲けてる?割合とか。
- 広告がメイン、ブログの有料プランとかも
- 具体的なところは秘密です。。
- 機械学習によるスパム判定、常に動き続けて随時更新している?or手介入で調整?
- ブクマが追加されるごとに自動的に動かしてると暴走もありうるので、それはやってないです
- そのときそのとき、予め設定しておいた最適なパラメータで動き続ける
- (質問者)安心しました〜
- 新しいサービスを立ち上げたりするときの予算・リソースについての現場の裁量権は?
- なぜGithubはEnterprise?
- コードの機密性を考慮して。
- デプロイ時、Githubから直接は非現実的、Enterpriseのプラン利用で。
- 現場もEnterprise希望だった
最後に、id:jkondoからご挨拶
初めての生・近藤社長! ここは思わず聞き入ってしまったので、これまでのように逐一メモってはないですがー。
- 「これはおもしろい!」と言ってもらえるレベルまで作りこむこと、それが世界への一番の近道だと考えています。
- 拠点について
- 京都。開発に集中できる環境として、とてもいい。
- 東京。やはり人、情報が多い。ビジネスも多く回っている
- このふたつ、二元論ではなくて、行ったり来たりするのがいちばんいいなと。笑
- 今回、この開発センターの開設でもって、いよいよ攻めに入る。
- 京都と東京の良さをミックスさせて、世界に通用するようなサービスを作っていければ、と。
- 僕は、「こういうサービスがあったことで生活が豊かになった」というものをどんどんと作って、なるべくたくさんの人の生活を豊かにしたい。
- 例えばブログ。
- できるだけ多くの人の「ブログを書き始める」という、その初体験の瞬間をはてながプロデュースしたい、という気持ち。
- 不可逆な変化を自分たちの手で起こしていた瞬間が、世の中の人の生活を豊かにしてきた瞬間ではないか。
- これからも、生み出し続けていきたい。
セミナーを終えて。
最近は、なりを潜めているようにも見えたけれど、 僕の大好きなはてなが、確かにそこにありました。
これからも、いちはてなユーザーとして、応援しています! 本日は素晴らしいお話とお食事、ありがとうございました!!
オマケ・懇親会とかで聞けたこと、聞こうと思ってたけど聞けなかったこと。
- 聞けたこと
- 聞けなかった部分
- はてなの今後の具体的なサービス展開について。
- やっぱり、多くのユーザーがはてなに求めているのは「思いもよらないもの」「使い手をわくわくさせてくれるようなもの」というようなものだと思うんです!
- 今後(はてな社内で)使用領域が拡大していきそうだと感じている技術ってなんですか?
- はてな社内で最もポピュラーな、開発プロジェクトの管理方法ってどんなものですか?
- アプリ案等はトップダウンで?
- おもしろい案を拾い上げ、実際に実現するまでのプロセスについて、配慮・工夫されていることはある?
- ときどきはてなのサービスについてのアンケートが来るんですが、あれってどういう基準で配ってます??
- 同じアンケートが何度も。。手当たり次第に来てるイメージあります。
- 正直、あんな配られ方されると、アンケートの回答も拾い上げられてるとは思えない。やるだけマイナス。
- ポイントがもらえるのはいいけど。。
- はてなの今後の具体的なサービス展開について。