【新人エンジニア】ほったらかしにされる原因・やるべきこと

※本サイトはアフィリエイトリンクを掲載しています。
新人エンジニア

Web系エンジニアのカズです。エンジニア歴は7年ほどになります。

主にバックエンドエンジニアメイン+フロントエンド+チーム全体の進捗管理の業務を担当しています。

私の経験を元に、新人エンジニアさんがほったらかしにされてしまう原因とやるべきことについて記載した記事になります。

この記事を読んでいただくことで悩んでいることの解決方法が提示できれば幸いです。

主に新人プログラマーの方に向けて、書いた記事になります。

 

ほったらかしにされる原因3選

・①教える先輩が忙しい

・②今現在、任せられる仕事がない

・③質問してくるのを先輩が待っている

 

①教える先輩が忙しい

原因の1つ目は、教える先輩が忙しいからです。

教える立場の人は、仕事ができる人なので仕事を多く抱えていることが良くあります。
わざと新人さんを放置しているわけではなく、単純に手が空いていないだけです。

 

②今現在、任せられる仕事がない

 

原因の2つ目は、任せられる仕事がないからです。

あくまで今現在はタスクがないという場合もあります。

今後は、このようなタスクを割り振ろうと思っているけど今はそのタスクに着手できないという状況もあり得ます。

良くあるのは上流工程の要件定義や顧客からのヒアリングで時間が掛かっていて開発作業に着手できないという状況もあるでしょう。

 

③質問してくるのを先輩が待っている

3つ目の原因は、質問してくるのを先輩が待っている場合です。

新人エンジニアさんに対して、自発的に行動してほしいと思われている場合があり得ます。

先輩も1~10全てを細かに説明するのは大変です。

ある程度質問してきてくれる新人エンジニアさんの方が、コミュニケーションは取りやすいはずです。

 

やるべきこと

・ソースコードや仕様書を読んで、プロジェクト全体像を把握できるように調べてみる

・自分にできる仕事がないか調べてみる

・自分が理解できていない箇所について調べてみる/学習してみる

・何をやるべきか先輩に相談してみる

 

ソースコードや仕様書を読んで、プロジェクト全体像を把握できるように調べてみる

まず一番やってほしいのは、ソースコードや仕様書を読んでプロジェクトの進捗を理解することです。
仕様書は現場によっては作成されている場合と作成されていない場合があります。
または仕様書が最新化されていない場合もあります。
なので、基本的にはソースコードを読んで内容を理解することがベストです。
ほったらかしにされてタスクがなかったとしても、次にどんなタスクを任されるか分かりません。
ソースコードを読んで内容を理解しておけば、どんなタスクが来ても対応がしやすいはずです。

 

ソースコードを読む(バックエンドエンジニア編)

バックエンドエンジニアの場合は、まず下記の点を大まかに把握したいです。(Laravel前提)

①DBの構成を見る。テーブルの親子関係など

②各テーブルのデータが、どの画面に使われているか把握する

③CRUD処理(登録・更新・削除)をしているソースを見る

④共通処理を把握する

あくまで参考ですが、これらが把握できると大まかな流れは掴みやすいです。

 

①DBの構成を見る。テーブルの親子関係など

DBツールなどを使用して、DB全体の内容を把握しましょう。

Laravel前提の話になりますが、親子関係などテーブルの関係を見たい場合は、対象のModel(モデル)ファイルを見て確認できます。

 

Modelの親子定義ソースコードの例(hasOneメソッド)

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
     public function phone()
    {
        return $this->hasOne('App\Models\Phone');
    }
}

 

②各テーブルのデータが、どの画面に使われているか把握する

Laravel前提の話になりますが、モデル名やテーブル名と似た名称で、controllerが生成されているはずです。

ルーティングファイルを見て、そのcontrollerを読み込んでいるurlの画面を見ることで確認が可能です。

ルーティングファイルの参考例

Route::get('/post/index', [PostController::class, 'index'])->name('post.index');
Route::get('/post/register', [PostController::class, 'register'])->name('post.register');
Route::get('/post/edit', [PostController::class, 'edit'])->name('post.edit');
Route::post('/post/store', [PostController::class, 'store'])->name('post.store');
Route::post('/post/update', [PostController::class, 'update'])->name('post.update');

 

③CRUD処理(登録・更新・削除)をしているソースを見る

Laravel前提の話になりますが、controllerかrepositoryにロジックが記載されているはずです。

大まかな処理の流れを見ると良いでしょう。

 

CRUD処理参考例

public function store(Request $request) 
{
    try {
            $posts = Post::post();
            Post::create($request->all());

            return redirect()->route('post.index')->with([
                'posts' => $posts,
                'store' => 'true'
            ]);
        } catch (Exception $e) {
            return redirect()->route('post.index')->with([
                'posts' => $posts,
                'store' => 'false'
            ]);
        }
    }
}

 

ソースコードを読む(フロントエンドエンジニア編)

フロントエンドエンジニアの場合は、まず下記の点を大まかに把握したいです。

①レイアウトの共通ファイルを把握する

②プラグインの把握をする

③バックエンドエンドとのデータの受け渡し方法を把握する

④どのviewファイルがどの画面に適用されているのか確認する
(どのフレームワークを使用するかによって確認方法が異なる)

あくまで参考ですが、これらが把握できると大まかな流れは掴みやすいです。

 

①レイアウトの共通ファイルを把握する

大抵は、レイアウトの共通化処理はされているはずです。

レイアウトに限らずですが共通ファイルにどんな処理が書いてあるかは把握しておく必要があります。

 

②プラグインの把握をする

例えばdatepickerなどのカレンダー機能など、プラグインやライブラリを使用している場合は良くあります。

それらを把握することで効率良く実装することが出来るでしょう

 

③バックエンドとのデータの受け渡し方法を把握する

フロントエンドエンジニアの場合フロントエンドの事しか理解していないことが、あるかもしれません。

ですが、画面に表示するデータはバックエンドの処理を通過して表示する場合が多々あります。

受け渡し方法の把握は必要でしょう。

また本で学習をすることも、おすすめです、

 

ソースコードを読んでも内容が分からない場合は質問しよう!

新人エンジニアさんの場合、ソースコードを読んでも内容が理解できない事があり得ます。
その場合は、どこがどう分からないのか。質問内容を整理して先輩に聞いてみましょう。
先輩も忙しい状況であれば全てを教えてくれないかもしれませんが、何かしらヒントをくれる場合もあるでしょう。
ヒントを元に自分で調べて学習してきましょう。

 

自分にできる仕事がないか調べてみる

先程の「ソースコードを読んで理解する」に関連しますが、ソースコードを読んでプロジェクトの全体像を把握すると不具合やバグが見つかる場合もあります。
または、「この改修がここにも必要ではないか。」という改善点が見つかることもあるでしょう。
新人エンジニアさんが、ほったらかしにされている状態は「先輩が忙しい」「手が回っていない」事が多いはずです。
つまり、何かしら余った作業があるはずです。
重要度が低いタスクは後回しにされている場合が考えられます。
簡単な作業でも良いので、まず何かできることはないか探してみましょう。

 

自分が理解できていない箇所について調べてみる/学習してみる

ソースコードを読んで理解できないことは、自分で調べてみましょう。
ソースコードを読んで理解できないことの例(Laravel編)
・データの登録/更新/削除処理がどこに書いてあるのかが、分からない。
解決策:controllerまたはrepositoryにロジックが書いてあるはず。

・データの登録/更新/削除処理の書き方が理解できない
解決策:メソッドについては調べれば沢山でてくるので参考にする

・データの取得方法と値を画面に表示させている処理が理解できない。
解決策:controllerからパラメータを渡してbladeで表示させているはず。

 

何をやるべきか先輩に相談してみる

自分で調べられる範囲でやるべきことがない場合は、先輩に相談してみましょう。
新人プログラマーの方に向けて、本記事は記載していますが大抵は下記の中のどれかが作業内容になると思います。

・仕様について理解する(ソースコードを読む。ドキュメントを読む。先輩に聞く。)

・ドキュメント整備(仕様書の作成や更新、設計書の作成や更新)

・プログラム改修

・次のタスクに向けて学習をする

コメント