Speee DEVELOPER BLOG

Speee開発陣による技術情報発信ブログです。 メディア開発・運用、スマートフォンアプリ開発、Webマーケティング、アドテクなどで培った技術ノウハウを発信していきます!

開発基盤チームで仕事をスケジューリングするときに意識していること

開発基盤グループの西田です。 最近エアブラシ用の塗装ブースを買い替えました。 模型製作がはかどります。

僕たちのチームは正確には デジタルトランスフォーメーション事業本部 共通開発部 開発基盤グループ という名前で、事業本部の横断的なエンジニアリングを広くやっています。 最近良く聞くことになった、platform engineeringのチームと言えます。 こういった基盤チームで働くこと4年。最近この種のチームでは通常のサービス開発とはまた違った仕事のスケジューリングが必要なことがわかってきました。そこで、この記事では僕のチームではどのようにタスクスケジューリングを工夫しているか紹介しようと思います。

その1 複数のタスクを持つ

これはある程度能力の高いエンジニアであれば多くの人がやっていますが、基盤チームでは若いメンバーもなるべく早いタイミングで行うべきです。 それには以下の理由があります。

第1の理由: 基盤チームが主に扱うインフラは、その操作にとても時間がかかるため
例えばAWS RDSのクラスタ作成には数十分、1回のterraform実行にも大きなモジュールでは10分以上かかることもあります。
こういった時間を無駄に使わないため、予備のタスクを持って間を埋めることは重要です。

第2の理由: とてもライフタイムが長く、チーム外との交渉や問い合わせなどが必要なタスクがある
僕たちのチームは多くの仕事が横断的です。横断的ということは関係者が多いということで、社員のアカウント管理などに絡んでくる場合は情シスやセキュリティなどの部署ともやり取りをする必要があります。そうなってくると、どうやっても待ちのタイミングも多くなってしまいます。 こういったタスクを効率的にこなすためには、待ちの時間にその他のタスクを進めなければなりません。

その2 深く考える必要のあるタスクとそうでないタスクをバランスよく進める

僕たちの仕事の中には、情報が少なく抽象度が高くて選択が難しい上、一度決定すると後で変更することが難しいという、非常に難しい決定が含まれています。それぞれは以下の要因から来ています:

  • 情報が少ない → 新規技術導入で世の中にも知見が少なかったり、直接サービス開発チームに席をおいているわけではないので解決したい問題の一次情報をまだ得ていなかったりする
  • 抽象度が高い → 解決するべき問題の抽出・定義から入る必要があり、その解決策も非エンジニアリング的手段を含めて考える必要がある
  • 後で変更することが難しい → 横断的に導入するためあとで変更することにも大きなコストがかかる。コミュニケーションコストも高い

もし、そのような難しい意思決定が必要なタスクを2つ同時に進めようとすると、うまくいきません。 なぜなら難しい問題を考えるためには深く集中する必要がありますが、人間は2つの問題を同時に集中して考えることができないからです。

一方で、前述の通り効率的に仕事を進めるためには複数のタスクを持つ必要があります。 そこで行うのが、主に頭を使うタスクを1つ、主に手を動かすタスクを1つ以上持つ方法です。 こうすると、脳は集中を要する難しいタスクへフォーカスすることができ、手を使うタスクの合間合間などに調査や思索・ドキュメント作成などをすることができます。また、手を動かす必要があるが頭を余り使う必要のないタスクでは、空いている脳を効率的に活用することができます。


というわけで、今回はいつもの物ベースの話と違う、仕事術とでも言うテクニックの話を書きました。

いつものやつ

Speeeでは一緒にサービス開発を推進してくれる仲間を大募集しています!
こちらのFormよりカジュアル面談も気軽にお申し込みいただけます!

Speeeでは様々なポジションで募集中なので「どんなポジションがあるの?」と気になってくれてた方は、こちらチェックしてみてください!もちろんオープンポジション的に上記に限らず積極採用中です!!!