4月入社の新卒学生が社内研修を終え、新米エンジニアとして続々と実務プロジェクトに投入される時期となりました。当社の新人エンジニアも、6月からお客様環境のプロジェクトで稼動しております。

研修以外の始めての仕事となると「こんな自分で大丈夫だろうか・・」と、研修中から不安を抱える人は多いと思います。というわけで、新人エンジニアが初めての開発業務で、何を任せられることが多いのか? ということを一般論ではありますが、ご説明していきましょう。

新人エンジニアの仕事はプログラミング・単体テストが基本

社員数が数百名以下の中小ソフトウェア企業に入社したエンジニアは、まずはプログラミングと単体テストを任されることが多いです。いわゆる「プログラマー」としての仕事です。

プログラミング

まずは社内研修でなんとか覚えたプログラミング言語を駆使して、さまざまなプログラムを組んでいくことになります。とは言っても、会社としても新人をいきなり一人で作業させることもないでしょうから、先輩社員の手厚いフォローを受けながら仕事を進めていくことになるでしょう。

そうした中で仕事としてのプログラミングが、学校で習ってきたものとは要点が異なることを理解すると思います。

もちろんアルゴリズムの考え方は同じですが、仕事でのプログラミングとなると、バグがなく動作することは前提で、それ以外にも処理速度を考慮したり、使い勝手の良いインターフェースを考えるなど、さまざまなことに配慮しなければなりません。
※詳細は「お客様に喜ばれる良質なシステムに欠かせない3つの要素」を参照ください。

最初はプログラミングの工程一つとっても、分からないことばかりだとは思いますが、過度に落ち込む必要はありません。どんな凄腕のエンジニアでも新人の頃があり、誰もが分からない状態から始めているのです。

だからしっかりと自分が任されている作業をこなしながら、毎日覚えたことを吸収していくような心構えさえ持っておけば大丈夫です。

単体テスト

テスト工程の中でも単体テストは、わりと新人エンジニアが担当することの多い作業。プログラムを解析したり、仕様書を読みこまなければ遂行できませんので、プログラムやシステムの理解を深めるにはちょうど良い作業なのです。

ただしプログラミングは学生時代に経験があっても、テストとなると学生時代に学んできたという人は少ないはず。作業内容としては設計書に記載の仕様を理解し、プログラムを解析した上で、条件を網羅する形で「こういった条件の時は、こういった結果がでるはず」というテストケースを作成し、ひたすら消しこみを行っていきます。

想定通りの結果が返ってこればよいのですが、想定外の結果が返ってこれば、それはバグ(不具合)であり、想定通りの結果が返ってくるようにプログラムの修正を行わなければなりません。単体テストも最初は戸惑ってしまうかもしれませんが、しっかりとテストをする上で注意すべき点や、意識するべき点の確認を先輩社員に行ってから作業に取り組むようにしましょう。

テストについては当サイトの「システム開発におけるテスト工程の基本【実施する意味や要点】」でも、要点などをご説明しておりますので、是非参考にしてください。

プログラミングは比較的楽しい作業ですが、単体テストはどちらかというと地味な作業です。退屈に感じられるかもしれませんが、システムの品質を保つためには非常に重要な工程です。「重要な肯定を任されている」という意識を持って取り組むようにしましょう。

大手ソフトウェア企業の新人は設計から行う

社員数が千名以上のシステムインテグレーターとよばれる大手ソフトウェア企業に入社すると、同じ新米エンジニアでも中小規模のソフトウェア企業に入社した新人とは仕事が異なってきます。

まずプログラミングや単体テストをすることはないでしょう。これは新人だからという理由でなく、その後もプログラマーが担当するような作業をする機会は発生しません。システムインテグレーターの仕事は、システム開発の中でも上流工程がメインで、下請けとなる中小ソフトウェア企業の管理をする能力が求められます。そのため大手ソフトウェア企業の新人はいきなり設計からスタートすることになります。

プログラムを組めないシステムエンジニアが生まれてしまいますが、生涯大手ソフトウェア企業で勤め上げるなら問題ないでしょう。しかし転職などで中小ソフトウェア企業に勤めることになってしまった場合は、プログラムが組めないがゆえに、少々大変な思いをすることになるかもしれません。

 

おわりに

新人エンジニアにとっての初めての仕事は、中小ソフトウェア企業であれば、プログラミングと単体テスト。大手ソフトウェア企業であれば設計や管理から任されることになるのが一般的。

実際のプロジェクトに入る前は不安も大きいと思いますが、まずは目の前の仕事をしっかりとこなすことを意識しましょう。そして少し余裕が出てきたら、「他者と差のつくSEがスキルアップのために努力していること」でもご説明してるように、”できるエンジニア”になれるような努力を積み重ねていきましょう。

 



【X(旧twitter)でも情報発信中】

Xを最近始めたので、フォローしてもらえると嬉しいです(エンジニア界隈の方はフォローバックさせていただきます)! システム開発に関することや、最新テクノロジーのことなど、世のエンジニアにとって有用な情報を発信してます!

"X" @TECH_KEYSYS