技術者としての強みを探すヒント

この記事は、[KLab Engineer Advent Calendar 2021](https://qiita.com/advent-calendar/2021/klab) の25日目の記事です。大遅刻してしまいました、ごめんなさい。

こんにちは。KLabで今年の2月からCTOをしています@hnwです。

CTOに就いて以降、社内のエンジニアの方とお話をする機会が増えました。1on1だったり少人数の会議だったり形式は色々ですが、興味深い話をたくさん聞けて、自分にとっても会社にとっても必要なことだと感じています。

そうした際にエンジニアとしての将来の理想像やキャリアパスといった悩みを聞くことがあります。私もその場で言えることは言っているつもりですが、うまく伝わったか、もっと言えることがあるんじゃないか、とモヤモヤすることがあります。本稿ではそのモヤモヤを「○○問題」として整理してみました。

最初にお断りしておくと、キャリアの話は基本的には個人の問題ですから、あまり他人の話を真に受けすぎない方がいいと思います。話半分くらいで読んでもらって、少しでも当てはまる部分があれば参考にするくらいが丁度良い塩梅かもしれません。

## 前提：KLabのキャリアパスの考え方について

KLabでは社内評価制度としてグレードという概念があり、E（エキスパート）とM（マネジメント）の2つの選択肢があります。エンジニアとして専門性を高めていくキャリアとチームを率いていくようなキャリア、どちらも選べるような制度になっています（制度上EとMとをスイッチすることもできます）。

この評価制度は「エンジニアのキャリアパスとしてマネジメント以外の道もある、エンジニア35歳限界説[^2]なんて我々は信じていない」というメッセージでもあるのですが、その一方でキャリアがEかMかの二択に見えてしまう問題がありました。実際にはEとMの間には色々なポジションがグラデーション的に存在しており、決してキャリアは二択ではありません。各自の興味と能力は多種多様ですから、それぞれの専門性を活かしつつ幅広い活動を行って頂きたいと考えています。

[^2]: 最近の人は聞かないのかもしれませんが、昔はそういう言説がありました

## プライベートを犠牲にしないと「すごいエキスパート」になれないのでは問題

「好きこそものの上手なれ」ということわざがあります。義務感でやるより好きでやったことの方が身に付くよ、というものですね。

良いことなのか悪いことなのか悩ましいところですが、ソフトウェアエンジニア業界では「好きこそものの上手なれ」を地でいく人が多く、そうした人を目標やお手本と考える人も多い印象があります。実際、一部のすごいエンジニアの方々がプライベート時間だけでとんでもない量のアウトプットを出しているのは本当に素晴らしいと思いますし、そういう行動姿勢の人が成長しやすいのは間違いないでしょう。また、そうしたすごい人達から刺激をもらって自身の成長につなげている人も多いはずです。

一方で、そうした熱量の高い人や専門性の高い人を見て、自分はそこまで夢中に取り組めないから向いてない、自分には強みがない、などと自信を失うような人も一定数いるように思います。すごい人や尖った人を見てしまうと、自分と地続きに思えないような感覚に陥るのかもしれません。

ただ、「好きこそものの上手なれ」は尖った人だけに適用されるものではありません。世の中にはプライベートでほとんどプログラミングや勉強をしないけれども仕事が出来るエンジニアも実在します。私の知っている方について言うとプライベートは家族のために使うタイプの人なんですけど、エンジニアとしての興味や能力は十分高く、成長し続けている印象です。

すごい人、尖っている人を目標にできる人は素晴らしいし、どんどん高みを目指していって欲しいと思います。しかし、そうでない人も自分なりの「好き」や「興味」を探すこと、またそれを突き詰めることを諦めてほしくないんですね。それぞれが自分なりの熱量とペースで成長していくこともまた価値があるはずです。

将棋棋士の羽生善治さんは著書で次のように書いています。

> 以前、私は、才能は一瞬のきらめきだと思っていた。しかし今は、十年とか二十年、三十年を同じ姿勢で、同じ情熱を傾けられることが才能だと思っている。
>
> 羽生善治『決断力』より

天才代表みたいなイメージのある羽生さんに「継続こそが才能」と言われると重みがありますね。我々も長く継続できるような「好き」を見つけて能力を伸ばしていけば天才たちとも勝負できるはずです。

## 自分の強みを作ろうとしすぎて義務感に近づいていく問題

あなたの強みはなんですか？というのは採用面接などでもよく聞かれる質問で、誰しも一度は考えたことがある内容だろうと思います。強みが明らかな人の方が上司も仕事をお願いしやすいですし、強みを活かせる仕事のが成果も出しやすいですから、強みがあるに越したことはありません。

だからといって、強みを作ること自体が目的化してしまうと本末転倒かもしれません。「好きこそものの上手なれ」が正しいとしたら、自分の興味が持てること、好きなことを見つけてそれを伸ばして強みにするのが正しい順番のはずです。逆に、「自分の強みを作りたい」と考えすぎてしまうと強みのための勉強が義務感になってしまい、ことわざの通り好きでやっている人に勝てない状況になりかねません。

たとえば私について言うと「PHPのすごい人」などと言われることがある[^3]んですが、私自身はそれを目指したことはなく、結果的にそう言われるようになったと感じています。自分の興味や特性として細かい仕様やバグが気になってしまうところがあり、頻繁にPHP本体のソースコードを読み進めたりバグレポートを送ったりしているうちにPHPの内部実装に詳しくなっていきました。つまり、好きや興味を突き詰めていった結果、意図せず強みになっていったような経緯です。

「強みが欲しい」という欲求に対して遠回りなようですが、自分の興味を伸ばしていって強みに変えていくのが結果的に近道なんじゃないでしょうか。お仕事って本来的には義務としてやるものですから義務感が悪いとは言わないですが、義務の中にワクワクを探せる人の方が成長もしやすいように思います。

[^3]: 自分で言うのもどうかと思いますが、過去にPHP本体のバグを30個弱報告していたり、PHPエクステンションを何個か作ってプロダクション環境で運用したりしていますので、そこそこ希少性はありそうです。

## ジェネラリスト寄りの人が自分の興味や専門性を表明しづらい問題

エキスパートの人に比べると興味の範囲が広かったり、専門性とソフトスキルを組み合わせて活躍するようなエンジニアをここではジェネラリスト寄りと呼ぶことにします（世間一般の定義だとジェネラリストではなくT型人材に近いイメージですが、社内用語だと思ってください）。

繰り返しになりますが、「好きこそものの上手なれ」というときの「好き」の強度はいろいろあっていいはずです。つまり、「好き」を探すべき人はエキスパートだけとは限りません。自分はジェネラリスト寄りだと思っている人であっても何かしら興味や能力の凸凹があるはずですから、自分の好きを明確化して、その興味を突き詰めて強みにしていって頂きたいです。

ただ、ジェネラリスト寄りの人はあまり自分の興味や強みを表明したり意識したりできていないことがあるように思います。「本当にすごい人に比べたら自分なんてまだまだ…」という意識が働いてしまうのかもしれませんが、それだと勿体ないので興味や強みを是非とも言語化して頂きたいです。

自分の興味を明文化するメリットはエキスパートと一緒で、興味ある仕事が来やすくなったり、同じ興味を持つ人とつながりやすくなったり、情報が集まりやすくなったり、といった点が挙げられます。また、自分の興味を言語化することで自分自身の意識・興味が強化され、結果的に成長しやすくなったりする効果もあるはずです。

もっとも、ジェネラリスト寄りの人の興味は広いので、言語化が難しいかもしれません。特定技術領域の興味であれば言語化しやすいでしょうが、「どうすればプロダクトの品質を上げられるか」「どうすれば大人数開発をスムーズにできるか」など抽象度の高い内容になることもあるでしょう。とはいえ、自分が本当に興味があることが何なのか言語化することには大きな意味があるはずです。

## 自分の強みを認識していない人が他人に厳しすぎる問題

これは技術者に限らない話なのですが、自分の強みを強みと認識していない人って意外と多い気がします。特に技術者の場合は技術スキルが目立ちやすいのもあり、ソフトスキル（ヒューマンスキル）や目に見えにくいハードスキル（論理的思考力やドキュメンテーション力など）を意識しづらい傾向がありそうです。とはいえ「技術以外のスキルも業務上重要なので目を向けるべき」「自分と他人って意外と違う」というのは当然すぎることなので、大抵の人は一度言われるだけで気づきを得られるのではないでしょうか。

逆に、このことに気づいていない人はコミュニケーション面で事故を起こしやすい印象があります。実際、昔の私がそうだったのですが、自分の注意力や慎重さといった性質をそれほど特別な能力だと思っておらず、「自分ができるのだから、他人もできて当たり前」と他人に自分と同レベルを求めていたように思います。もし他の人にイライラしやすいような人がいたら、自分では普通だと思っているスキルが実は特殊能力である可能性を考えた方がいいかもしれません。

近い話題として、「他に誰もやらないなら自分がやる」と引き受けた仕事があれば、それがあなたの気づいていない興味や強みかもしれない説、というのがあります[^4]。単純に他の人が全員忙しいだけのパターンもあるでしょうが、やるべき仕事であるという高い問題意識を持っており、更に達成できるだけの能力があって引き受けているわけですから、引き受けた人は興味もスキルも十分持っている可能性がありそうです。それでいて、本来的には他の人でもできるはず、なぜ他の人はやらないのか、などと考えているとしたら今回の問題そのものを体現している人かもしれません。

この説が合っているか間違っているかはわかりませんが、自分が自己評価よりも優秀な可能性がないか、という視点は大事だと思っています（特に謙虚すぎるエンジニアの場合）。

[^4]: 私が最近唱え始めただけですが、意外と当たってるんじゃないかと思っています

## まとめ

エンジニアの強みや興味、キャリアパスといった話題について脈絡のない4つの話を書いてみました。今回の話に当てはまる人がどれほどいるかわかりませんが、読者の皆さんにとって何かしらの気づきがあれば嬉しいです。