新人が一人前になるまでに行っていること
橋本 ► 倉貫さんの会社はチームで対応しているとはいえ、個人の能力に負うところが大きいですよね。雄介さんの会社もレベルの高い案件をいろいろこなしている。そういう状況でも新人を採用していますが、成果を上げられるようになるまでどうされているのですか?
倉貫 ► 新人は100%コストです。修業中で、お客さんの仕事、つまり売上につながる仕事をやらないので、みんなで新人の給料の面倒を見ます。
お客さんとは成果で契約するので、優秀なエンジニアがいることが僕らの価値でもあります。僕が信頼関係を築いたのにへっぽこが担当についてだめになるとお客さんに迷惑をかけるので、しっかり教育して一人前になるまでお客さんの前に出しません。
僕らの仕事のやり方では、一人前になるまでは、新人を3人当てても10人当てても100人当てても、一人前の1人分の仕事にはならないと考えています。頭数ではないんです。新人が一人前になるまで社内で修業させるしかありません。それには3年くらいかかると思っています。
鈴木 ► うちの会社では、300人月規模の仕事があると、新人でもできる仕事があります。中国へ投げる仕事の大半はルールが明確で、努力すれば終わる作業なので、そういう作業から始めます。あとはテストです。テストで大事なのは、エンジニアと話をしないと、バグのレポートができないことですね。
そういう作業をしながら、ソフトウェアのしくみや動作を理解していき、次にコーディングをして、自分がバグを出す側になってというステップ繰り返すことで、3年目からようやく一人前です。ただ、それまで何らかの作業をしてもらい、若干お金にはつながるので、100%コストではないですね。
橋本 ► 一人前の定義って何でしょうか? 一人前になるまでの成長の見守り方を教えていただけますか。
鈴木 ► うちの会社では、スキル面より、人間力を見ます。規律を守り言われたことを言われたとおりにできるところから、言われたこと以外もできるように「自律」したかどうか。複数のマネージャが「自律」に合意したら一人前です。
橋本 ► 技術より自律?
鈴木 ► 技術的なスキルには流行り廃りがあるし、プログラマだけが偉いわけではないので、いろいろなスキルセットがあっていいと思っています。
橋本 ► 倉貫さんの会社では技術が必須ですよね。
倉貫 ► そうですね。プログラマのキャリアパスしかないので。キャリアパス上は、新卒は「弟子」で、名刺にも書かせます。弟子、一人前、その次が師匠です。わかりやすい定義では、お客さんを2本持てる実力があることが一人前の条件です。
スキルの面では、まず、Ruby、Ruby on Rails、クラウドを使えること。次に、1週間に一度、2時間の打ち合わせで、自分の作ったものをプレゼンして価値を認めてもらい、次に作るべきものを引き出すために、お客さんとちゃんと話ができること。
もう1つが同じく自律。ソニックガーデンにはマネージャがいません。指示もされないので、自分で考えて仕事をしなければならない。セルフマネジメントができないとリモートワークもできないし、働く時間も決められない。セルフマネジメントができて初めて一人前になれます。
僕らの会社では、一人前以上なら、いつどこで働いてもOKです。一方で、弟子はちゃんと会社に来て、10時~18時で働きましょうという感じでやっています。
橋本 ► コミュニケーション能力についてはどうですか?
倉貫 ► 仕事では、人に伝えて満足してもらうことが大事ですよね。お客さんに限らず、大きな会社の社内で上司と話せなければ仕事になりません。技術力かコミュニケーション能力かという話があるけど、コミュニケーション能力は仕事をするなら当たり前。その上で技術力があって当たり前になると思います。
コミュニケーションに関してはペラペラとうまくしゃべれる必要はないんです。お客さんが困っている話を聞いて、答えてあげてということができればいい。流行りのファッションやおしゃれなお店を知らなくても、仕事のことは誰でも話せるんですよ。真摯に話ができれば十分です。
一人前になったエンジニアの転職と幸せ
橋本 ► 一人前になり、お客さんの会社のCTO的な立場で働くようになった結果、お客さん側に転職したいと言われたらどうしますか?
鈴木 ► 基本的に、問題ありません。
ただ、ユーザ企業ではユーザ側の観点で評価されるので、それが自分にとって幸せかをちゃんと考えなさいと言います。エンジニアの評価は、優れたエンジニアにしかできないと思っているので。
特にうちの会社では、IT部門が充実していないお客さんが多く、外部からのほうがいろいろなことが言えたりやれたりすると思っています。それでもユーザ企業で頑張りたいならそれでかまわないし、戻りたければ戻ってくればいい。
倉貫 ► 転職は会社ではなく本人が決めることなので、しようがないと思います。
僕らのお客さんはエンジニアを抱えられないので、僕らに仕事を頼みます。単にお金の問題だけでなく、エンジニアのキャリアパス、セクション、出世コースを作らなければならないため、専属のIT部門を持つことはやはり難しい。そう考えると、ユーザ企業の中ではなく外で仕事するほうがいい。ユーザ企業にいて幸せな人は、エンジニアじゃなくてビジネスがやりたいんですよ。エンジニアとしての幸せはたぶん開発側じゃないと得られない。
たとえば、新会社や新事業では、社員を雇っても、税理士や弁護士を雇うことはたぶんありません。うちは小さい会社で、弁護士をフルタイムで雇ってキャリアを作るのは無理なので、アウトソースします。それと同じで、ユーザ企業でも、プロのエンジニアを雇うより、アウトソースして一緒に仕事をするほうがいいと思う。
鈴木 ► 付け加えると、ユーザ企業では安定化や効率化のために、使用するテクノロジを固定化するのが一般的です。弊社のお客さんでも、各社で最適なテクノロジが採用されています。つまり、携わる案件が変われば、新しいテクノロジに触れる機会が出てきます。
エンジニアとしてのスキルを磨き続けたいなら、ユーザ企業でのキャリアアップは難しいと思います。海外ではわかりませんが、日本では外部のソフトウェア開発企業にいたほうが、いろいろな経験ができるのではないかなあ。とはいえ、うちのお客さんは超最先端とは言えないので、超最先端テクノロジをやりたいなら転職もやむなしですね。