2021/5からRITでインターンとして働かせていただいた伊藤です。一年と少しの間大変お世話になりました。卒業を期に振り返り記事を書かせていただきます。
はじめに
インターン参加前
RITにインターンに参加する前は友達とハッカソンに参加したり、個人で開発をしたりしていました。その中で実務レベルの経験を積みたいと思い、RITのインターンに参加させていただきました。
インターンでやってきたこと
VOV
初めて参加させていただいたプロジェクトで、最初は経験したことないソースコードの量とソフトウェアの構造に圧倒されましたが、必死にくらいついていきました。開発以外にもお客さんとのミーティングやレトロスペクティブにも参加させていただき、貴重な経験になりました。開発で特に印象に残っていることは、アプリケーションサーバのパフォーマンスチューニングに携わらせていただいたことです。計測・ボトルネックの仮定・検証・調査というサイクルを教えていただき、パズルをはめこんでいくように原因を特定していくのが面白かったです。
プロジェクトS
プロジェクトSでは少しの間でしたが、UIコンポーネントのバージョンアップに伴うリプレースとバグ修正を行っていました。ライブラリのドキュメントをかなり読み込むような機会になったので、ドキュメントの読み方の勘所のようなものが掴めました。
プロジェクトI
このプロジェクトではがっつり開発に携わらせていただきました。インターンを開始してから要件や仕様を自分の中でしっかり落とし込んで開発するようになったのですが、このプロジェクトではさらにそれを意識しました。その中で要件や仕様に対して疑問を感じたことや矛盾点などを聞けるようになり、少しは貢献できたのかなと思います。最後までこのプロジェクトに関わることができなかったのは残念です。
学んだこと
実務レベルのエンジニアリング
実際にプロダクト開発に参加させていただくようになってからは、毎日学びの連続でした。チーム開発や意図の伝わる命名、ロジックとビューの分離、ライブラリを抽象化して依存性をなくす、コードの意味を伝え本質を保つテストコードなど挙げるときりがありませんが、目から鱗な学びがありました。特にテストや設計に関して、個人開発でも真剣に向き合うようになり、一年前よりもかなり成長しました。
なぜソフトウェアを作るのか
インターンに参加する前の僕の考える理想のエンジニア像というのは、とにかく技術力が高く、尖った技術を持ったエンジニアでした。しかしRITのインターンを通してその考えは変わりました。もちろん技術力は重要です。そして技術力と同じくらい重要なのが「なぜソフトウェア作るのか、適切な技術は何か」と問うことです。お客さんが抱える問題を解決するにはソフトウェア開発が本当に必要かというのを考え、お客さんに合わせて適切な技術を選択する。社会では当たり前かもしれませんが、コンテストやハッカソンで先にどんな技術を使うのか考えたり、「なぜ作るのか」というところを蔑ろにして「どうやって実装するか」ばかり考えていた僕にとっては新しい価値観でした。本当に大事なことを開発や喜多さんたちの話、お客さんとのミーティングの中で学ばせていただきました。
おわりに
一年と少しの間、本当に貴重なインターン経験を積ませていただきました。以前に比べて、技術力と思考力が成長しました!
今後もさらにレベルの高いエンジニアを目指して精進していきます。
本当にありがとうございました!