6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

新人プログラマにやってほしいこと

Last updated at Posted at 2022-04-21

はじめに

新人プログラマ応援 - みんなで新人を育てよう!」イベントの投稿記事です。

エンジニア歴5年、管理職もやってましたので、
その経験から新人さんにやってほしいことをまとめてみました

1. マインド

1-1. 100%を目指さない

100%を目指さないでください
  
できると思っている上司でも思考錯誤しているので、
個人的な100% を模索するよりも60%〜80%の状態で
早めにコミュニケーションをとるほうが重要です

1-2. かならず自己研鑽を実施する

1タスク(機能)の開発が完了したら、かならず自己研鑽する時間をとりましょう

  • 自己研鑽した内容は必ず次回以降のタスクで意識して作業していく
  • 意識しなくても作業できるようになるまでは目につくところに記載しておく
自己研鑽の仕方
 ① 「できたこと」 ・ 「できなかったこと」について3個以上あげる
 ② それぞれ挙げたものについて2段階以上の深掘りして、内容を精査
深掘りの例
工数がオーバーしてしまった
  Q1.なぜ工数がオーバーしてしまったのか
    A1. 工数を意識して作業していなかったから
      Q1-1. どうしたら工数を意識できるようになるか
        A1-1. 作業工数がわかるように、作業時にアラームを設定する

失敗することが問題でなく、
失敗したことを繰り返してしまうことが問題なので、
自己研鑽して再発防止策の策定を実施しましょう

また、成功事例については他領域でも再利用できる可能性が高いので、
できたことについても自己研鑽できるといいと思います

2. コミュニケーション

2-1. 報連相の目的を意識したコミュニケーション

報連相とは「報告」「連絡」「相談」の頭文字をとったもので、
仕事を円滑に進めるうえで必要不可欠なスキルです。

というのは有名な話ですが、
上司とコミュニケーションする際には、
報告連絡相談」のどれに自分の行動が該当するか確認しましょう

また、その行動に対する目的を達成するようにしましょう

報連相の目的
報告: 相手に結果を伝えて承認を得ること
連絡: 相手に現状or調査結果を伝えること
相談: 相手と話合い方向性・対応方針を決定する

よく、仕様を確定した報告なのか仕様の相談なのかわからないコミュニケーションをうけてました

2-2. 質問の仕方

質問するのはいいことですが、以下2点注意しましょう

  • なんでも丸投げしない
    どうしても解決できない問題なら仕方ないですが、
    これどうしたらいいですか?ではなく
    これこうしようと思っているのですがどうでしょうか?のように1人称で質問する

  • 調査過程についても共有する
    これ調べたのですが、わからなかったですではなく、
    こういう風に調べてみたのですがわからなかったですのように
    調査過程についても共有する
    調査過程も報告することで調査の仕方や考え方についても上司からアドバイスがもらえます

2-3. アラートは爆速で

自分でどうにもならなくなったら、
臆せず早いタイミングで上司に相談しましょう

相談が早い場合と遅い場合で上司がとれる手段が変わってきます

相談が早い場合に上司がとれる手段
 ・増員
 ・アサインの変更
 ・リスケ
相談が遅い場合に上司がとれる手段
 ・増員

3. 開発

3-1. プログラム内で一貫した自分ルール

1タスク(機能)内の改修について、
一貫性があるプログラミングをしましょう

※ もちろん社内のコーディングルールは遵守ください

※ 自分ルールでいいものができたら、積極的にコーディングルールに追加していきましょう

3-2. 機能を因数分解

自分の知識レベルまで機能を因数分解する

因数分解イメージ
機能A
  → 機能a
     → 機能a-1
       → 関数Xで実装可能 
     → 機能a-2の技術調査・開発 
  → 機能bの開発

3-3. 予定工数の割り振り

過去の経験を基に算出します

未経験・知識レベルが足りていない内容については、
スケジュール上の工数でおさめにいくと仮定した際の目安工数を割り振る

※あくまで作業前の目安のスケジュールとして、
変動があることを前提として割り振りしましょう

工数割り振り (24h作業の場合)
機能A
  → 機能a
     → 機能a-1
       → 関数X: 4h: 実装方法が明確なため
     → 機能a-2
       → 機能a-2の実装方法に関する調査・実装: 12h = 24h - 8h - 4h
  → 機能b: 8h: 過去の類似の開発工数から算出

3-4. 知識レベルが足りていない内容から実施していく

知識レベルが足りていないな内容について、
工数が大きくかかる可能性があり、
あとまわしにしているとリカバリーがきかない状況になる可能性が高いです

残作業時間を明確化されていると、
「余力あるから、この技術深掘りしよう」とか、
「ちょっと遅れ気味なので、ここはよく理解できていないけどとりあえず」など、
自身の知識習得についても考えながら作業を実施できます

工数が不明確・知識レベルが足りていないな内容から順に対応していきましょう

3-5. 全体進捗を意識する

新人のうちは割り振った工数から遅れることが多いと思いますが、
その遅れについて他改修箇所で吸収できそうか確認しながら進めていきましょう

どうにもならない場合は、上司にアラートを爆速であげましょう

さいごに

よきエンジニアライフを

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?