好む振る舞い

この資料は、宮城広隆が「自身が働く上で良しとする振る舞い」を言語化しまとめています。
他の方に強制するものではなく、宮城と働くイメージをしやすくする用途を想定しています。

Soft Skills

プロであれ

  • エンジニアである前に社会人。約束を守る・時間を守る・気持ちよく仕事をする
  • 残業をしないしさせない。健康に、サステナブルに成果を出せる方法を考える
  • プロダクトを良くすることにベストを尽くす
  • フルサイクルでありたい。「自分の仕事じゃないから」とスルーせず、プログラミング以外も可能な限りなんでもやる

リモートワーク

ミーティング

  • Google 流、会議をより効率的にする秘訣とルール
    • 可能な限り短時間にする
    • 情報共有ではなく意思決定の場とする
    • 24 時間前までに資料を用意し共有、認識合わせが済んだらすぐ本題に入る
    • タイムマネジメント・議事録・ネクストアクションの徹底
  • 顔を出す。所作や表情によって相手に与える情報量を増やす

コミュニケーション

Product Development

Issue driven

  • 理想から逆算する
  • ユーザーファースト

チーム開発

  • HRT
  • 検査・適応・透明性 ref: The Scrum Guide
  • Fail Fast
  • 集中状態にあるタスクがない場合、PR などのレビューを最優先タスクとする ref: コードレビューのスピード
  • 「引き継ぎ」をなくすように働く 怪我や病気で自身が突然離脱しても業務が回る状態に保つ
    • 適切なドキュメンテーション、作業や残タスクの可視化
  • 前にことを進めようとしている人のフォロワーになる
    • チームメンバーの課題提起がスルーされないように、可能な限り反応する
  • この資料に記載していることをは自身のポリシーであり、違う意見があることを理解し受け入れる

Ops

  • You build it, You run it. ref: A Conversation with Werner Vogels
  • ランタイムやライブラリのアップデートが苦しくならないように投資する
  • トイルは山積みになり続けることが多いが、レバレッジが効く順序を検討し技術で解決していく

Engineering

開発

  • 全ての開発は理想のインターフェースから始める
  • ロジックはテストを書く、書けないなら書けるように責務を分割する
    • バグの恒久対応はテストで表現する
  • コーディングスタイル(インデントなど)のレビューは一切せず、linter やeditorconfigに従う
    • 人間のレビューを減らすために linter を積極的に整備する
  • ビッグバンリリースはせずフィーチャートグルを利用する
  • OSS やコミュニティに積極的に還元する

意思決定・技術選定

Git, Commit, Pull Request

  • トランクベース開発GitHub Flowを採用し、1 日に複数回以上デプロイを行う
  • PR は誰がいつ見ても理解できるような粒度でコンテキストを記載する
  • 想定される質問に対して全て置き回答してからレビューを依頼する
  • commit は cherry-pick で価値を生む単位
  • コミットメッセージの言語は社内の公用語やプロダクトの利用ユーザーの言語に合わせる
    • 日本人向けのプロダクトにも関わらず英語で書くことに価値は低いと考える

SaaS

  • ビジネスのコアではない領域については、コードを書く前に SaaS での解決を検討する 車輪の再発明はしない
  • 価値が説明できるのであれば有料でも導入できるよう交渉する