専門技術を極める。エンジニアの自己実現への挑戦。

専門技術を極める。エンジニアの自己実現への挑戦 さしあたり、いま思う事
この記事は約9分で読めます。

チームのエンジニアをどうやって育てよう?

あるいは、チームの中でエンジニアとしてどう貢献していけるだろう?

そう言う悩みを抱えている方には、是非とも読んでもらいたい記事です。

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

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

エンジニアリングの世界は、絶えず変化し、新たな技術が日々生まれています。このダイナミックな環境の中で、エンジニアが自己実現を目指すには、専門技術の深い理解と習得が不可欠です。しかし、真の成長とは何か?それは単に新しい技術を学ぶこと以上の意味を持ちます。

チームの中で守られているとき、私たちはしばしば快適な環境に慣れ、挑戦から遠ざかりがちです。しかし、エンジニアとしての成長は、しばしば孤独な挑戦の中で最も顕著に現れます。分からないことを自ら調べ、解決策を見つけ出す過程は、単なる技術的なスキルアップを超え、自己実現への道を切り開きます。

この記事では、エンジニアが専門技術を極める過程で直面する挑戦と、それを乗り越えたときに得られる充実感に焦点を当てます。自分自身の力で技術的な壁を乗り越え、新たな領域に足を踏み入れる勇気。それは、エンジニアとしてだけでなく、一人の人間としての成長にも繋がるのです。

専門技術の探求は、単に知識を増やすことではありません。それは自己実現への挑戦であり、自分自身の限界を超えていく旅なのです。この記事を通じて、エンジニアとしての自立と成長の旅路を探ります。

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

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

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

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

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

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

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

チームの中に守られていては、見えないものがある

チームの中に守られていては、見えないものがある
チームの中に守られていては、見えないものがある

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

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

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

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

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

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

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

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

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

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

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

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

課題解決の数だけ強くなる!プログラミングで成長する秘訣

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ひとりでやるか、集団でやるか。SNSで自立した集団を目指す

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

安定した仕事で新技術に挑め!リスクを避けつつ成長する方法
Youtubeチャンネル「2分で音声ブログ」

コメント

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