ソフトウェアエンジニアの師弟関係
株式会社ワクテクというスタートアップでCTOをしているカタオカといいます。オンラインフィットネスサービス『SOELU』を開発しています。
今日はソフトウェアエンジニアの師弟関係について書いてみます。
Twitterでこんなやりとりをしていて、そういえば自分はどんな人たちに育ててもらったのかな、と振り返ったのがきっかけです。
※新人のメンタリングとエンジニアリングマネージャの仕事がごっちゃになった内容になっています。あしからず。
人の成長は環境に左右されるところが多いですが、特に新人ソフトウェアエンジニアにとって、最初に師事する人はとても重要です。
若干自分語りっぽくなってしまいますが、ぼくが最初に本格的な指導をしてもらったとき言われたのは「カタオカくんは覚えが悪いね」という言葉でした。今でも覚えているくらい強烈に自分の中に刺さった言葉で、悔しくて情けなくて、自分の中で成長への危機感が芽生えた瞬間でした。
その方はすぐに退職してしまい長く指導を受けることはできませんしたが、退職される際もう使わないからと言ってHHKB Type-Sというキーボード(27,500円もします!)を無償で譲ってくださり、今でも大切に使っています。
このエピソードを引用して何が主張したいかと言うと、師弟関係は人間同士の相性に寄るところが大きいということです。ぼくは「覚えが悪い」という言葉をやる気につなげることができましたが、人によってはやる気を断ってしまった可能性もあります。カタオカならそういう言葉がいちばん効くだろうというところまで読まれての発言だったかもしれません。また、ぼくは元々その方を尊敬し、師事したいと思っていたからこそ素直に聞き入れられたところもあります。
その後、何人かのエンジニアリングマネージャやメンターのお世話になりましたが、いい関係が築けるときもあればうまくいかないときもありました。その原因を人間同士の相性で終わらせてしまうと大雑把すぎるので、もう少し具体的に考えてみます。
自分の経験を元にした帰納的な答えになってしまいますが、上手く行くときのひとつの条件として「やりがいへの理解」がありそうです。
ぼくはエンジニアをする上で「事業の成功」と「コードベースを健全に保つこと」を主なやりがいにしています。そのやりがいのどちらかに理解し、やり取りしてくれた上司・メンターとは良い関係を築くことができました。
やりがいを理解するなんて簡単だと思うかもしれませんが、人間が理解できるやりがいは意外と限られています。理解できていない場合、メンバーは1on1や日頃のやり取りの中で、言葉の端々から自分への無理解を感じるものです。
例としてぼくのエンジニアリングマネージャー側での失敗談を紹介します。
ぼくは「今の自分は最低で、少しでもマシな人間になるために仕事を通して成長したい」という意識を根本に持っています。ですから、メンバーにも「今後どんなキャリアを築いていきたいか」「どんな成長がしたいか」を訊き、そのアシストをすることが自分の仕事だと考えていました。
しかし、「今の自分を気に入っていて、いつも自分らしくありたい」と思っている人も大勢います。ぼくはそのような意識で仕事をしている人のことを理解できていませんでした。
「どんな成長をしたいか」をわざわざ決めなくたって、その人にあったやり方で働けば成長する人はちゃんと成長します。ぼくの「どんな成長をしたいか考えてほしい」というやり取りは、単にメンバーにとってストレスになっているだけでした。
こういう話はきちんと体系だってまとめられた書籍が多くありますから、それらを通して様々な人のモチベーションを理解する努力をすることが重要なんだと思っています。共感はできなくても理解はできますから。
例えばこの書籍は参考になりました。
そんなこんなで、ぼくは経験の浅い人を採用するときは「自分が理解できるやりがいを持っていること」を条件にしています。また、そのためには採用した人自身が師弟関係を築く必要があります。
前々職では「カタオカが面倒みるなら採用するよ」と言われた新卒の子が入社してくる前に自分が退職しちゃったりしているので、そういうときは申し訳ないですね。
エンジニアの師弟関係といえば、アプレンティスシップ・パターンという本を昔読んでいい本だったんですが、今見たらAmazonには中古しかないしオライリーの公式サイトでもPDFしか売ってませんでした。絶版になっちゃったのかな。