Hatena Developer Blog

はてな開発者ブログ

はてなの技術組織2016

この記事は、はてなエンジニアアドベントカレンダー2016の1日目の記事です。

8月よりCTOになりましたid:motemenです。たいそうな肩書きがつきましたが、引き続きチーフエンジニアという役職も兼任しており、これまでどおりアプリケーションを書きつつ、技術組織の開発・改善をおこなっています。

せっかくの機会なので、このエントリでは現時点でのはてなのエンジニア組織の概観と取り組みを紹介しようと思います。

技術グループ

はてなにおいてエンジニアと呼ばれる職種の人は、それぞれが提供するサービス(ウェブサービス、スマートフォンアプリ、インフラなど)を軸とする開発本部に属しつつ、職能を軸とした横串の組織である「技術グループ」に所属する、という形態を採っています。現時点で、ここに属するのは40名強になっています。

会社を駆動させていくお金を生み出すのは造られたシステムであったり、営業活動であったりするなかで直接的には利益を産まないこのような組織を設けるのは、以下のような目的意識があってのことです:

  • チーム間技術の標準化、向上
    • 普段の業務の場であるチームに閉じてしまいがちな技術的知見の交換
  • サービス横断的・中間的タスクの遂行
  • はてなの技術的ブランディングの向上
    • 個々のエンジニアの成長支援と評価

中長期的に事業を下支えしていくための組織であるといえます。

シニアエンジニア制度

はてなのエンジニア組織も年々規模を拡大している中で、全員への目配りというのは自然には実現しづらくなってきました。そこで数年前から各エンジニアにシニアエンジニアと呼ばれる人たちをメンターとして割り当て、毎月面談をすることで技術的・非技術的・顕在的・非顕在的な問題を早期発見することを目指しています。エンジニア個人としての成長を支援する目的もあり、外部の視点を入れるため、できるだけ所属しているチームが異なる人同士を引き合わせるようにしています。この毎月面談の中から社内の新しい取り組みが生まれることもあります。

シニアエンジニアはそれぞれエンジニアとしての強みを持った人たちで構成されていますが、それに加えて技術組織全体への貢献を考えられる人として、エンジニアのキャリアパスのひとつに位置づけています。

社内勉強会

以前紹介した社内勉強会ですが、こちらは今も絶えることなく続いています。

  • 毎週持ち回りで2名ずつ何かしらの発表をする
  • 社内エントリのピックアップによる技術共有
  • 月に一回はヒットエントリを寿司とビールでお祝い

社内エントリのピックアップは、当初はプレゼンターがチーフ1人であったのをゲストを加えた2人にすることで、紹介がスムーズになりました。ポッドキャストっぽいイメージです。

月一のビールのある回では、途中から寿司だけでなく中華の出前も取るようになってよりパーティ感が増したと思ってます。社内勉強会(や社内エントリ)からの社外へのアウトプットも引き続き推奨しており、今年のアドベントカレンダーでもいくつかお見せできるのではないかと思います。エンジニアのアウトプットに関しては以前のエントリにある通りです。

サブ会

近ごろ明確に新しく導入した制度といえばこれくらいです。インターネットにおいてサービスを作り、維持していくための要素技術が高度化していく中、はてなでも旧来のユーザ向けサービスからその手を広げていっています。社内勉強会やはてなグループによる情報共有は日々行っていますが、より集中して取り組み、ときには具体的なタスクを受けもつ、技術的な競争力を持つエンジニアの小集団として(技術グループの)サブ会、というのを設けています。

各サービスの担当者として散らばっていたスマートフォンアプリエンジニアが組となった「スマート会」という会が社内には以前からあり、その取り組みを横展開したかたちです。よくも悪くも「有志」であった集団にある程度の裁量と責任をもってもらうことで、ボトムアップの活動を支援するねらいです。現在のところ、スマート会のほかにセキュリティ会、フロントエンジニア会といったものが立ち上がっています。社内では機械学習勢が盛り上がっているところなので、こういった分野からもやがて出てくるのではないかと思っています。

専門職10%ルール

以上を含むエンジニア視点からの取り組みというのは、理念としてはよいものであったとしても、エンジニアにしろマネージャにしろ、現実の業務の中では開発中のサービスやシステムを優先したくなってしまい、どうしてもスキマ時間だけの活動になってしまう慢性的な問題がありました。

そこで今期より、エンジニアが所属する縦の組織であるサービス・システム開発本部の取り決めとして、業務時間の一定割合を技術グループのタスクに利用することをマネージャ・エンジニア間で期初に合意しておき横断的な活動の障壁を減らす仕組みが導入されました。たとえばイベント登壇のためのプレゼン準備や執筆、突発的なチーム間の技術共有などに積極的に業務時間を使える仕組みです。これは現在のところ上手くいっていて、ある程度の時間の枠が設けられていることで、それを全て使うことはなくとも、不自由感をなくせているのではないかと思っています。ちなみに「専門職」と冠されているとおり、デザイナなどエンジニアに限らない仕組みです。

終了した取り組み

エンジニア実績システムは、導入当初こそわいわいと盛り上がりつつ空欄を埋めるムードでしたが、実績の解除自体のタイミングが導入後はあまりなく下火になっており、また、スプレッドシートで他人と較べる形であったのが却ってプレッシャーをかけてしまっていた問題もあって、deprecatedとしました。導入される取り組みがあれば消える取り組みもまたあり、です。


以上、このエントリを書いている時点でのはてなのエンジニア組織のスナップショットを書いてみました。もちろんこれで落ち着いているわけではなく、今も改善のためにできることをチーフ・シニアエンジニアを中心に考えているところです。興味ある人はぜひ採用に応募してみてください。アドベントカレンダー、明日は id:nanto_vi です!