こんにちは、情報システム部の高野です。
だいぶ久しぶりのブログになってしまいました。
以前のブログでも書いた通り当社では2019年度の新入社員から長期のプログラミング研修を行うようになりました。
今回は、その新入社員研修を振り返ってみたいと思います。
メインの作業は社内SNSの構築です。
この作業が研修の8〜9割を占めていて、
このシステム構築を通してWebシステムの構築全般を学びます。
以下が技術スタックになります。
- Git
当社では基本的にどのプロジェクトでもGitでソース管理を行いますので外せないです。 - ASP.NET Core MVC(C#)
ASP.NET Core MVCはWebFrameworkですが、そこまで縛りがきつくないので研修にはちょうどいいです。
ちなみにEntityFrameworkは、使いませんでした。 - Angular
現在もいくつかのシステムで利用されており
今後も当社内で増えていきそうなので採用しました。
新卒研修のネタとしては少し難度が高かったかもしれませんが最終的には使いこなせるようになりました。 - Akita
いわゆる、Fluxアーキテクチャを実現するためのフレームワークです。
Angularだと一般的にはNgRxを利用すると思いますが、Akitaの方がシンプルで理解が容易だったので採用しました。 - AtomicDesign
フロントの設計はAtomicDesignを採用しました。
個人的に試してみたかったというのが正直なところですが
BootStrapなどのCSSライブラリを使わずにコンポーネントを作っていったので、かなり勉強になったと思います。 - DDD
ValueObjectも作ってないのでDDDとは言えないかもしれないですが、
ドメイン層を中心にしたアーキテクチャになっており
ドメイン大事ということは伝わったのではないかと思います。 - TDD
そこまでこだわってTDDを行ったわけではないですが、
私とペアプロをした時は私が先にテストを書いてから実装してもらうというやり方でTDDを体験してもらいました。 - PostgreSQL
特にDBMSにこだわりはなくSQLが使えれば何でもOKだったので
一番慣れているPostgreSQLにしました。
つまりDBMS固有の機能にはほぼ触れていないということです。 - Redis
一応使っている程度で、あまり学習させることはできませんでした。
キャッシュサーバーというものがあるよ程度です。 - Python
動的言語も教えたかったのでPythonを使ってログ集計のバッチを作成しました。
結果、「Python書きやすい」という声と「対比することでC#がより理解できた」という声があり
複数言語を学ぶのは大事だなと思いました。 - Docker
E2Eテストの環境構築や後述のWordPressなどで利用。
深くは触れていませんが、便利だということは伝わったはずです。 - AWS
今回のシステムはAWS上に構築しているのですが、
簡単な説明だけで実際に自身で構築するところまではできませんでした。
このSNSはすでにリリースされ社内で利用されています。
社内SNS以外では社内のセキュリティ啓蒙サイトをリプレイスしたいという依頼を受けてWordPressで構築を行いました。
今までは技術的なことを学んできましたが、
ここでは要件定義やプロジェクトの進行も自分たちで行ってもらい、より多くのことを学ぶ機会になったと思います。
技術的にはWordPressなのでHTML・CSS・JS・PHPになりますが、
自分たちで調べて実装することができ参加者の成長を感じられるものになりました。
それ以外にもコンピュータ基礎についての勉強会やSPAではないWebシステムの勉強会なども行いました。
今回、初めて長期の新入社員研修を行いましたが、
プログラミング未経験者が、レベルはそれぞれ異なるとはいえ
皆ある程度はプログラミングができるようになったのは良かったと思います。
研修の成果は、今後の実業務でどこまでプログラマとして貢献できるかによるので今はなんとも言えませんが
とりあえず来期も同様に研修が行われることになり安心しています。
未経験だけどプログラミングを仕事にしたいという方がいれば
下記サイトからぜひエントリーをお願いします。
(もちろん経験者も大歓迎です!!)