こんにちは!
株式会社日本オーエー研究所の茂木です!
ソフトウェア開発まったくの未経験でこの業界、ひいては当社へ飛び込んでこられた方たちの研修講師を務めております。
さて、今日は当社に未経験で入社した社員のための研修について、内容を"少しだけ"ご紹介します!着実にステップを踏んでいただくことで、未経験からでもバリバリやれるエンジニア……になるための下地づくりに取り組みます。
目次
座学(eラーニング)
HTML/CSS
JavaScript
Java
SQL
Git
定着度チェック
一回目
二回目
Java課題
Spring
終わりに
座学(eラーニング)
まずはキホンの「キ」について、eラーニングを使って勉強していただきます。
ここで学んでいただく言語やツールは、「Webアプリケーション」を作るために役立ちます。
Web (正確にはWorld Wide Web)というプラットフォームを利用することで、今皆さんがこのページをご覧になっているように、たくさんの人にモノを届けることができます。
そのため、Webアプリケーションを作れるようになることで、たくさんの人に便利や安心を届けられるようなエンジニアになっていただきたいと考えています!
HTML/CSS
いわゆるクライアントサイド(つまりみなさんのブラウザ)で動く言語のひとつで、主に「見た目」の部分を担当してくれています。HTMLで文章や画像の配置を決め、CSSで色やデザインを整えていきます。
Webアプリケーションを作るなら欠かせないのがこのHTML/CSSです。
当社ではWebアプリケーション以外のシステムも手がけていますが、HTMLとCSSの知識はスマートフォンアプリの画面設計やシステムの管理画面作成など、様々な場面で活用できます。
JavaScript
同じくクライアントサイドで動く言語です。Webアプリケーションを作るなら、こちらも欠かせません!
入力フォームのチェックや画面の切り替え、データの表示更新など、主に「動き」に関する部分を担当してくれる言語です。
最近ではサーバサイド言語としても利用されていますが、この研修ではあくまでもブラウザ上で動く言語としてのJavaScriptを勉強していただきます!
Java
サーバサイド言語です。
とてもざっくりとした説明をすると、Webアプリケーションにおけるクライアント言語がみなさんのお手元のPCやスマホ(で使っているブラウザ)で動く言語なのに対して、サーバサイド言語はアクセス先のコンピュータで動く言語だと思ってください。
サーバサイド言語にはさまざまな種類がありますが、Javaは長期運用を見据えた堅牢性と保守性の高さが強みで、特に当社の主戦場🔥である公共系大規模システムで活躍しています!
当社の研修では、このJavaという言語を軸にして学習を進めていただきます。
SQL
リレーショナルデータベースを操作する言語です。
データベースというのは、「情報の保管庫」みたいなもので、SQLを使って情報の登録(Create)、取り出し(Read)、更新(Update)、削除(Delete)ができます。この基本操作をCRUDと呼びます!
実はみなさんが普段使っているWebサービスの裏側でも、このSQLが使われています。例えばSNSでの投稿やECサイトでの商品情報など、たくさんのデータがSQLで管理されています。
Git
ソースコードのバージョン管理を行うツールです。世界中で最も広く使われています。
複数人での開発を円滑にし、コードの変更を安全に記録・共有できます。
たとえば、チームメンバーが同じプログラムを同時に編集しても混乱することなく作業を進められ、万が一の失敗時には過去の状態に戻すことができます。
定着度チェック
課題に取り組んでもらって「はいおしまい」では、定着は難しいです。
当社の研修では、途中で定着度を測る試験に挑戦していただいています。
一回目
一回目の定着度チェックは、座学が終わったタイミングで実施します。
座学を終えた時点ではようやくスタートラインに立ったばかりです。もし点数が悪いとしても、それそのものは問題ではありません。あくまでも現状と向き合い、課題を洗い出すための試験だと考えてください。
二回目
このあとご紹介する「Java課題」を経て、再度定着度チェックを実施します。
課題を経てパワーアップ💪した状態で、コーディングの試験に挑んでいただきます。
ただし! 問題もパワーアップしていますので、一筋縄ではいきません!
ここでの傾向によって、個々人で少しずつ研修の進め方を変えていきます。
(得点だけではなく問題の解き方までみます!)
Java課題
当社の軸であるJavaについて、課題への取り組みを通して学習していただきます!
はじめは簡単な内容から、徐々にキホンの「ホ」に片足を突っ込んだ難しい内容になっていきます。
各課題の詳細な内容については、秘伝のタレにあたる部分なので、ここでは明かせませんが「ゲームのようなもの」を実装する中で、Java言語の特徴でもある「オブジェクト指向」についても理解を深めていきます。クラス図など仕様書に沿って実装してもらいますが、一部、仕様バグやわかりにくい定義が混在しているので、妙にリアルな仕上がりになっています(笑)。
実装研修の進み具合によっては、ちょっと珍妙な問題に挑戦することも……?
(もちろん、意図をもって作成しています!)
Spring
JavaのデファクトスタンダードなフレームワークであるSpringについて学習していただきます。
まずは簡単なWebアプリケーション作成をしながら、Springの基礎について学びます。
基礎学習が終わったら、課題に挑戦していただきます。はじめに挑んでもらう課題は、Springの基礎をキチンと理解していないと解けませんので、歯ごたえはバツグンのはず。
解けるようになるころには、Springに関する最低限の基礎知識が身についていることでしょう。
Springを利用したTerasolunaという別フレームワークについても学習していただきます。この教材を通して、Springについてより深く知ることができるはずです。
また、応用的な問題も取り揃えており、Springだけではなくソフトウェア開発で必要となる知識についても併せて学習することができます。課題をすべてクリアしたころには、キホンの「ン」まで身についていると言ってもよいでしょう。
終わりに
以上の流れを通して、ソフトウェアエンジニアとしての第一歩を一緒に踏み出していただきます。途中で躓いてしまっても心配いりません。研修を完走できるよう、私たちがしっかりとサポートします!
みなさんがここで身につけた基礎は、現場で実践的な知識を積み上げていくための確かな土台となるはずです。もちろん、Javaの世界は幅広く奥深いため、研修期間だけですべてを理解することは難しいでしょう。しかし、現場で活躍するために厳選した「キホン」であれば、必ず身につけることができます。
当社では未経験からエンジニアを目指すみなさんを歓迎しています。私たちと一緒に、エンジニアとしての新しい一歩を踏み出してみませんか?
ご興味をお持ちいただけましたら、ぜひ「話を聞いてみたい」をお願いします!