タグ

engineerとtwitterに関するgriefworkerのブックマーク (10)

  • Twitter での6年間 #8|Satoshi Nakagawa

    (Twitter での6年間 7 からの続き) これ以後は、新アーキテクチャプロジェクトが長期間続くので、大きな変化はなかったと思う。 なので、この話はいったんここで筆をおくことにしたい。 ぼくは、今年3月に Twitter を辞めることにした。もともと新しい物事を学ぶことが好きなので、あまり同じ環境に長くいるのには向いてなかったのだと思う。それでも6年間やってこれたのは、すばらしいマネージャーや同僚にめぐまれたことが大きいし、ぼくが Twitter というサービスをすごく好きだったからだと思う。 Twitter という会社では、優秀なエンジニアやデザイナがユーザーのためになるように日々プロダクトを開発し続けている。これからもユーザーとして便利に使っていこうと思う。

    Twitter での6年間 #8|Satoshi Nakagawa
  • Twitter での6年間 #7|Satoshi Nakagawa|note

    (Twitter での6年間 6 からの続き) Apple のイベントからしばらくすると、テックリードから提案があった。ぼくがデモ用に作ったライブラリの設計もコードもきれいで見通しがいいので、そのライブラリをアプリ体に組み込んで、既存のコードを置き換えてはどうかということだった。ぼくはその提案には反対だった。既存のコードによほど大きな設計ミスがない限り、同じ要求を与えれば同じコードができあがる。ぼくの知る限り、既存のコードに大きな設計ミスはなかった。ぼくは、まずゴールとなる新アーキテクチャーを設計し、既存のコードを徐々に置き換えていくことでゴールに近づけていくインクリメンタルアプローチを提案した。既存のプロモートツイート関連のロジックを新しいコードベースに意味もなく移植したりすることで問題を起こしたくなかったのだ。マネージャーや他のエンジニアたちも同意見で、新アーキテクチャプロジェクト

    Twitter での6年間 #7|Satoshi Nakagawa|note
  • Twitter での6年間 #6|Satoshi Nakagawa|note

    (Twitter での6年間 5 からの続き) 2014年3月、グリーンカード、つまり永住権の申請プロセスをはじめることにした。そのときぼくは H-1B ビザで働いていたのだが、このビザには6年の最終期限がある。2010年10月からなので期限まで残り2年半しかなかった。一度期限が切れてしまうと、基的には国外に出ていかなければいけなくなる。H-1B で働いていてこれからも US で働きたいと考える以上、グリーンカードを取得する必要があるわけだ。 6月の WWDC で、iOS 7 にシェアエクステンション機能が搭載されるとの発表があった。社内でそれを実装するために優秀なエンジニア2人のチームが結成された。この機能はアプリから独立した拡張として別プロセスで動作するので、iOS に標準搭載されている Twitter 連携機能を直接使う必要があった。そこでその問題について詳しいぼくが認証部分をチー

    Twitter での6年間 #6|Satoshi Nakagawa|note
  • Twitter での6年間 #5|Satoshi Nakagawa|note

    (Twitter での6年間 4 からの続き) 2013年の春ごろだっただろうか。上のほうの人が、A/B テストをプロダクト開発に活用することを推奨し始めた。A/B テストでプロダクトの方向性を決めていくというのだ。これにつられ、この頃の社内では A/B テスト万能論のような空気さえただよっていた。普通に考えて、A/B テストを数週間走らせてデータをとっても、それが長期的な成功につながるか判断できるはずがない。短期的に数字が上がるからといってユーザーの嫌がることを続けていれば、いつかユーザーの忍耐の限界に達してしまうかも知れない。そのユーザーの堪忍袋の状態をどうやって計測できるというのか、など疑問は尽きなかった。 そのころ Growth という大きな部署ができて、従来国際化を担当していた i18n エンジニアリングチームもその下に組み込まれることになった。Growth チームの強い権限のも

    Twitter での6年間 #5|Satoshi Nakagawa|note
  • Twitter での6年間 #5|Satoshi Nakagawa|note

    (Twitter での6年間 4 からの続き) そうこうしてるうちにコードネーム H という野心的なプロジェクトがスタートすることになった。最初は Hackweek の1プロジェクトとしてはじまったらしく、複数のタイムラインをスワイプで切り替えられるようにすることで、これまでのタブ UI による固定数のタイムラインではなく、たくさんのタイムラインをユーザーの好みに応じて追加することができるというアイデアだったらしい。このプロジェクトに iOS フレームワークチームのエンジニア全員が投入されることになった。当時 IPO の時期が近づいていたこともありクオリティよりも開発スピードを優先しないといけなかったので、まずレビューを一切なくして各自がコードをレポジトリに直接コミットすることになった。さらに、各機能のチームからの機能追加はメンテナンスブランチに対してのみ許され、しかも最小限に行うようにと

    Twitter での6年間 #5|Satoshi Nakagawa|note
  • Twitter での6年間 #4|Satoshi Nakagawa

    (Twitter での6年間 3 からの続き) 2013年に入り、iOS 6 の普及率も十分に高くなったころ、同僚のエンジニアから1つの提案がなされた。ツイートビューを作り直そうというのだ。その時点での Twitter for iOS は、iOS の黎明期に Apple が推奨していたように、できるだけビュー階層を減らして描画するようになっていた。たとえば、ツイートビューには一切サブビューがなく、ツイートテキスト、プロフィール画像、ユーザー名、タイムスタンプなどのパーツは直接ツイートビューに自前で描画する設計になっていた。当初はそのほうがパフォーマンス的に速かったからだ。それから数年間の Apple によるハードウェア、ソフトウェア両面での改善の結果、ベンチマークを取ってみるとどうやらその設計はもう古いらしいことがわかった。たとえば画像を表示するときに、自分でビューに CPU で描画するの

    Twitter での6年間 #4|Satoshi Nakagawa
  • Twitter での6年間 #3|Satoshi Nakagawa

    (Twitter での6年間 2 からの続き) 秋になると、上のほうが「Twitter は mobile centric company になる」という方針を打ち出した。つまり、それまではずっとウェブ中心の会社だったのを、これからはモバイル中心にシフトしていくという決意表明だ。その方針に従い、新機能を作るときにはまず iOS か Android に実装することが必須になった。もちろんプロジェクトに十分なエンジニアがいれば、ウェブも同時に実装してもいい。だが、これまでのようにウェブを先に作ってリリースしてから、あとで iOS と Android の実装を進めてリリースするということはしないことになった。その後のウェブトラフィックのかげり具合とモバイルユーザー数の伸びを考えると、いい時期のいい判断だったと思う。 そのころ、1人の男性エンジニア育児休暇で10週間の休みに入っていた。少ししてから

    Twitter での6年間 #3|Satoshi Nakagawa
  • Twitter での6年間 #2|Satoshi Nakagawa

    (Twitter での6年間 1 からの続き) SQLite の導入とモデルレイヤーの刷新がうまくいったあと、ぼくは次のプロジェクトを探していた。何をやれば最終的に一番ユーザーのためになるか。そのときに選んだのは、JSON パーザーの置き換えだった。当時の Twitter for iOS は、YAJL という C で書かれた JSON パーザーをプッシュ形式のインタフェースで使っていた。プッシュパーザーはドキュメントパーザーに比べてピークのメモリ使用量は多少低くなるものの、パフォーマンスが悪くなる傾向がある。プッシュパーザーを使う側のコードは見通しが悪くなりバグが入りやすく、チームにとって頭痛の種だった。それを iOS 標準の NSJSONSerialization に置き換えることにした。Twitter for iOS のコードベースに存在するほぼすべてのモデルクラスの JSON データ

    Twitter での6年間 #2|Satoshi Nakagawa
  • Twitterの日本人エンジニアに聞く、天才ハッカーと凡人の違い

    Twitter社において日エンジニアとして活躍するひげぽんこと蓑輪太郎氏が、ITジャーナリストの西村賢氏と対談。勤務の習慣や開発環境、また社内の天才ハッカーが見せる特別な技術などについて語りました。 Twitter開発のテストはローカルで 西村賢氏(以下、西村):Twitterって巨大な世界的企業で、一般的な開発と全然かけ離れているイメージがあったんですね。今ちょっと驚いたのがRailsでローカル環境でまだやってるということで、ローカル環境、例えば蓑輪さんも入られて最初、Macかなんかで開発するわけですよね。その上に開発環境を整える。 具体的に、例えばデータベースのところはどうするとか、結構この環境構築は大変なんですか、最近、その開発環境とステージングとプロダクションをなるべく近づけろとか、ありますよね、そういうトレンドが。そういう意味で言うと、ローカルTwitterが再現できちゃうと

    Twitterの日本人エンジニアに聞く、天才ハッカーと凡人の違い
  • 33129

    IPAから天才プログラマーと認定された経歴を持ち、現在はtwitter社に勤めるひげぽんこと蓑輪太郎氏が、西村賢氏と対談。2億人超のユーザを抱えるTwitter社の開発環境や、エンジニアが持つべき心構えについて語りました。 ツイッター社に勤める日エンジニア 西村賢氏(以下、西村):今日は蓑輪さんこと、ヒゲポンさんということでネットでも知られていますので、ヒゲポンさんでよろしくお願いします。 蓑輪太郎氏(以下、蓑輪):よろしくお願いします。 西村:今日はだいたい大きく二つお話をお伺いしたいのですけれども、ひとつはTwitterに入られて今、どれくらいになりますか? 蓑輪:もうすぐ7ヶ月。 西村:7ヶ月。Twitterのソフトウェアエンジニアということで、その立場からごらんになったTwitter社の開発の風土ですとか、日々の業務のまわしかた、それから技術的な課題だとか、そういったあたりのT

    33129
  • 1