サーバーワークスでインターン生としてお世話になっていました、みなみと申します。
12月から1月までのインターンでサーバーワークスさんでやってきたことや感想など振り返ってみたいと思います!
自己紹介とインターンを始めたきっかけ
私は情報系の学部に在籍していますが、大学2年生までエンジニアの経験はほとんどありませんでした。
きっかけとしては、自分のやっているマイナースポーツに関するアプリケーションを作りたい!と思い、昨年の4月からプログラミングを本格的に始めて、5月からAWSを触り始めました。
その後アルバイトや短期のインターンシップを経験する中でAWSの技術のスピード感、様々なサービスを組み合わせることでいろんなソリューションを提供できる点、インフラの観点からサービスの改善を行うことでユーザーだけでなく作る側にも価値提供ができる点などに惹かれていき、「将来はAWSを使った仕事、エンジニアになりたい」と思い始めるようになりました。
もっと実務に近い経験を積みたいと思い、中長期で受け入れていただけるインターンを探していたところ、サーバーワークスさんのWantedlyのブログでインターン生の体験記を見かけました。(元々サーバーワークスさんのことはAPNプレミアパートナーということで気になってました)
すぐさまTwitterのDMでコンタクトを取ったところから始まって、12月から受け入れていただけることになりました!! (インターンを公式に応募していないのにも関わらず、無理言ってすみませんでした😅。お忙しいところ検討していただいて本当にありがとうございます!)
インターンの内容
インターンを受け入れていただいた部署はPE課という、主にサーバーワークス社内向けに業務改善システムを作っている社内SEのようなお仕事をメインでやっている課です。
取り組みテーマとしては、API Gateway + Lambda(素のデプロイ)で動いている工数チェックシステムをServerless Frameworkに載せ替えるという物でした。
インターンの進め方としては黙々と調査・作業をしつつ、毎日1時間〜3時間の相談枠のMeetsでメンターの方にわからなかった部分を質問しまくる。という流れでやっていました。
「とりあえずやってみたい!」「出来るところまでは自分でやってみたい!」と思う自分にとってはすごい進めやすかったです!
1週目
Lambdaは触ったことがありましたが、Serverless Freameworkは未経験だったので最初の数日はServerless Freameworkで色々やってみるところから始まりました。
2週目
1週間ほどで最低限の機能は実装できたので、2周目は本番デプロイを見据えた実装を行いました。 具体的には、
- 他の開発者のローカル環境やCI環境などでデプロイや実行ができるように環境に左右されないように
- 機密情報をParamater store(secret string)から取ってくる
などを意識して実装していきました!
3週目
3周目の初めには1回目の本番デプロイを行いました。(その後ちょくちょく想定していない動作があり、最近まで不具合の修正に追われていました。。) 期間ももう少しあったのでその後はCI/CDまでやってみたい!とメンターの方にお願いし、CIの為のユニットテストを始めました!
実はテストコードを書くのも初めてで、メインの実装以上にてこずりました...😓
4週目
4週目はテストメインでコードを書いておりました! テストコードを書く上でモックをなかなか理解できず、進捗は芳しくなかったです...
また運用していくことも考え、ログのフォーマットも意識しながら実装を行いました!
5週目
1月上旬から中旬まで大学のテスト等で期間が空いてしまいましたが、最終週はCI/CDの実装に取り掛かっていきます!
CodeBuild・CodePipelineは使ったことがあったので、これらを利用しようと考えていましたが、Github Actionsが気になって仕方がなかったので、こちらでやってみることにしました。
結論から言うと、すごく気楽にCI/CDを実装できる点で今回のケースではGithub Actionsを選んでよかったです!
また、なんとか時間内に終わらせることができました!😂😂
インターンの感想
今まで独学メインでやってきたこともあり、Githubを使って2人以上での作業や、見やすいコード・運用のことまで考えたコードの書き方など独学の範囲だとなかなか経験できないことを学ばせていただきました!
本業の案件もある中、ほぼ毎日相談枠を取っていただいたりなど、お忙しいところ本当にお世話になりました!
今回のインターンで得た経験や考え方を活かし、エンジニアとして活躍できるように頑張ります!