師匠の話をまたしましょうか

最近はやりのソフトウェア工学と属人性の話について。色々書いてみたのですが上手く書けなかったので、師匠の話をしてみます。

漫画家体制のはなし

もともと組み込み屋さんからスタートしたわたしですが、Webの大規模な開発を経験するまで、漫画家体制の話は普通の話だと思ってました。

わたしの師匠なんか、わたしを含めて弟子を抱えてた感じです。で、その師匠が一番威力を発揮する仕事に専念させる作業が私たち弟子の仕事の一つでした。

電話番して居留守をつかったり、開発機材を手配したり(レンタルとか購入見積りとか)。そしていわゆる管理職的な仕事――勤怠申請に上長印を押したりも、当時新人だったわたしの仕事でした(師匠に預けられた師匠の判子を使ってバシバシ処理してましたヨ)

雑務はいろんなところに転がっていて、進捗管理はメンバーの仕事っぷりを把握することが本当の仕事で、ガントチャートを頻繁に更新したりするコト自体が仕事なわけじゃないけれど、会社とのすりあわせにそう言うのが必要なら、そういうのはペーペーの弟子のお仕事です。あと手書きの図やら要点を押さえたメモドキュメントを 体面として Word化しなくっちゃ、とかですね。*1

非常に合理的で仕事を成功させるためには手段を選ばない師匠だけれど、だからこそ社会人としてすっごくムチャクチャで、たとえば一人で勝手にフレックスだったりで、会社に来ていないのを「あれ?ちょっと席を外しているみたいですね」と誤魔化しつつ、師匠の家に起きろコールをしたりとかw。懐かし。でも、誰よりもプロの仕事をしていたから、誰も文句は言えなかったです。

なんか、話がそれました。ここまでムチャクチャなのは師匠くらいだったですけれど、でも5人程度のチームで、凄く出来るのが一人と、その右腕が一人、あとは弟子とか雑用じみたのが数人・・なんて構成は、その会社では普通でした。中心となる出来る人の名を取って「○○家」とか「チーム○○」みたいに呼ばれたり。仕事により別の家の人間でチームを組むコトはあったけれど、所属というか師弟関係はずっと変わらず、みたいな。(でそのうち暖簾分けされて、あたらしい家ができる)

育てるはなし

一連の流れを観ていて、凄い人を雇うのが難しいとか数が足りないとか言われていますが、わたしはお気楽に「そんなのは育てればいいじゃん」と思ってしまいました。

もちろん、「パンツじゃないから恥ずかしくないもん」なくらいにウィザード級にスーパーな方は別として、一連のビジネスな文脈で要求されるような「出来るプログラマ」レベルなら、普通に教育で作れるモノだと思います。作るコツは、素直な新人であることと、あとは、出来ないことをさせること、かしら。

 でもその難しいところってのを自分に任せて!と言ったところで、遊びじゃないんだから会社だって変にリスクとって、やれるかやれないか分からない奴にやらせるなんて賭けはしないわけで、「あいつならやれる」と思われないとだめなわけだ。

 あいつならやれる、と思わせるには技術がいるわけで、技術を身に付けれる仕事を割り当てられたければ技術的な信頼がいるわけで、という鶏と卵のような話になるわけなんだけど、会社が割り当ててくれないのが悪いと愚痴ったところで問題は解決しないから、自分で技術を身につける選択肢をとるしかないと思う。

カネの為のプログラム、勉強の為のプログラム - プログラマーの脳みそ

本当にそうなんですよねー。多くの現場ではそんな鶏と卵がぐるぐる回っちゃって抜け出せない。さらに最悪なのは、現場ごと低レベルに凝り固まってしまっていて仕事を通じての成長なんててんで見込めない所とか。だから、技術者視点ではプライベートで自分で勉強するしか、「技術を磨くルート」への確実な道はないと思います。あと、酷いところからは早めに転職するとか。


師匠のチームは、師匠やその右腕さんをいかに効率よく動かすか、良くできたチームでしたが、弟子達を育てるという面でも素敵なチームでした。師匠のチームに所属していると、外に出たとき「あそこで育ったなら優秀だ」というブランドが社内でつくくらい、師匠は教育にも熱心でした。

わたしが社会人になった年の10月。わたしは既存のシステムを利用して新たなシステムを作る仕事を、設計から一つまるごと任されました。

なんて無茶な!と、思われるコトでしょうが、いや、ホントにムチャでした...。わたしは解らないことが解らないくらいの新米ヘタレ素人プログラマで、それでもガンバって、なんとか12月末のお客様へのレビュー期日までに、何とか動くモノをつくりました。信じられない工数をかけて、既存のシステムを壊しまくるような失敗作を。あぁぁ、なんたることです..orz

でも、そのレビューのあと、師匠に「ひと月あげるから丸々作り直してイイよ」と言われました。それは元からスケジュールに見込まれていました。最初のをつくるのに3ヶ月以上かあ買ったのですが、一度の失敗を踏まえての設計のし直し、作り直しは ひと月もあれば十分でした。何が問題になるかは既に解っていましたし、わたし自身も10月の頃のわたしとは違います。今度は一応及第点といえるものを作り上げることが出来ました。

おそらく師匠だったら2週間も掛からないであろう仕事なのに、わたしを教育するためだけに、よくも師匠はこんなスケジュールを通したモノだと今でも思います。そして、そもそもわたしが失敗すること自体、全て計算通り。出来ないことに挑戦し、失敗し、再挑戦する。その上で最終的に「仕事がこなせた」と思えるハッピーエンドも用意するパブロフ効果もバッチリ。まんまと手のひらで踊っているわたし。

これは一番の極端な例で、ここまでのは他には無かったのですが*2、でも師匠の仕事の振り方は万事、ちょっとだけ「出来るかなぁ」な仕事を弟子達に振り、でもそのリスクは師匠のコントロール下にある、そんな感じでした。

また、振る仕事は小さなプロジェクトになるような感じで切り分けてくれました。見積り、分析・・まで入るのは全部ではなかったですが、少なくとも 設計、実装、試験 などは垂直に丸ごと担当です。勿論最初に「作戦」を授けてくれたり、いろいろチェックして軌道修正をしてくれたりと、師匠クォリティになるように手間暇を掛けてもらっての上なのですが、一つの仕事を頭から尻尾までやれるというのは、教育にはとても良かったと思います。「ここはお前に任せた」みたいな、あるいは、一国一城の主、みたいなのは嬉しいですし、何より作るのが愉しいですし!

そんなこんなで当時わたしはプライベートでは全くプログラムを組まない子だったのですが、師匠のおかげで、そこそこ真っ当なエンジニアになれる道へ向けスタートを切ったのでした。足を向けて寝れないです。でも、この業界が嫌になってそんな師匠のもとからも逃げちゃった、不肖の弟子なのですよね、わたしは...。 うぅ、顔向けも出来ません。

*1:だから、アジャイルモデリングを読んだときは、なんてまともなことを真っ正面から言っているんだろうと感動したです

*2:多分、わたしは危うい子だったし、エンジニアとしての方向付けを決める大事な時期だったから、破格の大判振る舞いをしてくれたのだと思う