未経験・文系のための「ITエンジニア実践型研修ガイド」

ITエンジニア研修

はじめに

独学で最ももったいないのは、「ちょっとしたエラーでつまずいて挫折してしまうこと」です。

これから実際の研修を進めていきますが、私もこのHumDevブログを始めたばかりで、X(旧Twitter)のアカウントも新たに作成しました。
研修を進める中で疑問や不明点があれば、いつでもお気軽にご連絡ください。

質問は、こちらのX(旧Twitter)アカウントまでどうぞ!

【Xアカウントはこちら】

DM(ダイレクトメッセージ)をお送りください。
できるだけ早く返信し、皆さんが安心して学習を続けられるようサポートします。

実際のところ、IT業界では独学やサポートなしでつまずき、挫折してしまう方が多いのが現状です。
このブログを通じて、一人でも多くの方にエンジニアとしての新たなキャリアの可能性を広げていただければと願っています。

また、本研修は実践型をメインにしており、
IT企業の研修を完了したレベルを目指した内容となっています。

この記事を読んだときのゴール

  • 入社前に必要な基礎スキルを身につけている状態になること
  • エンジニアとしての技術面の基本的な理解ができること
  • 入社前にプログラミング経験を積み、入社後のギャップをなくすこと

AI(Chat GPT等)活用

AI(Chat GPT等)活用の前提

研修に入る前に、簡単に「AIの活用」について触れておきたいと思います。

研修時にAIを使用することには賛成ですが、AIは使い過ぎるのではなく、自分で考えて試していく中で、サポートをしてもらうものにしましょう。

初めからAI頼りになってしますとスキルが身に付かなくなってしまいます。

いつでも相談できる先輩社員と思ってください。

自分でできるところまではやりつつ、必要な場合は、先輩社員にアドバイスをもらいにいく。のが良いでしょう。

AI(Chat GPT等)活用のポイント
  • つまずいた時のサポート
  • 問題を出してもらう
  • つまずいた時のサポート
    何か問題を解いている時に、どうしてもわからないことがあると思います。そんな時は先輩社員に質問するように、AIにも質問できます。

    例えば、プログラミング中にエラーが解決できない場合:
    ・現在の状況
    ・実現したいこと
    ・エラーメッセージ
    これらの情報をAIに送ることで、解決策のサポートを受けられます。

    ※注意:特に研修中は、安易にAIに頼りすぎないよう注意しましょう。不明点はまず自分で考えたり、解決策を調べてみることも大切です。
  • 問題を出してもらう
    AIに「〇〇の問題を100問出して」と依頼すると、実際に問題を作成してくれます。
    「IT基礎」で紹介した「過去問道場」も便利ですが、特定分野(例:ネットワーク)の知識を定着させたいなど、その分野の問題を複数作成してもらい、反復学習することができます。
    分からない問題があれば、AIに質問することで理解できるまで解説してもらうことも可能です。
  • データの作成
    実務や研修の中でデータを扱う場面があります。その際、AIに依頼することでダミーデータやサンプルデータを簡単に作成してもらえます。作成したデータを使って、さまざまな課題にチャレンジしてみてください。
  • プログラミングのサポート
    AIにシステムをすべて作成してもらうことは難しいですが、部分的なロジックや機能のコードを作成してもらうことができます。

    例:ハンバーグ作成プログラム
    「ハンバーグを作るコードを作って」という一括依頼では期待通りの結果は得られませんが、以下のように具体的な処理を分けて依頼できます

    「素材を切る」処理
    「タネを丸める」処理
    「タネから空気を抜く」処理

    といった個別の工程ごとに頼むことで、自分がイメージした通りのコードが得やすくなります。そうして得られた部分コードを自分で組み合わせたり修正することで、最終的なプログラムを完成させていきます。

    重要なポイント
    ・適切な指示を出す
    ・生成されたコードの正確性を確認する
    ・コードを適切に組み合わせる

    これらの作業には、プログラミング能力が必要不可欠です。
    また、作成したコードをAIに確認してもらい、問題がないかチェックすることも可能です。

ひとりごと

実際の現場でも、AI(ChatGPTなど)を活用している企業は数多くあります。
ただし、
・個人情報の取り扱い
・会社の機密情報の取り扱い
・使用可能なAIツールの制限
などは企業ごとに異なります。
そのため、社内のルールやガイドラインをよく確認し、意識して利用することが大切です。

また、AIの回答は100%正確とは限りません。特に以下の点に注意が必要です。
・エラーが発生した際、AIに頼りきりだと対処できなくなる
・生成されたコードや情報の正確性は自分で検証する必要がある
・理解できない内容は使用しない(理解できるまで確認する)

AIは強力なアシスタントですが、最終的には自分で内容を理解し、確認・修正する力が必要です。 適切な使い方をマスターすれば、学習効率も実務効率も大きく向上します。 最終的な責任は使用者にあることを忘れないように気をつけましょう!

企業研修の一般的な流れ

一般的なIT企業の新人研修は、大体以下のような流れで進みます。

  1. ビジネスマナー
     社会人としての基本(名刺交換、電話応対、メールの書き方など)
  2. IT基礎
     パソコン操作やネットワークなど、IT業界やシステム開発の基礎知識
  3. 実践開発
     実際にプログラミングやシステム開発を体験
  4. 会社特有の内容(場合による)
     自社サービスや開発プロセス、独自のルールなど
  5. OJT(オン・ザ・ジョブ・トレーニング)
     配属先で3ヶ月~半年ほど、実際の業務の中で、先輩社員から指導を受け、実務的な経験を積む

本記事では「3.実践開発」をメインに記載しています。

ビジネスマナー

ビジネスマナーは確かに大切な内容ですが、一番大切なのは「相手への尊重の気持ち」を持つことです。自信を持って、相手を思いやる姿勢で行動すれば、マナーも自然と身についていきます。

ここでは詳細な説明は割愛し、次のテーマに進みます。

IT基礎

IT基礎を学ぶには、「基本情報技術者試験」のテキストやYoutubeの解説動画でざっと一周見るのがおすすめです。完璧に覚える必要はなく、全体を通して見るだけでも、IT分野の広い知識や仕組みの概要をイメージしやすくなります。

実際、会社の研修だけでは実務のイメージが湧きにくく、知識が定着しづらいと感じることも多いです。そのため、基本情報技術者の参考書などで全体像を把握して、実務で知識を定着するのが1番の近道です。

以下、エンジニアの仕事をするうえでの「重要」&「全体イメージができる」内容をいくつかピックアップをしてより実践に近いように解説していますので、ぜひご覧ください。

また、基本情報技術者試験などの過去問を反復練習できる無料Webサービスもありますので、ぜひ活用して見てください。

基本情報技術者過去問道場🥋

本研修で取り扱うプログラミング種類

  • SQL
  • Python
  • HTML/CSS
  • JavaScript
  • VBA
  • SQL
    データベース(DB)を操作するための専用言語。
    データの検索・追加・更新・削除、集計(売上の合計や平均など)ができる。
    難易度:★★☆☆☆(やさしめ)
    基本的な操作はシンプルなので初学者も学びやすいが、複雑な集計や設計は難しくなることも。
  • Python
    シンプルで読みやすい人気のプログラミング言語。
    Webアプリ作成、自動処理、データ分析、AI開発など幅広い用途ができる。
    難易度:★★☆☆☆(やさしめ)
    初学者にも人気。文法がやさしく、他の言語に比べて覚えやすい。
  • HTML/CSS
    Webページを作るための標準的な言語(HTMLはページの骨組み、CSSはデザインを決める)。
    ホームページ・Webサービスの画面作成、見た目の調整ができる。
    難易度:★☆☆☆☆(簡単)
    プログラムというよりも「ページづくり」「レイアウトや色づけ」が主なので、初心者に最適。
  • JavaScript
    Webページに動きや機能を追加できるプログラム言語。
    ボタンを押したときの動作、入力チェック、画面切り替え、複雑なWebアプリの開発ができる。
    難易度:★★★☆☆(ふつう)
    HTMLやCSSより理解することが多いが、人気があり学習リソースも豊富。
  • VBA
    ExcelやWordなどマイクロソフトのOffice製品を自動操作できるプログラミング言語。
    Excelでの自動計算、データ集計作業の効率化、繰り返し処理、自作マクロの作成ができる。
    難易度:★★☆☆☆(簡単)
    基本的なマクロは簡単だが、複雑なものはプログラミングの理解が必要。

実践開発(SQL & Python)

  • SQLとPythonの使用例
  • SQL研修
  • Python研修
SQLとPythonの使用例

それでは実際にプログラミングの実践研修をやっていきましょう!

プログラミングしてみる前に「それぞれがどんな場面で使われているのか」を、未経験の方でもイメージしやすいように具体例を挙げて紹介します。

データを取り扱う、データ処理の流れはざっくり以下のようになります。
※データ分析の一連ではなく、ただSQLとPythonの使用例です。

アイコン素材: Icons8

1. データ取得
お客様が買い物した際の購入データやユーザの使用履歴の使用データ、車の走行データなど業界によってさまざまなデータを必要に応じて取得します。

例:7/20にスーパーでのお客様の購入データをシステムを通して取得します。

2. データ蓄積
#1で取得したデータをデータベース(DB)やCSV保管する必要があります。(基本データの蓄積にはDBを使用します。)

例:
取得したお客様の購入データを毎日DBに蓄積保管していきます。

3. データ前処理
#2で蓄積しているデータは使用可能性のある全てのデータ項目があります。そこから今回使用したいデータ項目のみを抽出し、必要に応じた前処理(項目追加や欠損値対応)をします。

例:
蓄積データから必要な項目(今回は「商品名」「個数」「日付」)を抽出し、
「日付」項目をもとに「曜日」項目を作成します。

4. データ加工・可視化
#3でデータ前処理をしたデータをさらに加工したりして可視化や分析しやすいようにデータ加工し、
必要に応じてグラフを用いた可視化や分析をします。

例:
前処理したデータから必要な項目(「日付」項目は不要になったため、除外)を抽出し、
曜日ごとに「個数」項目の値を合計し、「合計個数」項目作成します。
※「合計」項目は不要になったため、除外済み

曜日ごとのりんごの販売個数のグラフを作成して可視化します。

SQL研修

それでは、実際にプログラミングの実践を始めていきましょう!

まずは「SQL」についてご紹介します。

SQLは「3. データ前処理」の段階などでよく利用されます。
DBの中のデータの確認・抽出・追加・削除・更新などを行うことができます。

SQLの具体的な使い方や実践例については、以下の記事で詳しく解説していますので、ぜひご覧ください。

Python研修

次に「Python」についてご紹介します。

Pythonは「4. データ加工・可視化」の段階などでよく利用されます。
DBからデータを取得し、さらにデータの加工やグラフによる可視化、そしてデータ分析を行う際に便利に活用できます。
また、機械学習など高度な分析にも強みがあります。

Pythonの具体的な使い方や実践例については、以下の記事で詳しく解説していますので、ぜひご覧ください。

<Python記事作成予定>

実践開発(HTML/CSS & JavaScript)

  • HTML/CSS & JavaScriptの使用例
  • HTML/CSS研修
  • JavaScript研修
HTML/CSS & JavaScriptの使用例

これから「HTML」「CSS」「JavaScript」を使ったプログラミング実践研修に入ります。

まずは、「それぞれがどんな場面で使われているのか」を、未経験の方でもイメージしやすいように紹介します。

システムには「フロントエンド」と「バックエンド」がある
普段私たちが使っているウェブサービスやアプリには、大きく分けて「フロントエンド」と「バックエンド」という2つの役割があります。

  • フロントエンド
    ユーザー(利用者)が直接触れる部分です。
    操作しやすさや、魅力的なデザインを実現するため、設計されたデザイン通りに画面や動きなどの実装を担当します。
    例:
    HTMLでボタンを作成
    CSSでボタンのデザインを実装
    (細かな位置や色、大きさ、押した時のアニメーションなど)
    JavaScriptで動きをつける
  • バックエンド
    システムの裏側で動いている部分です。
    データを保管しているDBとのやりとりや、注文処理、会員情報の管理など、ユーザーには見えない処理を担当します。
    例:
    ログイン時、ユーザーが入力した情報とDBに登録された情報を照合し、一致する場合にログインを許可する処理など

本記事で研修ではフロントエンド側の「HTML、CSS、JavaScript」を取り扱います。
HTML、CSS、JavaScriptの具体的な使い方や実践例については、以下の記事で詳しく解説していますので、ぜひご覧ください。

HTML/CSS研修

<HTML、CSS記事作成予定>

JavaScript研修

<JavaScript記事作成予定>

VBA

  • VBAの使用例
  • VBA研修
VBAの使用例

実は一番身近なプログラミング言語が「VBA(Visual Basic for Applications)」です。

VBAは、ExcelやWordなどのMicrosoft Office製品を持っていれば利用可能で、Excel上での繰り返しの作業を自動化することができます。

現場では「マクロ」という言葉も出てきますが、「マクロ」はExcelでよく使う作業手順(例:コピー&ペーストなど)をまとめて自動で実行する仕組みのことです。
「VBA」は、マクロを作るための”言語(プログラム)”です。
なので、マクロの中身は、「VBA」というプログラムで書かれているということになります。

例えると…

  • マクロ:「料理のレシピ」や「手順のまとめ」
  • VBA:「そのレシピ(マクロ)を書くための言葉や文法」

例:
Excelでsheet1の2行目〜1万行目までに「商品ID」と「金額データ」がずっしり入っているとします。
そのデータのある一定条件のデータのみ(金額が100~350円のデータ)を別シート(sheet2)にコピー&ペーストを自動化できます。

sheet1:左側青の見出し
sheet2:右側緑の見出し

VBA研修

<VBA記事作成予定>

コメント