Devinくんが入社した日
はじめに
こんにちは、株式会社 Hacobu テクノロジー本部データチームの dach です。
先日、新しくAI チームメイトの Devinくんが入社しました。僕はオンボーディング担当として彼と関わることになったので、ブログという形でオンボーディングの様子をお伝えできればと思います。
本記事では、Devin くん入社日(オンボーディング1日目)に行った「環境構築」の奮闘記の一部始終をお届けします。
1日目にやったこと
- 作業するリポジトリのクローン
- 開発に必要なプログラミング言語のインストール
- 開発ルールなどのコンテキストを教える
オンボーディング時の様子
作業その1:作業するリポジトリのクローン
まずは作業をお願いする Github リポジトリを clone してもらいます。
作業その2:開発に必要なプログラミング言語のインストール
git pull や依存関係のあるライブラリのインストールや、lint のチェック方法・test の実行方法などを事前に教えてあげます。
想定外その1: 必要な言語が入っていた
開発に必要なプログラミング言語を asdf のようなランタイムバージョンマネージャーを入れてから、開発に必要な言語や poetry のようなパッケージマネージャーを入れようとしました。Devin くんは ubuntu ベースの環境であり、ubuntu への導入は初めてだったので、色々手探りで試しました。しかし、結果的に、すでにシステムに必要なツールが入っていることに気づき、この手順は不要でした。
作業その3:開発ルールなどのコンテキストを教える
作業をする前に、 Devin くんにこのリポジトリで開発する際のルールなどの知っておいたほうがいい情報を教えました。今回セットアップしたリポジトリは dbt を管理するリポジトリだったので、ネットで拾った Cursor の dbt ルールにデータチームで守っているルールや原則、利用先などの情報を追記して、詳しく教えてあげました。
想定外その2: セットアップの罠
環境構築が完了したと思いきや、「セットアップ成功→ボタンクリック→白画面エラー」という美しい即落ち2コマ劇場が展開。リロードで復旧しましたが、Devin くんも教えたことを噛み砕いて理解するまで(セットアップ)には時間がかかるようです。
まとめと教訓
Devin くん入社1日目は「開発環境の構築」を行いました。彼へのオンボーディングを通じて、如何に人間に対してはある程度受け取り手の能力に依存する形を暗黙的に期待していたのかがわかりました。別のリポジトリの作業をお願いするときは、これらの経験を活かして事前にコンテナ化したり、コマンドの事前準備やテスト環境の整備、開発コンテキストの明文化に取り組む予定です。
次回は彼にも仕事に慣れてもらうために、コンテキストを必要としない簡単な改修タスクをお願いする予定です。
参考文献
Discussion