チーム開発に「絶望」してから、アジャイルに「没頭」した話【#01】 〜チーム開発なんてクソ喰らえ〜

アジャイル物語

「1人で全て実装できる

 エンジニアになりたいんです」

 

それは当時、本音の

「なりたいエンジニア像」

だった。

 

「1人で全て、ですか、、、
 それだと出来ることも
 限られそうですね。」

 

「、、、
 ツールが進歩し続ける今の時代、
 できると思いますが」

 

「そうですか、、、」

 

2018年、都内某所。
ぼくはクライアント候補と
フリーランス面談をしていた。

 

面談結果はお見送り。
先方は「チーム開発」を重視するようで、
「1人で全て実装できるエンジニア
はミスマッチと考えたようだった。

 

ぼくはロボットベンチャー(以降、ロボ社)
と契約中で、次の職場を探していた。

 

当時のロボ社は
「チーム開発」が全く機能しておらず、
チームというよりグループ。
各自に責任を押し付け合い、
タスクの完了は人によって曖昧で、
それによってギスギスしていた。

 

またそれぞれの方法で仕事を進めていたので、
コードはスパゲティ化していて、
他メンバー近い領域のタスクを任されると、
まったく意味不明なコードを解読してから
タスクに取り掛からなければならなかった。

 

「シマヅさん。このタスク、
 発生時刻を変えるだけなんだけど、
 いつ終わるか分かる?」

 

「あの、、、ここの実装ヤバ過ぎて、
 把握するのに3日欲しいくらいです」

 

「え?でもヌケ本さんはすぐ実装してくれましたよ?」

 

「、、、」

 

そりゃあ、アイツが実装したところだから、
本人はわかっているんだろうよ。

 

当時チームでは1番コーティングに明るく、
契約期間も長かったぼくは、
他のフリーランスが契約を終了していく中、
それらを引き継いで追加開発を行っていた。

 

「ふざけやがって、、、
 なんだこのクソコードは、、、!!!!」

 

20時を過ぎ、
締切ギリギリだったぼくは、
他メンバーのコードに激怒した。

 

どうしてぼくがこんなタスクを
押し付けられなければいけないんだ、、、

 


 

「ヌケ本さんよろしくお願いしますね!」

 

「シマヅさん、こちらこそ
 よろしくお願いします!」

 

ロボ社でのフリーランスメンバー、
ヌケ本さんは
コミュニケーションが取りやすい人で、
自信もありそうだった。
作業デスクにはAWSやWeb開発系の
私物のアーキテクト本がずらり。
本人も「私はアーキテクトが得意」と自称していた。
ぼくは、彼の活躍に期待していた。

 

「ヌケ本さん、コードレビュー
 お願いします!」

 

「シマヅさん、すごく分かりやすくて
 良いと思いました!」

 

最初は順調だと思っていた。

開発責任者からアサインされた
新規開発のタスクは、
新しいインフラやツールを使う
種類のモノであっても、
すぐに実現していた。

 

責任者は、満足そうにしていた。

 

「ヌケ本さんは、タスクすぐに
 実装してくれてとても良いです。」

 


 

ヌケ本さんと同時期に、
タダシさんがアサインされた。

 

タダシさんはとても几帳面な方で、
机の上はいつもスッキリとしていて
昼食後の歯磨きも欠かさず
ハンカチはいつも常備していた。

 

実装は「早い」という
感じではなかったが、
すごく読みやすいコードで、
バグも少なく、
メンテナンスしやすく
開発してくれていた。
そこまで考慮した開発速度なら
申し分なかった。

 

また非常に勉強熱心で、休みの日でも
新しい技術の記事や良書を
共有してくれたりしていた。

 

これからこのチームでやっていくんだと、
チーム開発が楽しみだった。

 


 

しばらくして、タダシさんから質問された。

 

「シマヅさん、ヌケ本さんのコードってどう思いますか?」

 

「え? まだ確認したことなかったですね。どうかしましたか?」

 

「この現場、コードレビューとか
 あまりしてないですもんね。
 私のフィルターを通したくないので、
 とりあえず確認してもらって良いですか?」

 

「わかりました、今やってるタスクが
 落ち着いたら確認してみます。」

 

どうしたんだろう。
と少し不安に思い、
タスクを巻きで終わらせて、
コードを確認してみた。

 

(こ、これは、、、)

 

「タダシさん、ヌケ本さんの
 コード確認してみました。
 ちょっとコンビニでも
 行きながら話しませんか」

 

「はい、そうしましょう」

 

とりあえず落ち着いて判断したかったので、
2人でコンビニへ歩きながら探り探り話し始めた。

 

「その、なんというか、、、
 部分的に、、、」

 

「シマヅさん、すごく読み辛くないですか?」

 

「、、、そうですね笑」

 

「やっぱりそうですよね。
 コーディング規約や
 コードレビューを
 本格的に取り入れませんか。」

 

「はい、それが良いと思います。」

 



「シマヅさん、
 こんな感じでコーディング
 教えて貰えるの、
 ありがたいですー!」

「はい。ヌケ本さん、
 参考にしてくださいねー!」

よかった、これで円滑に進むだろう。

そんな期待もつかの間、
次のコードレビューで
全く進歩が見られず。

(あれ、、、全然伝わってない。)

この時は、ぼくの伝え方に問題があるのか、
そもそもコードレビュー以前に
擦り合わせた方が効果があるのかなど、
考えが及ばず、
以上のようなことが暫く続いた。

 

そんな中、なぜか自信満々なヌケ本さん。

「いやぁ、私はアーキテクトの人間なんでw」

 

そして等々、タダシさんは我慢の限界が来た。

「いや、アーキテクトも
 デキて無いですよ、ヌケ本さん。
 これで完了したことにしないで下さい」
タダシさんが一蹴。

「は? いや、それって
 タダシさんの主観じゃん。」

「ヌケ本さんの実装、
 他メンバーには難読なんです。
 もっと勉強して下さい。
 ハッキリ言って迷惑です。」

以上のような感じで、特に
タダシさんとヌケ本さんの言い合いは
日を追うにつれて、ヒートアップしていった。
生産的かどうかより、
感情が優先されてしまっていた。

タダシさんはそんな開発責任者やヌケ本さん
とはやってられねぇと、契約終了した。

そして、
「ベンチャーは半年もいたら十分でしょw」

と、ヌケ本さんも
案件に飽きたようで、
クソコードを残してやめた。

 

そんな状況を経験した
未熟だったぼくは、


「チームに1人、開発全てを
 リードできる存在が必要だ。」


「寧ろ、最強の1人がいたら
 それが最強の開発になる。」


そう思ってこれからは、
チーム開発よりも
自身のスキルアップを優先しようと思った。

 

「チーム開発なんてクソ喰らえだ」

 


 

フリーランス面談では、たまに
「これから先、どんな
 エンジニアになりたいですか?」
と聞かれる。

ぼくは

「1人で全て実装できる
 エンジニアになりたいです」


と答えていた。

 

紛れもない本音。

そんな中、ロボ社に
新しいメンバーがやってきた。
日本の大学院を卒業した、
タイ人のエンジニア。

 

「シマヅさん、一緒に設計の
 ディスカッションしましょう」

 

彼との出会いは、当時のぼくの考え方を
180度変えるきっかけとなります。

 


 

続きはTwitterで告知します!
フォローよろしくお願いします🐶

 

コメント

タイトルとURLをコピーしました