2022年9月入社の内藤です。8月入社のメンバーと2人で行ってきた新人研修を終えたので、約一か月半に渡ってどのような新人研修を行ってきたのか記事にまとめました!
【9月上旬】 イントロダクション
アプリケーションのインストールや開発環境の構築方法がすべてドキュメントにまとめられていたことでスムーズに工程を進めることができました。また、2日間先輩に付きっきりでレクチャーいただき、会社や仕事に関する様々な雑談もできたので些細の疑問や不安を払しょくすることができました。
- 業務系Webアプリケーションのインストール
- 打刻システム、ドキュメント管理システム、Googleカレンダー, etc.
- 開発系ソフトウェアのインストール
- Tera Term、Git Bash、winSCP, etc.
- 開発環境の構築
- Dockerインストール、WSL2環境の作成、MRCソースコードのリポジトリをローカルにクローン、githubアカウントの作成と準備, etc.
【9月上旬~中旬】 バックエンドの学習
各レイヤーに責任を分けたWebAPIの設計の理解、そのWebAPIにHTTPリクエストを行いCRUD操作、SQL文であったりバックエンドの基礎を学習しました。あれをやってこれをやるみたいな先輩からの指示も少なかったので、自分の足りないところに対して自由に学習を進めた期間でした。特にSQLに関して書籍を一冊読んだことで理解が深まりました。
- Webアプリケーション、情報セキュリティ、ソフトウェアテストの座学研修
- APサーバーとDBサーバーのDockerコンテナ構築
- コンテナ上にマーケライズのWebAPIサンプルをクローン
- APサーバーに対してcurlコマンドを打ちCRUD操作
- DBサーバーのコンテナ上にDBを構築
【9月中旬】 Webアプリケーション用にWebAPIエンドポイントを追加
クローンしたWebAPIにエンドポイントを追加しました。今回作成するアプリケーションのテーブル構造は中間テーブルを作成するという指示が出ていたので、どのようなアプリケーションを作って、どのような機能を持たせるのか設計から考えたのちに、作成するアプリケーションに必要となるWebAPIエンドポイントの追加を行いました。
- 設計書の作成
- 作成するアプリケーションを決定
- DBのテーブル設計、API設計、UI機能設計
- DB構築、SQL文作成
- バックエンド(言語:PHP)でWebAPIエンドポイントを追加
【9月下旬】 Backbone.jsの学習
MRCのフロントエンドはBackbone.jsを使っているので、研修でのフロントエンドはBackbone.jsを学習しました。個人学習をしておりReactの知識はあったので、少し前の時代のBackbone.jsの仕組みや設計を知り、前と今のフレームワークそれぞれの特徴を比べることで、より理解が深まりました。モダンなフレームワークをただ導入するのではなく、自分で理由と根拠を持って最適なフレームワークや設計を考えられるエンジニアになりたいと思いました。
- Backbone.jsの仕組みの座学
- Youtubeやオライリー本、技術ブログを参考に基礎を学習
- 非同期処理(Backboneのメソッド、Ajax)
【9月下旬~10月中旬】 Webアプリケーションの作成
データベースからUIや機能まで考える必要があったので、Webエンジニアとして色々なことに触れる有意義な研修でした。Backbone.jsはViewやModel、イベント、非同期処理、クラスのインスタンス化、JQueryなど様々な角度の要素が絡むので、何か機能を追加しようとした際にコードが複雑になってしまい、他の人が読むと絶対わかりづらいと思いながら、自分の書いたコードで自分を苦しめているようになってしまいましたが、考え抜いたことで自分たちで今回のアプリケーションの最適なシンプルなコードの設計を見つけることができました。
- Backbone.jsを使いフロントエンドのアプリケーションを作成
- データベース内データのCRUD操作に関しては作成したWebAPIとの非同期処理を使用
【9月中旬~9月下旬】MRCの仕様のレクチャー
上司の方から直々にマーケライズのドキュメントのに沿って、MRCの開発に関わるあらゆることを大まかに説明していただきました。MRCのシステムの大きさとやってることの多さや複雑さに驚きました。自分はAWSの知識が乏しいと感じ、マーケライズはフロントやバックエンド、インフラのエンジニアの役割の境がなく、インフラにも携われる環境なので、少しずつインフラの学習も進めていきたいと思いました。
- 基本情報、インフラ、コーディング、フロントエンド、バックエンド、機能概要
最後に
1か月半を振り返ると、学習した知識を駆使して、一からアプリケーションを作り切ったことが良かったと思います! 先輩も気さくに質問や疑問に、時にはホワイトボードを使って説明していただき、色々アドバイスやヒントをもらいました。
この経験を土台にして、2022年の残りの期間は、実際のMRCの仕様に触れて徐々に理解していき、スキルアップをしていきたいと思います。