CROOZ TECH BLOG

~読んだらわかるSHOPLISTの裏側~

CROOZ TECH BLOGとはクルーズ株式会社の開発チームが技術について共有するブログです
開発の中での発見や知識を広めてオモシロカッコイイ〇〇をツクリます。

AWS Cloud9で内定者研修用の開発環境を構築して見た話

こんにちは。クルーズ株式会社CTOの鈴木です。

今回は、ブラウザベースのIDEAWS Cloud9の話です。

先日に「SHOPLISTで5年ぶりに新入社員向けにプログラミング研修を再開した話」でも触れたとおり、当社子会社のCROOZ SHOPLIST株式会社では、新入社員向けの研修の一環で職種に関係なくITリテラシーの教育の一環としてプログラミングスキルに関する研修も実施しています。

その中で、今年の内定者向けの研修からAWS Cloud9を使い、HTML、JS、PHPの基礎的な研修で活用しています。

新人向けにプログラミング教育を実施する理由

CROOZ SHOPLIST株式会社では、新卒社員向けの募集職種として営業、開発などの職種別採用は現在実施しておらず、「新卒」という一つのくくりで採用を行い、ビジネススキルの教育もITスキルの教育も内定者全員共通の内容で実施しています。

新卒向けにITスキル教育の一環としてプログラミングの研修を実施している理由としては、当社がインターネット上でサービスを提供しており大前提としてインターネットに関連する知識や経験がないと企画の立案や効果検証を効果的に行えないこと、また自社プロダクトとしてインターネットサービスを開発していく上でプログラムの設計・実装に関する知識がないと要件を決めきれないことがあり、入社の前から基礎的な教育を内定承諾後よりリモート研修という形で実施しています。

入社後については、素養や適性を判断し配属部門が決定され、ビジネスサイドの部門に配属されるメンバーは、4月に営業部門配属、エンジニア部門に配属されるメンバーは引き続き3ヶ月の開発の研修を経て開発部門に配属となります。

内定者研修でCoud9を採用した理由

初期環境構築を個々で行う必要がない

前述のように専門職種としてエンジニア職採用をしておらず、基本的に環境構築の経験のない人がほとんどです。

そのような状況で、仮にVagrantやDockerでローカル開発環境を配ろうにもまずVagrantやDockerの動作環境を作ること自体がハードルが高く、かつ昔のように土日集まって研修を行うといったことが出来ないです。

また初期構築につまづくと、もうその時点でプログラミングに苦手意識を持ってしまう人もいるので、手軽に簡単なコードを書いて実行できるものはないかと色々考えた末、AWS Cloud9を採用しました。

実際には一番初めに特定のコマンドを流して環境構築は行ってもらうのですが、PC上での環境構築とは違い、EC2上での構築でかつ、OSバージョンなどの初期構成に差がないので初期構築にハマって研修運営が滞ることがなく非常にやりやすかったです。

IDE+サーバとして機能するのでCoud9上で完結できる

環境構築を必要としないプログラミングの研修手段としては、他にもオンラインエディタもあります。

ただオンラインエディタの場合、目的によってエディタを使い分けなければならない事やこの部分はサーバサイド言語で書いて、ここはフロント実装して、成果物はGitで管理してといったような実際の開発に近いことを行うことが難しく、実際のIDEとして機能するものがCloud9だったというもの選定の理由として大きいです。

特にIDE上からインスタンスに対しOSコマンド操作ができることや、Webサーバの成果物のプレビューができることが大きく、実際にtailコマンドでログを確認しながらデバッグできることのメリットは大きかったです。

手軽に実践できる環境が欲しかった

当社ではプログラム教育に力を入れているものの、新入社員全員が入社後開発職種として活躍することを期待しているわけではないです。

開発の知識を新入社員全員が理解していることが共通で求められ、そこから先は素養や適性判断でエンジニア部門配属の人はさらに3ヶ月間、クラス設計やGit-Flowなどのお作法的な内容から、DB設計やチューニングなど様々なことを学んでいきます。

なのでまずは手軽にコードをかけてそれが成果物として見れて、リポジトリ操作ができる環境があればよく、その要件を満たせたため採用しています。

導入してみて

手軽にコードをかける環境としては最適!

特に環境構築面は(環境を構築させる側の視点で言っています)はすごく手間が少なかったです。

研修を受ける側の人にとっては初めて使うIDEなので多少は戸惑っていたものの、1時間くらいの操作でIDEの基本的な操作には慣れてきていたので、研修用途としては最適だと判断しています。

一方で業務上の利用を考えると、ブラウザベースでマルチディスプレイ対応してないから生産性どうなんだろうとか、VSCode上で行っているファイル保存時のLintとか諸々どうしようとか考えないとならないことはまだ多いのですが、ブラウザと電波さえあればどこでも開発できる手軽さはものすごく魅力なので、DaaS的な活用も今後検討していきたいと思っています。