はじめに
はじめまして! 9月のExciteの就業型インターンシップ「Booost!!!」に参加して得られた知見などを紹介します!
自己紹介
情報通信工学専攻の学部3年生です
個人でWeb開発を行ったり、アルバイトでフロントエンド開発の経験があります。 大規模アプリケーションに携わるのは初めての経験なので、現場の開発体験やエンジニアとして働くイメージを掴むことを目標に参加しました!
業務内容
Saas事業のFanGrowthにフロントエンド業務でアサインされましたが、面接時からバックエンドも担当してみたいという希望を唱えていたこともあり、後半にPHPを使ったAPI開発をすることができました! (わがままを聞いてくださってありがとうございます🙇)
具体的には以下の2つの業務を担当しました
得られた学び
開発面とコミュニケーション面に分けてまとめます!
開発面
リファクタリングの経験
すでにVueで実装されている画面をReactへリファクタリングしました
Vueの経験がほとんどなくて、<v-row>や<v-container>など独自記法のキャッチアップが少し大変でしたが、初めてリファクタリングの経験をすることができ、「再利用できるコードはあるか?」や「安定して動くAPIの処理、型定義はどうなっている?」等といった考え方を持ちながらコーディングをする事ができました。
コンポーネントの再利用
独自コンポーネントや、似た処理の再利用を常に意識しながらフロントエンド開発を行いました。 具体的には、以下の手順を踏みました
1.Figmaで作成画面をイメージする
2.dev環境に似た画面が無いか探索する
3.DevTools or IDEのgrepなどで特定
4.コードベースに潜りIDEの参照機能などから具体的な実装などを真似する
このやり方のお陰で、速い実装、大きなコードベースの理解に繋がったと思います。
フロントエンド開発側のバックエンドの理解
当初私が作成したフロントエンドで画面を作成するPRではAPIを何度も叩く処理が発生してしまい、アプリの仕様変更や大規模化に伴い、パフォーマンスにも影響が出るであろうということでAPIのレスポンスを1つにまとめる業務を行いました。
- フロントエンドからでもAPI, DBの処理の理解
- パフォーマンスに対する意識
を学ぶことができ、個人開発だけでは得られなかった考え方を経験できました。
積極的なAI活用
- GitHubでPR作成時にGeminiのAIレビューを実行することでレビュワーの負担を軽減 & 変更の理解の促進につながる
- フロント、バックエンドに別れているレポジトリを1つにまとめて、ドキュメントを整備することでAIへのインプットを効率化するなど
コミュニケーション面
フルリモートでの参加だったため、Slackなど文面のコミュニケーションがメインでしたが、リアクションや即レス、解釈の入れ違いが発生しないように意識しました。 チーム開発でのコミュニケーションの重要性を学ぶことができました。 また、インターンシップ期間中にオンラインイベントを複数開催していただき、普段触れない技術のキャッチアップや社員の方のLTを聞くことができました 会社の雰囲気を掴めて、とてもいい機会でした!
おわりに
今回のインターンで多くの知見を獲得し、学びながら楽しく働くことができました。 メンターさん、社員の方々、人事の方、関わっていただいた全ての皆さんに感謝申し上げます! 今後のエンジニアキャリアを加速される大きな経験をすることができました! ありがとうございました!