新人エンジニアが知っておくべきこと¶
新人エンジニアとして現場に入る前に押さえておきたい知識を、ソフトスキル・ソフトウェア開発・仕事の進め方 の3つの観点から整理する。
1. ソフトスキル編¶
技術力と同等かそれ以上に、現場で求められるのがソフトスキル。 研修では技術を学べても、ソフトスキルは意識しないと伸びない。
1-1. コミュニケーション¶
| スキル | 具体例 |
|---|---|
| 傾聴 | 相手の話を最後まで聞く。途中で遮らない |
| 言語化力 | 「なんかバグってます」→「〇〇画面で△△をクリックすると500エラーが出ます」 |
| 非同期コミュニケーション | Slack/Teams等で、相手の時間を奪わずに情報を伝える |
| 対面の力 | テキストで伝わりにくいことは直接話す。印象に残る度合いが格段に違う |
1-2. 質問力¶
エンジニアにとって質問力は最強のスキル。ベテランでも分からないことは日常的にある。
質問テンプレート:
15分ルール: - 最初の15分は自分で調べる(公式ドキュメント、エラーメッセージでググる等) - 15分経っても解決しなければ質問する - 「自分で調べた」証拠があると、相手も答えやすい
1-3. フィードバックの受け方¶
- コードレビューの指摘はコードへの指摘であり、人格否定ではない
- 「なぜそう指摘されたのか」を理解し、次に活かす
- 分からなければ「なぜですか?」と素直に聞く
1-4. 継続的な学習¶
IT業界の変化スピード
2020: コンテナ・Kubernetes が主流に
2022: GitHub Copilot 登場
2023: ChatGPT/LLM ブーム
2024: AIエージェント・RAG が台頭
2025: AIコーディングツールの標準化
2026: ← いまここ。次は何が来る?
→ 学び続けないと、あっという間に置いていかれる
- 技術ブログ(Zenn, Qiita, dev.to)を定期的に読む
- 勉強会・カンファレンスに参加する
- 個人プロジェクトで手を動かす
2. ソフトウェア開発編¶
2-1. バージョン管理(Git)¶
これだけは覚える Git コマンド:
git clone <url> # リポジトリを取得
git checkout -b feature # ブランチを作成して切り替え
git add <file> # 変更をステージング
git commit -m "message" # コミット
git push origin feature # リモートにプッシュ
git pull # 最新を取得
git log --oneline # 履歴確認
ブランチ戦略(GitHub Flow):
-main は常にデプロイ可能な状態 - 機能ごとにブランチを切る - Pull Request(PR)を出してレビューを受ける - レビューOKでマージ 2-2. コードレビュー¶
レビューを受ける側のコツ: - PRの説明をしっかり書く(何を・なぜ変更したか) - 差分は小さく保つ(目安: 200-400行以内) - セルフレビューしてから出す
レビューする側の心得: - 「なぜダメか」ではなく「こうするとより良い」と伝える - 重要度を明示する(Must / Should / Nit) - 良いコードには褒めのコメントを
2-3. 開発手法¶
| 手法 | 特徴 | 向いている場面 |
|---|---|---|
| ウォーターフォール | 計画→設計→実装→テスト→リリースの順に進む | 要件が明確で変更が少ない案件 |
| アジャイル(スクラム) | 1-4週間のスプリントで小さく繰り返す | 要件が変わりやすいWebサービス等 |
| カンバン | タスクを可視化し、WIP制限で流れを管理 | 保守・運用チーム |
スクラムの基本サイクル:
┌─────────────────────────────────────┐
│ スプリント(1-4週間) │
│ │
│ 計画 → 開発 → レビュー → 振り返り │
│ │
│ デイリースクラム(毎日15分): │
│ ・昨日やったこと │
│ ・今日やること │
│ ・困っていること │
└─────────────────────────────────────┘
↓ 繰り返し ↓
2-4. テスト¶
- ユニットテスト: 関数・メソッド単位のテスト
- 結合テスト: 複数のコンポーネントを組み合わせたテスト
- E2Eテスト: ユーザー操作をシミュレーションするテスト
2-5. セキュリティの基礎¶
最低限知っておくべき脆弱性(OWASP Top 10より):
| 脆弱性 | 概要 | 対策 |
|---|---|---|
| SQLインジェクション | DBクエリに悪意のあるSQLを注入 | プリペアドステートメントを使う |
| XSS | Webページに悪意のあるスクリプトを注入 | 出力時にエスケープする |
| CSRF | ユーザーに意図しないリクエストを実行させる | CSRFトークンを使う |
| 認証の不備 | パスワードの平文保存、セッション管理の甘さ | ハッシュ化、適切なセッション管理 |
鉄則: ユーザー入力は信用しない。必ずバリデーション・サニタイズする。
3. 仕事の進め方編¶
3-1. 報連相(ホウレンソウ)¶
日本の開発現場では特に重視される。
報告: 結果や進捗を上司・チームに伝える
「〇〇の実装が完了しました」
「想定より時間がかかっており、△△が原因です」
連絡: 事実を関係者に共有する
「明日午後、サーバーメンテナンスがあります」
「API仕様が変更されました」
相談: 判断に迷ったとき、事前に意見を求める
「AとBの方法がありますが、どちらが良いでしょうか」
「この設計で進めて問題ないでしょうか」
ポイント: - 悪い報告ほど早く。問題の隠蔽は小さな問題を大きくする - 相談するときは自分の意見を持ってから行く - 「結論→理由→詳細」の順で伝える(PREP法)
3-2. タスク管理¶
基本の流れ:
ツール: - GitHub Issues / Projects - Jira - Trello / Notion
テクニック: | 手法 | 内容 | |------|------| | ポモドーロ | 25分集中 + 5分休憩を繰り返す | | タイムボクシング | 作業に制限時間を設ける(「1時間で調査を終える」) | | GTD | すべてのタスクを外部に書き出し、頭を空にして集中する |
3-3. 見積もり¶
新人が最も苦手とするスキルの一つ。
見積もりのコツ: - 最初は自分の感覚の2-3倍で見積もる(大抵、楽観的すぎる) - タスクを細かく分解してから見積もる - 不確実な部分は「調査時間」として明示する - 「できます」と安請け合いしない
3-4. ドキュメンテーション¶
- コードコメント: なぜそうしたか(Why)を書く。何をしているか(What)はコードを読めば分かる
- README: セットアップ手順、使い方を書く
- PR説明文: 変更の背景と内容を書く
- 議事録: 決定事項と次のアクションを記録する
3-5. 心構え¶
┌─────────────────────────────────────────────┐
│ 新人エンジニアの成長サイクル │
│ │
│ 知らないことを認める │
│ ↓ │
│ 質問する・調べる │
│ ↓ │
│ 手を動かして試す │
│ ↓ │
│ 失敗する → 原因を分析する │
│ ↓ │
│ 改善する → ナレッジとして記録する │
│ ↓ │
│ 次の「知らないこと」に挑む(最初に戻る) │
└─────────────────────────────────────────────┘
- 完璧を目指さない: 60%の出来で早くフィードバックをもらう方が、100%を目指して遅れるより良い
- 分からないは恥ではない: 分からないのに分かったふりをする方が危険
- 他人のコードを読む: 良いコードの書き方は、良いコードを読むことで身につく
- 健康管理: 長時間労働は生産性を下げる。睡眠・運動・休息を大切に
まとめ¶
| 分野 | 最重要ポイント |
|---|---|
| ソフトスキル | 質問力・言語化力・フィードバックを受ける姿勢 |
| ソフトウェア開発 | Git・コードレビュー・テスト・セキュリティの基礎 |
| 仕事の進め方 | 報連相・タスク分解・見積もり・ドキュメンテーション |
共通する最も大切なこと: 学び続ける姿勢と、素直さ。
参考リンク¶
- 新人エンジニア必須スキル:成功への鍵を握るステップガイド
- 技術的スキル以上に重要なこと?新人エンジニアが身につけるべきソフトスキル - Qiita
- ソフトスキル・エンジニアリング - Zenn
- 新人エンジニアのための質問の仕方 - GitHub Gist
- これできないと現場でヤバい!開発エンジニアの質問の正しいやり方 - Zenn
- 10年目のエンジニアが新人に教えたい、この仕事で重要な14のこと - paiza
- 新人エンジニア必見:プロジェクトを成功に導くタスク管理のコツ
- 15 Skills Every Software Engineer Should Have in 2025 - DEV Community
- コードレビューとは何か - Atlassian
- Git Flow × GitHub Flow × スクラム開発の3ステップ実践ガイド - Qiita