配属初日にデプロイする
春なので、新卒者が現場に入る時期ですね。弊チームでは、配属初日に何かの機能のデプロイをしてもらうということを数年間続けているので、その話をします。
なぜ初日が大事なのか
「開発者として何かをデプロイするという行為は価値提供につながるから」というのが理由だ。他の行為、例えばアーキテクチャやドメインの把握、ミーティングから名刺交換に至るまで、そいつらは成果を出すためのオマケにすぎない。あ、名刺交換が役に立つかはわからん。
新卒者向けにもやるし、中途採用や社内異動、インターンの受け入れのときもやっている。
まあとにかく、デプロイするっていう我々の仕事を一回りすることで、成果を上げていくリズムを作ることに役立つはずだと考えて、続けている。
アイデア自体は新しいものではなく、昔どこかで読んだ記憶はある。
準備は?
初日のタスクとしてどれが良さそうかを選ぶくらいだ。過去に選んだものとして、例えば:
- UIの文言変更
- 表示項目の追加
- データ・ストリームへの項目追加
- CIサーバの構成変更
みたいなのがある。難易度はそれぞれで、誰が来るかによって調整している。
あとは、初日に他の予定を入れないこと。スケジュール管理上、まるっと押さえてしまうほうがいいかもしれない。初日は、自分のペースを組み立てられるようにしたい。
大変じゃない?
大変だよ。
開発環境を立ち上げるのもそれなりに手間はかかる。みんながモダンな感じでもない。ミドルウェアのインストールはいくらか必要だ。githubやawsだけではなく、社内システムのアカウントを許可していくのも手間はかかる。
コードのどの辺りを変更したら良いかを見つけるのも、最初は難しい。テストはどうする?よく整備されたDBフィクスチャ群なんてない。当然、ドキュメント通りにいくわけがない。期待してるほど、社会は成熟されていないんだよ。残念でした。
まあとにかく、これらを体験していただくことになる。
もちろん、放っておいてもうまくいかないので、既存メンバーを1人OJT役になってもらい、初日はとくにサポートしてもらうことにしている。
それでもやっぱり色々あって、15時くらいに状況を聞くと「あとは少し確認してデプロイするくらいですね」って言ってたけど、色々あり、17時くらいに焦ってきて、なんとか18時くらいにデプロイが終わるーみたいなのはよくある。進捗に95%なんてない。提供することでようやく「出来た」になるわけだ。
まとめ
1日で要件の確認から開発環境整備、デプロイ手順を確認しつつ、スケジューリングとリスク管理までできるの、お得じゃない?
体験したい人はご連絡を。1日体験入隊もやっています。