研修内容を振り返る 2020.08~2020.09
まえがき
みなさんこんにちは、サーバサイドエンジニアの大川です。自分は2020/03/09からアンテクで働かせていただいています。前回の記事に引き続き8月から9月にかけての自分が研修内容と実際に実施した内容・振り返りなどを一か月毎に区切って記事にしたいと思います。いよいよ研修も最後の月です。すべての研修を通しての振り返りは次週記事にしたいと思います。(前回の記事はこちら→https://anteku.jp/blog/develop/%e7%a0%94%e4%bf%ae%e5%86%85%e5%ae%b9%e3%82%92%e6%8c%af%e3%82%8a%e8%bf%94%e3%82%8b-2020-072020-08/)
ご注意
- 本内容は研修を受けた自分が感じた主観であり、弊社の意向と異なる可能性があります。
- ご入社いただいたみなさんに必ず本研修を受けていただくということではありません。
- 研修内容に関してはメモを取っていましたが実際の内容と異なる可能性があります。
- 情報セキュリティの観点から一部実名を伏せて記載することがあります。
2020.08の自分のレベル
前提情報として2020.07時点での自分の知識レベルを簡単に書いてみます。
- 「こんなサービスを作りたい」を時間はかかるが自分の手で形にできる。
- AWS EC2でサービスを動作させアプリからS3にファイルをアップロードする事ができる。
研修のサポート
2020.04の記事と同じですが、毎日上司の方とzoomを用いて10分~30分程度のミーティングを行いました。また、弊社のSlackにある技術的な内容を質問できるチャンネルで詰まった部分の相談に乗ってもらったりしました。
2020.09までの主な研修内容
- 自社プロダクトの設計と開発
研修内容をちょっと深掘り
自社プロダクトの設計と開発
先月から設計していた自社プロダクトの作成を開始しました。とりあえず今構想しているサービスを形にすることを目標に開発を行い、綿密に上司の方と認識合わせをして作成したというより今までの研修で得た知識を使ってなるべく人の手を借りずに作成しました。もちろん進捗具合や完成品の確認はしていただき毎日フィードバックを頂きました。
得た知識
- 画面デザインや機能を決める→実装の流れの重要さ
- ユーザの認証情報と管理者の認証情報保存を分ける方法
- 新規登録ユーザのメールアドレス確認方法
- クエリビルダの使用方法
苦労した点
- 仕様変更に弱いサービスになってしまった
苦労した点をちょっと深堀り
仕様変更に弱いサービスになってしまった
5ヶ月研修をしてきたとはいえまだまだド素人に変わりは無く、要求された機能を満たすアプリを作ることが精一杯でした。結果、一箇所修正したときの影響範囲がとてつもないことになり修正に時間がかかりました。具体的には「コントローラにほぼすべての処理が記載されておりビジネスロジックとDBアクセス処理の分離ができていない」「テーブルにカラムが足りておらず何度もマイグレーションを実施する」などがありました。加えてテストコードも書いておらず確認はブラウザでの動作確認だったため見落としも多発しました。今でこそサービス層やインターフェース、リポジトリなどの活用方法やテーブルのリレーションが少しづつ理解でき、実装できるようにはなってきましたので当時作っていたものがいかにメンテンス性が悪いものであるかがわかります。
最後に
今回の記事で研修内容をすべて書き終わりました。研修を通した振り返りは次週書こうと思います。苦労した点にも書きましたが仕様を形にすることに注力しいっぱいいっぱいになっていました。コーディングのセオリー的な部分もほぼなかったため非常に遠回りした気もします。例えばビューファイルの表示をDBから取得したデータによって切り替えたいときなどはすべてifディレクティブで記載していたりしました。(今なら三項演算子使ってもう少しスマートに記載できる。)とはいえ一人で仕様に沿ったサービスを作れるようになってきたのは自信に繋がりました。