【新人エンジニア必見!】現場で即戦力になれる方法

こんにちは、IT女子やってるりんぬです。

ITエンジニア人気が高まってきている中、プログラミングスクールも急増してきましたね!

未経験者の方でもエンジニアになれるプロセスが整備され、まさに今エンジニアとして案件をスタートされる方もいらっしゃるのではないでしょうか。

ここで、いじわるなようですがあえて言っておきたいのは、研修やスクールで培ってきたスキルだけでは即戦力にはなれないということ。

プログラミング言語の学習はもちろん必要ですが、現場に入ったらエンジニアとして納期までに確かなクオリティの製品をつくりあげるために必要なスキルはもっと複合的なものなのです。

新人エンジニアが現場で必要なスキル

もちろんエンジニアは技術力がなんぼ!な世界なんですが。

 

その、複合的なスキルが何かっていうのは、デキる人は感覚的にこなしていることもあって、あえて言語化されていないことが多いんですよ!

そこで、現役IT女子の私が多くの現場経験から学んだことをお伝えしましょう!

サンプルを見つけて応用する

案件に参入した当初から、いきなり「新規でこの機能をつくって!」ということは、ほぼないです。

たいていの場合、まずは「こんな風な変更を加えたいんだけど」という要望通りに、元あるプログラムを修正することが初めの第一歩です。

その時に意識しなければならないのが、適切なサンプルを探し出し、それを応用することです。

もっと噛み砕いて言えば、

・元々あるプログラムのコードを「どんな処理がされているのか」がわかるまで読む。

・その中で自分が修正すべきコードを探し出す。

・修正していく過程で、同じような処理をしているプログラムがないか探し、参考にする

という手順を踏むことになります。

たいていの現場では、独自ルールで好き勝手にプログラミングできるわけではなく、各案件ごとにプログラミング規約が定められています。

その規約に従ってコードを書いていくためにも、ムダに悩む時間をなくすためにも、各現場の先人たちが書いたコードを参考にしてしまう方が効率的だし、勉強にもなるのです。

もし参考にすべきプログラムがどれかわからなかったら、「参考になりそうなプログラムありますか?」と先輩方にきいてしまうのも手ですよ。

エラーを切り分けできる

まるっきり新人の頃は、エラーが出るたびもうそれだけでパニックになっていました。

エラーって、英語で「ここの部分がダメですよ〜」って示唆してくれるメッセージとともにでるんですが、わりとすっっごい抽象的なエラーメッセージな時も多いです。

そうなると、エラーメッセージでググる→見つからない→試合終了となってしまい、結局は先輩方にうるさいハエのごとくつきまとい、質問責めにしてしまっていました…。

そんな時にすべきことは、エラーの切り分け。

切り分けとは、「どの部分でエラーが起きているのか」を見極めるため、1つひとつの処理単位でOKかNGかを検証していくことです。

例えば、SQL風に説明すると

スーパーでりんごを買う

青森県産だけを買う

200円以内なら買える

という処理があり、これにエラーが出ているとしますよね。

これを、このように

スーパーでりんごを買う

青森県産だけを買う

200円以内なら買える

「200円以内なら買える」という条件を一旦無効化してエラーの切り分けを行います。

それでエラーがなくなったのなら「200円以内なら買える」が原因。

まだエラーが出ている場合「スーパーでりんごを買う」か「青森県産だけを買う」のどちらかが原因ということになります。

切り分け方法自体は、もうぶっちゃけ経験なんですよ!

なので本当に始めの時は、先輩方のエラーの対処法を見て盗んでいくしかありません。

少なくとも「エラーが出たら切り分けを行ない、どこで発生しているかを特定する」という思考を早いうちに身につけましょう。

スケジュール管理をめんどくさがらない

なんの仕事でもそうだとは思いますが、エンジニアには高い納期意識が求められます。

ですから、スケジュールをしっかりとたてて作業を進めていくことが大切なのですが…

これがけっこう難しいんですよね!

経験が少ないと、

・そのプログラムを完成させるのにどのような行程が必要なのかイメージしづらい

・さらに、行程1つひとつがどのくらい時間を要するのかがわからない

など、わからないことづくしで、計画が立てづらいんですよ。

なので、私はとりあえずけっこう多めに時間もらってました

このくらいの時間でイケるだろ、と思ってたけど「エラーで何時間もかかっちゃって進捗ヤバイ…」とかあるあるですからね。

そして、エクセルとかにスケジュール表を作ってみること。

これは、めんどくさがらずにやった方がいいですね。

・作業内容(できるだけ細かく)

・予定の工程数(○時間)

・実績の工程数(○時間)

の項目で表を埋めていくと、後でスケジュール表を見返した時に「この作業に自分は○時間かかってたのか」っていうのがわかります!

そうすると次の作業の時に、自分はどれくらいの時間でできるのかがわかりやすくなりますよね。

現場で重宝されるエンジニアになろう

いくら事前に勉強したといっても、実際に現場に入って働いてみると

コーディングのレベルが参考書やスクールと全然違ったり、作業内容がイメージと全然違ってたり

けっこうなギャップに出会うわけです。

ですので、即戦力となるためには、基本的な言語スキルに加えて、適応力やロジカルな思考力、時間管理などの基本的な社会人力などあらゆる能力をバランスよく伸ばしていく必要があります。

逆にコーディング能力がピカイチでも、自分勝手なコーディングばっかりしていたら、そのメンテナンスや修正に時間がかかってしまい、ウザがられるエンジニアになってしまうのです。

現場に入ってからは、言語の勉強を継続しつつ、重宝がられるようなバランス良く質の高いエンジニアを目指しましょう!