孤独な挑戦がエンジニアを育てる。専門技術の追求

孤独な挑戦がエンジニアを育てる。専門技術の追求 さしあたり、いま思う事
この記事は約9分で読めます。

エンジニアをどう教育しようか困っている…。将来を見据えてキャリア形成してあげないといけないけれど、アサインする案件をうまく調整できない。

そういう悩みを抱えている方はこちらの記事をどうぞ!

コンじゃぶろー
コンじゃぶろー

こんにちは!コンじゃぶろーです!

エンジニアとして、どのようなキャリアを積むのか?積ませるのか?これはとても難しい問題だと思います。実際、サラリーマン時代に非常に苦労したポイントです。

単純に、来た仕事を適当に与えていれば、エンジニアとして経験と実績が積み上がっていきますが、本人がやりたくない仕事であれば、モチベーションが低下して離脱することになってしまいます。

私は、とにかく目の前の仕事をこなしているうちに、良いキャリアを積むことができて今がありますが、そうではないパターンも多く見て来ました。ミスマッチによる悲劇を生み出さないように、プロジェクトマネージャーやディレクターは、将来を見据えて与える仕事を考えなければいけません。

また、受け身ではなくエンジニア自身も自分のキャリアを意識した仕事の取り組み方をするのが良いと思います。単純に嫌な仕事を拒否するということではなく、指示された仕事に対して「キャリア」を意識した働き方をするようにしましょう。

今日の記事は、これまで目の前で成長してきたエンジニア達の共通点をまとめてみましたので、この記事を読んでこれからのキャリア形成に役立てていただけると幸いです。

本日の記事、重要なポイント

  • チームの中に守られていては、見えないものがある。
  • 専門的な技術に挑戦する孤独が、エンジニアを成長させる。

専門技術に挑戦:頼れない経験がエンジニアを育てる

専門技術に挑戦:頼れない経験がエンジニアを育てる
専門技術に挑戦。頼れない、頼らない経験が、エンジニアを育てる。

人が成長する時は、何かの試練をクリアした時です。

エンジニアにとっての試練とは、大きなプロジェクトを任せられたり、想定外の不具合がでた時です。ただ、大きなプロジェクトを任せられるというのは、エンジニアというよりかは、マネジメント寄りの話なので、今日は割愛します。

今日注目すべきは、想定外の不具合が発生した場合に、エンジニアとして力を発揮する為の方法です。その方法は、社内で誰もやっていないような専門的な技術に挑戦するという方法です。

チーム内での成長の限界:見えないものを探る

チーム内での成長の限界:見えないものを探る
チームの中に守られていては、見えないものがある

想定外の不具合が出た時に、エンジニアはとても成長する事が多いです。

大抵の場合、社内には「ライブラリ」と呼ばれる便利なものがあります。プログラムを組む時に、毎回作ってあるような処理がまとめられているので、簡単に説明すると、コピーして中の値を変えるだけで使えてしまうようなものです。

1から組み立てるのは大変なので、こういう便利なものが用意されています。

社内で統一されたフォーマットと言いますか、過去からの遺産として脈々と受け継がれています。「ライブラリ」としてまとまっていなくても、過去のソースをコピーして改造を加えながら開発するケースは珍しくないと思います。

こういうのは、作業の効率化が増すので、どこの会社でも用意していると思います。みんな同じように過去の遺産を使い続けるメリットは、「みんな知っている」という点です。共通言語なので、他の人が組んだプログラムでも、内容を把握しやすくなっています。

分からないものを使うライブラリの選択

分からないものを使うライブラリの選択
分からないものを、分からないまま使えるライブラリ

ライブラリがあると、分からないものを分からないまま使う事ができます。

勘の良い新人であっても、ベテランエンジニアくらいの成果を出せたりします。それくらい、会社が受ける案件というのは似たようなものばかりなので、同じような処理対応できるんです。

すると、どうなるかというと、みんな分からないまま使うので、潜在的な不具合が残ったまま継承されていても、それに気付けないケースが発生します。

エンジニアの世界では、「動くプログラムは美しい」という有名な格言があります。

例え、構造的に大問題を含んでいたとしても、動いているなら大丈夫という考え方です。構造的に問題があると理解できていればまだマシですが、気づいていないケースもあります。

面白いプログラミング例題でスキルアップ!楽しみながら学ぶ方法

分からないものを使わない決断

分からないものを使わない決断
分からないものを、分からないまま使わない

エンジニアがやってしまいがちな落とし穴は、「分からないものを、分からないまま使う」という事です。

スケジュール的に、ギリギリ(丸々過去案件の処理をコピーする事が前提で)の時間で開発しなければいけない場合もあると思いますが、少しでも早く開発できたならば、少しずつライブラリの中身を理解する為の時間にしましょう。

分からないものを、分からないまま使うと、大きな不具合を生む可能性が膨らみます。中身がわかっていないので、自分に責任がある事にも気付けなかったりします。すると、テストをした結果、デバッカー(テストする人)が不具合を発見し、デバッカーの言葉で不具合報告する事になります。

もちろん、デバッカーはエンジニアではありません。だから、見た目の印象だけで報告するので、それだけではよく分からない事がほとんどです。誰か手の空いているエンジニアが原因を調査します。

別のエンジニアが原因の調査をして、いろいろ触ったプログラムが自分の手元に返ってきます。そうなると、かなりのタイムラグも発生しますし、自分の所に戻ってくるまでの間に、多くの人が工数を使う事にもなります。さらに、中身の構造が理解できていない為、これまた多くの時間が必要になります。

もし、最初の段階で、中身を理解できていたなら、そもそも不具合が発生しなかったでしょう。

これが、分からないものを、分からないまま使う罪です。

【スケジュール管理する仕事】実績20年のゲームクリエイターが教えるディレクション業務【永久保存版】
  • 分からないものを、分からないまま使えるライブラリ
  • 分からないものを、分からないまま使わない

孤独な挑戦がエンジニアを成長させる理由

孤独な挑戦がエンジニアを成長させる理由
専門的な技術に挑戦する孤独が、エンジニアを成長させる。

良いエンジニアというのは、案外目立たなかったりします。

トラブルを起こしまくって、汗をいっぱい流して目立った方が評価されてしまうケースも少なくありません。本当は、不具合を出しまくるエンジニアというのは評価されるべきではないのですが、そっちの方が頑張っているように見えるんです。

派遣社員として来るようなエンジニアの中には、本当は凄く出来るのにそれを隠している場合もあります。目立たずに、あまり重たい仕事がやってこないように立ち回る人もいるくらいです。

派遣で様々な環境を渡り歩くエンジニアは、その会社が使っているライブラリを読み解く力に優れている人が割といます。知らない環境を読み解く力を手に入れると、将来の選択肢が増えるのでおすすめです。

どうすれば鍛えられるかというと、誰もやった事がないような専門的な技術に挑戦するという事です。

誰に聞いても分からない孤独感の克服

誰に聞いても分からない孤独感の克服
誰に聞いても分からないから、自分で調べるしかない孤独感。

社内で、誰もやった事がないような技術に挑戦すると、ライブラリを活用できない事がほとんどです。例え、ライブラリを活用できても、社内のライブラリを熟知していないと組み込めないケースも多くなります。

しかも、専門的になるほど誰も知らない技術なので、全て自分で調べるしかありません。分からない事があった時は、誰かに聞けばすぐ答えが返ってくるというのも、チームの良さです。しかし、それに頼り切っていても成長は難しいです。

時々は、こうやって誰にも聞けない状況に挑戦するようにしましょう。僕が見てきた成長するエンジニアは、知らない技術に挑戦している人ばかりです。中には、率先して「やった事のない事をやらせて欲しい」という人もいました。

専門的な技術を、孤独な環境で学ぶ試練に挑むエンジニアは、残らず急成長します。何度も、そういう現場を目撃してきました。逆に、ずっとコピープログラミングだけで生きているエンジニアは、何年やっても成長できません。それでも成果は出せますし、そういう人が増える事でプロジェクトの安定度は増すので悪い事ではありません。

エンジニアとして、ステップアップしたいかどうかです。

一人で戦うか、仲間と共に進むか。SNS上での集団形成戦略

専門技術をチームに共有する意義

専門技術をチームに共有する意義
専門技術を、チームに共有する事で、エンジニアは成長できる。

専門技術を使った挑戦に打ち勝ったなら、エンジニアとしてかなりレベルアップしている事でしょう。

しかし、それだけでは不十分です。何らかの形で、その技術をチームに共有しましょう。

共有すると言っても、「僕は、この専門技術を実装しました。」と分かるようにするだけでOKです。チャットツールや掲示板、ライブラリの中に書くのも良いですし、雑談で共有するだけでもOKです。

詳しい説明をしなくても、認知さえされていれば、必要なタイミングで必ず声がかかるようになります。その時に、詳しい話をするようにしましょう。そうすれば伝える力が上昇していきます。伝える力が上昇すれば、オンライン上で確認できる場所に共有するのが良いでしょう。

そうすれば、説明する時間も省略する事が可能になり、チームは強くなります

自分の知識を誰かに共有する時、その技術は本当の意味で自分のものになります。専門的な技術の習得は、伝える部分もセットで考えておくのがオススメです。

5分でできる情報共有!チームを強くする「一石三鳥の問いかけ」
  • 誰に聞いても分からないから、自分で調べるしかない孤独感。
  • 専門技術を、チームに共有する事で、エンジニアは成長できる。

まとめ:エンジニア育成のためのチームマインド

まとめ:エンジニア育成のためのチームマインド
エンジニアを育てるチームのマインド

素晴らしいエンジニアが育つには、環境がとても大切です。

・問題が起きにくいライブラリがある。

・チームに新しい技術に挑戦する文化がある。

・技術を共有する文化がある。

最新の機材があるというのも大切ですが、新卒でも扱えるような「問題が起きにくいライブラリ」が、あるという事は大前提です。

それがなければ、いくら新しい技術を研究してもライブラリに組み込む事ができないからです。

そして、新しい技術を習得するには、チームの協力が欠かせません。新しい技術はトラブルが発生しやすいので、カバーし合う必要があるからです。協力し合う文化があれば、技術を共有するのは容易いです。

ここまで説明してきましたが、なかなか難しい部分も多いと思います。100本もゲームを作っていると、うまくいかないチームも沢山ありました。ただ、この環境が整ったタイミングでエンジニアが育つのを見てきたので、こういう環境になっていないチームはチャレンジしてみて下さい。

これらの環境が整えようと思う気持ちが一番必要なのかもしれません。

以上、さしあたり、今思う事でした。

ここまで読んでいただけてありがとうございます。

皆様の良い人生の一助になれば。

「新しい技術に挑戦、リスクを避ける術」安定と成長を両立させる方法
Youtubeチャンネル「2分で音声ブログ」

コメント

タイトルとURLをコピーしました