「Boot Camp」 – PG・SE育成カリキュラム

当社では、エンジニアの技術向上を目的として、社内勉強会「RESTART-Training(リスタート トレーニング)」を定期的に開催していますが、ここではその中の一つである、PG(プログラマー)・SE(システムエンジニア)育成カリキュラム「Boot Camp(ブートキャンプ)」をご紹介致します。


Boot Camp とは

Boot Camp とは、プログラム開発未経験者(新入社員、中途採用社員)やまだ経験の浅いPG・SEを、実際の開発でも活躍できるように育成する当社独自のカリキュラムです。

screen

Boot Camp 社員管理システムの画面例

Boot Camp では、JavaをベースにしたWebシステム(社員管理システム)の開発を学びます。受講者はこの学習を通して、Java、Javascript、HTML、CSS、データベース処理といったWebシステム開発に必要な技術を習得します。またプログラミングだけでなく、設計、テストといったフェーズも学習しますので、Boot Camp を修了することでシステム開発に必要なほぼ全ての工程を経験することができます。(受講期間は、約2~3ヶ月となります。)

この Boot Camp で使用するソースコードや各設計書等の資料は GitHub 上に公開していますので、受講メンバーは自社以外でも場所を問わず、リモートでいつでも受講することができます。


Git Hub

尚、GitHub 上で公開している Boot Camp の全てのファイルはオープンソースで公開していますので、当社社員以外でも、「本ページを見て Boot Camp に興味を持たれた方」、「PG・SEを目指す学生、社会人の方」、「転職活動中で当社に興味がある方」等、全ての皆様が Boot Camp を利用することができます。

ご利用の場合は、当社GitHubアカウントページ より各ファイルをダウンロードしてください。

※ Boot Camp の全てのファイルは「Apache License 2.0」で公開しています。但し、利用できるのはソースコードや各資料の使用といった用途のみであり、当社講師による指導等は含まれておりません。

※「利用に関して確認したい」、「Boot Camp についてもっと詳しく聞きたい」、「企業で利用したい」といった Boot Camp へのお問い合わせは、bootcamp@res-system.com までお願い致します。


Boot Camp を始める前に

社内で受講中のメンバー

社内で受講中のメンバー

Boot Camp の受講者は、プログラミングやSQLの基礎知識を持っていることを前提としています。よって特にプログラム開発未経験者については、受講前にこれらの基礎を別途学習した上で受講します。

実際の受講においては、ある程度の経験者はリモートで一人で学習を進めていきますが、未経験者は自社にて当社の講師が丁寧に指導して進めていきます。

※ 当社社員の場合は、受講前に「Java SE 7/8 Bronze」、「Oracle 12c Bronze (SQL)」といった資格の取得を目指して学習することで、これらの基礎知識を学びます。(基礎知識の学習は約1ヶ月間行います)


Boot Camp の詳細

Boot Camp では社員管理システムの開発を通じて様々な技術を習得します。受講者は開発環境の構築から始まる以下のような各STEPを順に進めていきます。システムの開発は一から行うのではなく、既に用意されているログインやメニューといった最低限の機能を持ったシステムをベースに、動作の確認、既存機能の修正、新しい機能の追加といった課題を進めていきます。

  1. STEP0:開発環境の構築(環境構築を経験する)
  2. STEP1:プログラムを動かしてみる(IDEの操作、デバッグを覚える)
  3. STEP2:既存のプログラムを修正してみる(開発、テストを経験する)
  4. STEP3:新たに機能を追加してみる(設計、開発、テストを経験する)
  5. STEP4:・・・
  6. ・・・

各STEPでは、それぞれ納期(期限)を設けてスケジューリングも行い、進捗が遅れてきた場合はスケジュールを調整します。これは実際の開発においての進捗報告やスケジューリングを想定しています。自社で受講している場合は講師に相談し、遅れの度合いによりスケジュールを調整します。

テストにおいてはエビデンスも作成し、実際のシステム開発と同様の開発フローで成果物の品質を保ちます。

STEPの後半では、機能追加等の要望から概要設計書を作成し、更に基本設計書、詳細設計書も作成して、開発だけでなく設計することも経験します。

これら全てのSTEPを完了することで受講は修了となります。受講後のメンバーはその経験を活かし、実際の開発でも活躍しています。


Boot Camp で取り扱っている技術

Boot Camp で開発するシステムでは以下の技術を取り扱っています。

  • OS:CentOS 7(Xfce)
  • プログラミング言語:Java8(フレームワーク:JAX-RS実装「Jersey」、Thymeleaf、CDI実装「Weld」)
  • フロントエンドライブラリ:jQuery、Bootstrap
  • データベース:MariaDB
  • Webアプリケーションサーバー:Tomcat8
  • IDE:Eclipse
screen

Javaフレームワークイメージ

Boot Camp では、「VirtualBox(仮想化ソフトウェア)」を使用し、VirtualBox の OS 上で開発環境を構築します。IDE や Webアプリケーションサーバー等、開発環境、サーバー環境を全て一つの OS 上に構築して、スタンドアロンで開発します。

VirtualBoxにインストールする OS は、「CentOS 7」 を使用します。デスクトップ環境は「Xfce」を導入し、Windowsと同じような操作感で開発していきます。

Javaのフレームワークに関しては、当社独自で開発したものを使用します。(JavaEE の技術と「Jersey」、「Thymeleaf」、「Weld」といったライブラリを使用した MVCデザインパターン のフレームワークです。)このフレームワークは、「ASP.NET MVC」や「Ruby on Rails」といった他の言語の一般的なフレームワークと同じような構造となっています。受講者は開発を通じて、MVCデザインパターン による開発手法を習得します。

フロントエンドは「jQuery」、「Bootstrap」を使用します。昨今のWebシステム開発でよく使われているライブラリでフロントエンドを柔軟に開発することを習得します。

データベースは「MariaDB」を使用し、基本的なCRUD処理を習得します。

IDEは「Eclipse」を使用します。Java開発において多く使われるIDEの操作を習得します。


Boot Camp へのお問い合わせ

更に詳しい内容につきましては、当社GitHubアカウントページから、Boot Camp の各資料をご確認ください。

Boot Camp へのお問い合わせは、bootcamp@res-system.com までお願い致します。