ソリューション開発部の新人エンジニア研修を大公開!

採用・教育活動,社内勉強会

こんにちは! ソリューション開発部の西村です。
私は2019年4月に新卒・IT未経験でアークシステムに入社しました。

7月にソリューション開発部(以下「ソリ開」)に配属され、約2カ月の研修を受けました。今回はその内容をご紹介したいと思います。就活中の学生さんや第二新卒で転職を考えている方に参考にしていただけたら幸いです。

全体スケジュール

私の研修スケジュールは下図のとおりでした。入社時期やプログラミング経験の有無によって研修期間や学習内容が異なるのであくまで一例ですが、プログラミング未経験の場合、通常は約2カ月かけて言語やウェブのしくみ、開発プロジェクトで使うツールの使い方といった基礎を修得します。

研修スケジュール

そして基礎はもちろん、ソリ開の業務に特化した開発技術を学ぶことで、現場に配属された際に極力一人で歩けるようになることを目指します。

各研修の実施内容

各研修は大きく3つに分かれます。

  • プログラミング実践(ハンズオン)
    • 業務で使うツールや入門書などを用いながら実際に手を動かしてプログラムを書き、先輩にレビューしていただきます。現場配属のタイミングでプログラミングの基礎知識が身についている状態をめざします。
  • 先輩社員による講義
    • 開発の進め方など、プログラム以外に必要な知識を先輩方の体験談も交えた講義形式で学びます。
  • 外部研修
    • 社外の研修にも積極的に参加することにより、普段とは違う環境で刺激を受けながら学習します。

上記の各研修の具体的な実施内容を以下にまとめてみました。

プログラミング実践

Java & データベース

  • 標準のJavaでできることはもちろん、データベース操作に必要なSQLやライブラリの使い方など、Java業務アプリケーションの開発に必要とされる基礎知識全般について体系的に学びました。具体的には下記参考書を利用し、先輩にフォローしていただきながら学習を進めました。
  • 開発環境の構築から始め、Javaの基本文法を使ったコーディングやデータベース接続、JUnitを用いたテストやGitによる成果物の管理・共有などをひととおり経験したことでシステム開発の流れをつかむことができました。

ウェブ基礎

  • 業務用ウェブシステム開発で幅広く利用されている「サーブレット」と「JSP」について学習しました。具体的には下記参考書を利用し、サーブレットとJSPを学ぶなかでHTMLやHTTPといった各種仕様、セッションやスコープといった概念などについて学習しました。
  • 普段ブラウザで見ているさまざまなウェブページがどのようなしくみで表示されているのか、ウェブアプリケーションの裏側の複雑さを実際にコードを書いてみることで初めて実感しました。本書第10章「アプリケーション作成」では、よくある「つぶやき投稿サイト」の機能を例に、ログイン/ログアウト機能や投稿機能、メイン画面やエラーメッセージを表示する機能などの実装方法を学びました。

DBFlute

  • ソリ開で利用しているO/Rマッパー(ORM=Object-Relational Mappingを実現する仕組み)について、下記DBFlute公式サイトのハンズオンセクションに沿って学習しました。
  • 今まで全て手動で行っていたデータベースのテーブル管理が自動で行われる、列名やテーブル名の書き間違いが多かったSQL文がEclipseの補完機能によって常に正しく書ける、といった機能を便利に感じる一方、自動で生成されたクラスの利用やラムダ式を用いたSQLの発行はとても難解に感じました。また、DBFluteでは多重度(テーブルとテーブルの関係性)によりSQLの書き方が異なるため、どうしたら目的の値をデータベースから取得できるか頭を悩ませることが多かったです。
  • 公式サイトが経験者向けに書かれているため、読み解くことすら難しく感じることもありましたが、先輩に都度質問し疑問点を一つ一つ解決することで徐々に扱う内容に慣れていくことができました。

先輩社員による講義

UML/EA(Enterprise Architect)

  • 開発現場で用いるUML図の種類やEAの概要を学びました。

クラウド入門(AWS)

  • AWS公式サイトの動画を見ながらクラウドの特徴を学習しました。

開発方法論

  • 開発の流れやチーム開発の手法、お客様とシステムエンジニアの関係性などについて理解しました。

スクラム

  • アジャイル開発の手法の一つ「スクラム」の基礎および活用方法を修得しました。

インフラ構築(AWS)

  • Amazon EC2 を用いて実際にサーバーを構築してみました。

外部研修

JavaScript研修(2日間)

  • 下記の研修に参加し、 Chromeの開発者ツールとVisualStudioCodeを利用してif文などの制御構文やDOM、関数、クラスの定義方法などについて学習しました。

Linux研修(3日間)

  • Linuxコマンドやエディタの使い方、シェルの概念などLinuxシステムの基礎知識を下記研修にてハンズオン形式で修得しました。
  • 普段GUIで操作しているディレクトリやファイルの作成・移動・削除などをCUIから操作することで、すごくエンジニアらしいことをしている気分になりました。また3日間で約100問の演習問題を解きました。

ふりかえり

  • 1週間に1度、先輩とともにKPT方式で「ふりかえり」を行いました。
  • 自身の課題を深く掘り下げて考えることで、問題解決のための論理的思考力が鍛えられました。
  • 「ふりかえり」については下記リンク先の記事が参考になると思います。

困ったときは

上記研修中に困ったことや疑問点が出てきたときは先輩にサポートしていただきました!具体的には次のようなアクションを取ることで、多くの先輩方の助けをお借りすることができました。

教育係やメンターに聞く

  • ソリ開で利用しているシステムの使い方や研修スケジュールの調整などで困った際は、新入社員についてくださる教育係の先輩やメンターの先輩にお聞きしました。
  • 研修中は教育係の先輩を隣の席に配置してくださる配慮があり、質問しやすい環境だったのがありがたかったです。また、メンターの先輩は前述した振り返りに参加してくださり、悩み事やこれから取り組むべきことに関して度々アドバイスをくださいました。

朝会で相談する

  • 研修期間中は毎朝10時30分に「朝会(あさかい)」を実施していただきました。朝会では、研修中お世話になる先輩方に「前日実施したこと」と「その日にやること」、「スケジュールの進み具合」などを報告・共有します。
  • 疑問点や懸念事項があればその場で相談できるので、毎朝スケジュールを確認してつまずきそうなところや分からないところを前もってまとめ、早めに先輩方に質問・相談するように心がけていました。

グループチャットで質問する

  • ソリ開の先輩方とやり取りするにあたりslackというリアルタイムチャットツールを利用しました。新入社員専用のグループでいつでも質問することができ、言葉での説明が難しいコードに関する疑問点はグループチャットで質問するようにしていました。
  • 基本的には即時対応してくださり、お忙しいときでも当日中にはご対応いただけました。困ったときに放っておかれることは決してないという絶対的な安心感の中で研修を進めることができました。

さまざまな方法でたくさん質問することで、先輩に質問するという行動自体への抵抗は薄れていきました。また、タスクを効率的にこなすためには質問の内容や緊急度に応じて質問方法を変えることが効果的であるということをこの機会に学びました。

研修を終えたあと

研修を終えるといよいよ実案件に配属されます。

私は9月からとある企業の管理会計システムの開発・保守案件に入りました。
初めての仕事はバッチの開発と単体テストの実施で自分にできるだろうかと不安でしたが、JavaとDBFluteを駆使したコーディングやJUnitによるテストの実施など研修で学んだことを実践する機会が多く、また先輩に教えていただきながらの作業ということもあって全くついていけないという事態にはなりませんでした。

現在も勉強の日々を送っていますが、最初の頃と比べるとだいぶコードを読めるようになり、少しずつ自分で調べながら実装できるようになってきています!

さいごに

ソリューション開発部の新人エンジニア研修についてご紹介しました。
今回ご紹介した学習本やサイトを活用したことで、文系出身/IT未経験の私でもシステム開発業務に必要な基礎知識を身につけ、すんなり実案件に入ることができました!

ご興味を持っていただいた方はぜひ一度お会いしましょう!お待ちしております!

わたしたちと一緒に働きませんか?

社員が最大限の力を発揮しお客様にご満足いただき、そのお客様からよりレベルの高い仕事をいただく。会社は、社員がより活躍できるフィールドを創り続ける。結果として、お客様・社員・会社の信頼関係は、強くなっていく。

アークシステムは、こんな会社です。そして、今後もこのような関係を強めながら、成長し続ける企業でありたいと思っています。

採用に関するお問い合わせはこちらからお願いいたします。
  • 株式会社アークシステムの来訪管理・会議室予約システム BRoomHubs
  • 低コスト・短納期で提供するまるごとおまかせZabbix