こんにちは、hodaです。現在、私は研修センターで新人研修の講師を担当しています。
転職先としてSE(システムエンジニア)は比較的人気とされており、転職サイトでもよく未経験歓迎という文言を見かけます。
しかし、研修を受けただけでSEとして実際に働けるか不安なこともあるかと思います。
かく言う私も4年前に未経験の状態で入社し、新人研修を受けてSEの道を歩み始めました。今回はアンサーの新人研修の模様をお伝えします。
Contents
Amag運営会社(株式会社アンサー)の研修カリキュラムを紹介
アンサーでは新入社員に3か月の研修を実施しています。
現在はテレワークと出社の比率をおよそ半分にしたハイブリッド形式で行っています。
研修は練習問題への解答を中心に学習を進めてもらい、各練習問題提出のタイミングで講師がヒアリングを行うことで不明点の解消に努めています。
また、テレワークの日でもSlack上で質問コーナーを用意しており、練習問題で疑問があれば講師や先輩研修生に教わることで解決できます。
本人の進捗によって期間は前後することもありますが、研修を受けたのちに開発現場で働くことになります。
アンサーでは研修後すぐに知らない開発現場に一人で参画するということはありません。開発現場には頼れる先輩がいますので、わからないことについては研修後もしっかりサポートをしていきます。


ここからはそんなアンサーの新人研修で学ぶ研修の内容について概要をお伝えします。
その1 コンピュータ基礎
SEたるもの、プログラムを書けるようになることはもちろん、プログラムを書いて動かすためのコンピュータについても基本的なことは知っておかなければなりません。
コンピュータ基礎の単元ではコンピュータの構造や処理の手順を表すアルゴリズム、SEの業務であるシステム開発について講義を行います。
よく「アルゴリズムが難しい」という声を聞きますが、プログラミングをする上での準備段階となる大切な内容なので、丁寧に解説していきます。

その2 Java
プログラミング言語の一つであるJavaについて、講義と練習問題への解答を交互に行い、学習してもらいます。
Javaは様々なシステムやサービスで使われている言語で、案件の数も豊富です。
筆者もJavaが書けるようになれば仕事に困ることはないだろうと思ってSEの道を志しました。
いよいよ実際にコーディングを行い、SEらしい内容を扱うことになります。
初めて聞くことばかりで混乱してしまうかもしれませんが、手を動かすことで覚えていきましょう。
とはいえ多くの研修生が「難しかった」と言っているのも事実ですので、Javaについては入門書などで多少予習をしておいた方が研修の内容がスッと入ってくるかと思います。

その3 DB / SQL
システム開発をする上でJavaだけ書ければシステムが作れるということはありません。
データを保管するDB(データベース)や、そのDBを操作する言語であるSQLについて練習問題を中心に学びます。
「データベースを操作する」と聞くと難しいような感じがしてきますが、表からデータを取得すること自体はイメージしやすいです。
加えて基本的な構文は簡単なため、Javaよりもわかりやすいという声をよく聞きます。

その4 HTML / CSS / JavaScript
利用者がシステムを利用するためには操作する画面が必要です。
その画面を表示・装飾するHTML-CSSと、ブラウザ上で画面を動的に操作するJavaScriptについて練習問題への解答を中心に学びます。
この単元では「実際にコーディングしたものが目に見える形になって面白い」、「普段見ているWebページがどのようにできているかわかった」という声がよく聞こえます。

JavaやSQLでもコーディングしている実感・楽しさはありますが、より直感的に感じられる部分が多く違った面白さがあります!
その5 Servlet-JSP/Spring
システムを動かすためにはシステムを積載するサーバが必要です。
Servlet-JSPでは、サーバとクライアントの通信の仕組みについて自分のPCにサーバを立てて学んでいきます。
その後Javaでよく用いられるフレームワーク(システム開発を簡単にできるようにしたひな形)であるSpringについて練習問題を解きながら学んでいきます。
いよいよWebサービス開発ができるようになっていき、「今まで学んだことが繋がってきた」という研修生も多いです。

その6 ソフトウェアテスト/ JUnit
システムを作ってそのまま納品することはまずありません。
作ったシステムにバグが混入している可能性があるため、システムに対してテスト(試験)を実施しなければなりません。この単元ではソフトウェアテストの手法とコードを書いてテストを実施するJUnitについて学習します。
JUnitとはJavaで開発されたプログラムにおいて単体テストの自動化を行うためのフレームワークです。
その7 開発シミュレーション
研修の総まとめとして簡単なユーザ管理機能をSpringを用いて作成します。
また、作成したシステムに対して自分でテストを計画し、実施します。講師によるレビュー(精査)も行い、計画したテストの問題点や改善点をお伝えします。
今まで学んだ知識を総動員して取り組むので、手ごたえのある内容となっていますが、自分でシステムを作ることができるようになった喜びも実感できるかと思います。

プログラマーが実際のプロジェクトで担当する作業の一連の流れに沿った形の研修です。
おわりに
このほか、研修全体を通してSEの仕事ぶりや心構えを講師から伝えるほか、カリキュラムにはないIT技術についてもお話をしています。
はじめにも記載した通り、私も未経験(しかも文系)から新人研修を経て開発現場に立ちました。もちろん研修だけで全てができるようになるわけではありません。
現場に出るとわからないことも沢山ありましたが、先輩にサポートしてもらいながら業務を遂行し、今でもSEとして働けています。
新しいことを始めるというのは勇気がいりますし、不安もあると思います。アンサーの新人研修ではそういった皆さんの不安を一つ一つ解消できるように講師一同サポートしていきます。
この記事が未経験でのSEへの転職を考えている人の不安解消に少しでも役立てば幸いです。
また、アンサーでは新人研修の外部委託について受託も行っております。カリキュラムについても相談可能ですので、お気軽にお問い合わせください。
基礎は大事。焦らずしっかりとやっていきましょう!