Dec 3, 2020
#ssmjp Advent Calendar 2020 3日目の記事です。
「チケット駆動開発がまわりはじめるまでの取り組み」の 「マインドセット」についてテキスト化するつもりで書いていたのですが、 自分のこれまでを振り返り、「チケット駆動開発」との出会いまでを書き出してみると 結構な文字数になってしまったので、今回は、「チケット駆動開発」に出会うまでをテキスト化しました。
インフラエンジニアという肩書で、 メールサービス、権威 DNS サービスのリプレイスや、 新しく提供するサービスのサーバーインフラの設計・構築、 現職では Cloud Native な技術を使ったアプリケーション実行基盤、監視基盤などの検証・設計・開発・運用に従事しています。
そんな私がインフラエンジニアになるまでと「チケット駆動開発」に出会うまでお話が書かれています。
チケット駆動開発がまわりはじめるまでの取り組み
https://speakerdeck.com/zinrai/okr-tidd-case
2011年9月に大学院を中退し、ネット系のベンチャー企業で Web アプリケーション開発のアルバイトというのが最初のお仕事でした。 会社遠いし、やっていることわけわからないし、どこから手を付ければよいかわからないし、苦痛でしかたがなかったです。 全然面白くなくて2ヶ月くらいで出社するのが億劫になり、会社に行かなくなり辞めてしまいました。 いま考えると「全然面白くない」という理由と何も告げずに会社に行かなくなるとか、相当やばいメンタルを持っていたなと思います。 変な尖り方をしていた当時の私は若かったです。
次の会社は、ネット系の零細企業にて Web アプリケーション開発の社員として採用されました。 受けたら受かったので行ってみたというような、キャリアを意識したような就職ではありませんでした。 社員としての採用でしたが、私が期待ほどではなったので試用期間から社員になれず、 アルバイト扱いとなり、4ヶ月ほどでにクビとなりました。
好きでブログにアウトプットしていたインフラ系の技術を見てくれていた大学院時代に出会った友人が、 スタートアップ企業を立ち上げていて、「働いていないならインフラエンジニアとしてうちにくる?」と 誘ってもらったことが、インフラエンジニアとしてのキャリアのスタートでした。
ただ、当時の私は、求められている期待を理解する、そこから結果に結び付けるという能力が低く、 「自分の持っている技術を使い期待されている結果を出していく」ということが全然出来ていませんでした。 スタートアップ企業に結果を出せない人をいつまでも雇っておく体力は無いので、 4ヶ月ほどでクビを言い渡され書類にサインしました。 あのときの働きぶりは、いまでも申し分けなかったなと思います。
2社目の零細企業にて、ある機能を開発するというタスクが Redmine にて割り当てられ、 そのタスクをこなすという用途に利用することが Redmine との最初の出会いでした。 自分の動きを Redmine でチケット駆動開発するという考えは、私の中に全くありませんでした。
行き当りばったりでキャリアについて意識することもなく、 結果の出し方もよくわかっていない状態で漫然と働いていて、 結果が出ていないので、クビになるというようなことを繰り返していたなと当時を振り返って思います。
2011年9月〜2014年6月までずっとこのような調子でした。
スタートアップ企業にいたときに相談役的な感じでオフィスに来ていた方がいて、 「何かあったらいつでも連絡してね」と言われていたので「クビになります」と連絡したら、 「次に行きたいと考えているところはありますか」と聞かれたので、 「 ISP やホスティング事業者など売り上げの基盤が安定してそうなところで働きたいです」と伝えたところ、 その方の人脈を使って ISP を紹介していただき、次の週には契約社員となり、2ヶ月後に社員として採用されるに至りました。 自分が、何かその方に貢献したわけでもないのに自身の人脈を使っていろんな人と引き合わせてくれたのには感謝しかないです。 社員になって貰った最初のお給料を持って食事にお誘いしました。
「 ISP の現場の方とお茶しましょう」という話だったのですが、 当日にお話の場に参加してみると懐石料理屋に通され、 そこには副社長、部長、副部長、現場の方2人がいたことは、いまでも記憶に新しいです。 ヨレヨレの Intel Tシャツとサンダルで話し合いの場に参加したことをいまここで謝罪します。 申し分けありませんでした。
「これから構成管理を推進していきたいと考えているが知見を聞かせてもらいたい」 「 Docker についてどう考えるか」などの質問をされたことをかすかに覚えています。 「 Chef を使っているのですが、サーバーにパッケージインストールしたり、設定したりしたいだけなのに、プログラム読むみたいな書き方になってしまっていて辛いなと感じています。 Ansible だと違ってくるのですかね。」とか、 「 chroot と union mount の実装である aufs を組み合わせると Docker のレイヤーっぽいこと出来て楽しいですよね。」とか答えたような気がしています。
食事後に「オフィスに行きませんか」と部長さんから言われついっていったら「健康保険はいつ切れますか」と聞かれ、 「今週です」と答えたら、「じゃあ来週から来てくだいさい」と言われ契約社員として採用されました。
当時の部長さんは、私が転職するよりも前の 2017 年に転職していきましたが、 最終出社日の前に百貨店で買った菓子折りを渡し、 「○○さんのおかげで、サラリーマンができ、自身の収入の基盤は安定しました。ありがとうございます。」と伝えました。 「いえいえ、よかったね」という返事をされ目頭が熱くなりました。
ISP の社員として採用されたからといってクビになっていた頃の自身の課題が解決したわけではありません。 ここでの、環境と体験というものが、今日のマインドセットを作り上げています。
入社し配属された技術部門では Redmine でタスクを管理していくという流れとなり 実際にシステムが動きはじめて少し経っているというタイミングでした。 ここから Redmine での「チケット駆動開発」というものにしっかりと触れていくことになります。
2014年7月〜2019年1月の間の話になります。