よわよわエンジニアの生存戦略

この記事は QUELCODE Advent Calendar 2019 の 22日目の記事です。

qiita.com

はじめに

こんにちは、みやにしです。
今回の記事は、私の副業先でもあるQUELCODEというプログラミングスクールのアドベントカレンダーの記事となります。
今年の10月頃から、QUELCODEでプログラミングスクールの講師として副業を始めました。日曜の午前中のクラスを担当しています。

講師なんて偉そうなことをしている立場で言うのもなんなんですが、入社時の私は会社の歴史上No.1の使えないエンジニアでした。
今も決して、技術的に ”強い” エンジニアではありません。
ちなみに、ここで私が言っている "強さ"とは、
技術に対する興味関心の強さ × 知識量 × 経験量
みたいなイメージを持っていただければと思います。

周りのエンジニアの方を見ていると、技術的な探求心が強く、趣味がエンジニアとしての仕事に近い人が多いなと思います。
正直、私にはそこまでの熱量も知識も経験もないですし、周りを見ていると焦ることも多いです。
それでも、あくまで職業として、エンジニアの道を生きて行きたいと思っています。

QUELCODEで学んでいる方々は本当に意欲的で、それこそ "強い" エンジニアとして卒業される方も多いと思います。
でも、みんながみんなそうなるべきとは決して思いません。
そもそも、卒業後に出会う現場のエンジニアは、昔から研鑽を続けているような「つよつよエンジニア」が圧倒的に多いわけです。
そんな人達と出会って自信をなくしてしまった時、
自分のエンジニアとしての価値が分からなくなってきた時、
「エンジニアを辞める/諦める」という選択肢ではなく、
「エンジニアとして生き残る」という選択肢を持って欲しいという気持ちを込めて、この記事を書きました。

前書きが長くなりましたが、
実際によわよわエンジニアな私が、どんなことを考えてエンジニアとして生き残っていこうとしているのかを書いておこうと思います。

「他の人の知識を使える」人になる

仕事をしていると、自分が知らないことや未経験の分野に対しての判断を求められたり、実装をしなければいけないことがあったりします。
そんな状況を解決するには、
①自力で調べる
②人に聞く
という2つの選択肢が考えられます。
入社直後の私は、なるべく自力で調べられないかと試行錯誤して時間を浪費していました。
これ、新卒あるあるだと思っていて、自分が与えられた仕事なのに、他の人に教えて貰うのが申し訳ない…という方って多いと思います。

しかし、会社目線で考えると、その仕事が遂行されるのであれば、極論誰がやってもいいわけです。
なんなら、誰がやったのかより、どれだけ早くできたか、の方が重要なことが多いです。
自分で調べて分かる目途が立っているのであれば調べればいいですし、誰かに聞いた方が早そうなら聞いてしまえばいいんです。
そして、それを知見として貯めることができればいいんです。
知りたい情報にたどり着くまでのスピード…もっと言えば、求められている判断や成果物を提出するまでのスピードを大切にしてください。

もう一つ、別の視点で考えてみてほしいのですが、
知識を持っている側の人はその知識がどこで必要とされているか分からない場合も多いです。
しかし、分からないことを質問することで、その知識を引き出すことができるわけです。
私は、人の持つ知識や情報を上手く引き出すのも一つの能力だと思っていますし、私が後輩のメンターをしていた際もそのように伝えていました。
何よりそう思うことで、自分自身が人に聞くことに抵抗感がなくなりました。

自分の知識がないことを恐縮するのではなく、聞き上手になって、自分の知識も高めていきましょう。

「観点の組み合わせ」を増やす

エンジニアとして就職していれば、技術的な観点をもって物事を判断できることが求められる場面に遭遇します。
もし、技術的に社内で一番造詣が深い分野があれば、その分野についての判断を求められたり、質問/相談を受ける機会はかなり多くなると思われます。
それは会社にとってすごく価値のあることです。

しかしそういった、自分が「尖っている分野」がない場合はどうやって価値を出せばいいでしょうか。
もちろん「自分が尖っている分野を作る」のも正しい道だと思います。
でももう一つ、道があります。
それは、「いろんな分野を知り、複数の観点をもつ」という道です。 

例えばですが、自分の携わっている事業の形態や影響範囲、その事業が今後どういった方向に進むのか…などが分かっていないと、どんなに技術的な知識や観点を持っていてもその事業に最適な判断ができないことが多いです。
逆に、複合的な視点を持っていると、いろんな立場を考慮した最善策を考えることができるため、周りから意見を求められることが多くなります。
その経験によって、すでに持っている視点が深まり、さらに様々な場に呼ばれるようになります。

この場合、別に一つ一つの観点知識は深くある必要はないと思っています。
特に自分の本業務以外のことは、それを本業務にしている人より詳しくなくて当然です。
「なんとなく分かっている・知っている」ことがたくさんあることがとても重要なのです。

ゲームで例えるならば、「ある特定の武器を使うのがめちゃくちゃ上手い人」になるか、「いろんな武器をすべてある程度使いこなせる人」になるかみたいな感じです。
(逆に分かりにくいかな…)
一本集中で特定の分野のスペシャリストになるのか、広く浅くな知識を組み合わせて価値を生むのか。
自分の性格やキャリアパスと組み合わせてどちらを目指すべきかは考えてみるといいかと思います。
ちなみに私は、後者を目指して日々勉強中です!

さいごに

今回の記事は決して「つよつよエンジニアを目指すな」ということではありません。
(むしろ、そこを目指せるなら目指したほうが幸せかもしれません。)

でもエンジニアだっていろんな人がいます。できること・できないことも人それぞれです。
自分の周りの人が強いからと言って、必ずそれを真似しなきゃいけないわけではないんです。
自分が人よりちょっと得意なことがあれば、そこから新しいエンジニア像を創ればいいんです。
私自身、そうやって自分だけの価値を作っていきたいなと思いながら仕事をしています、という共有でした。

この記事が誰かの参考になれば、そして、エンジニアという職業のハードルを少しでも下げることができれば幸いです。

謝罪

かなり時間ギリギリな投稿になってしまいすみません。。。
自分の文章を書く遅さに愕然としています…。