【インターン経験】私の中の“エンジニア観”を変えたHACARUSでの9ヶ月
2025/04/17
はじめに
こんにちは!2024年6月~2025年3月の9ヶ月間、株式会社HACARUSでアプリケーションエンジニアとして就業型インターンシップに参加させていただいた前田樹と申します。こんにちは!2024年6月~2025年3月の9ヶ月間、株式会社HACARUSでアプリケーションエンジニアとして就業型インターンシップに参加させていただいた前田樹と申します。
自己紹介
私は今春大学院修士課程を修了します。専攻は情報工学ではなく、機械系でしたので、プログラミングは独学で習得しました。プログラミング自体は大学1回生の夏に始め、何度かの挫折を味わった後に3回生から本格的な学習を始めて今に至ります。キャリアの選択としてソフトウェアエンジニアを志したのもそのあたりです。前提として、別企業様から内定をいただき入社を決めた後に、就職前のエンジニアとしての業務経験の獲得を目的として参加したインターンの体験記であることをご留意ください。
HACARUSでインターンをする前は1-2週間程度の就業型インターンシップには何度か参加したことはありましたが、長期インターンに参加したのはHACARUSが初めてです(それまではチームでのアルバイト経験も全くありませんでした。家で一人で行える、添削バイト等を主に行っていました。)。
技術スタックとしては、インターンシップ前の時点では浅いフルスタックエンジニアという形です。設計論に対し一番知識を蓄えていたとは思います。
開発面ではDockerやらネットワーク、Linuxの知識やCI/CDなどのインフラ部分の知識は備えつつ、GoやReactなどモダンな技術に少し傾倒した、IT黎明期の苦労は知らない学生エンジニアだったと考えていただければと思います。
HACARUSのインターンに参加した理由
志望動機は以下のようなものになります。
志望動機
- 就職前にエンジニアとしての業務経験が欲しい(自分は社会人エンジニアとしてやれるだけの素養はあるかの確認。)
- チーム開発を本格的に体験しておきたい
- AIとアプリケーションとが連携したプロダクト開発に携わってみたい
条件
- 大学院の研究があるため、週2日で、10時間程度の稼働で済む
- リモートOK (結局ほとんど出社をしましたが、リモート勤務中心のインターン生もいます)
- アプリケーションエンジニアとしての採用である。
私自身はAIに詳しくありませんが、アプリケーションエンジニアとして関わることで、AIとアプリケーションの関係を実際に肌で感じられると思いました。そうした理由から、HACARUSが第一候補となりました。
HACARUSで行ったこと
開発
HACARUSでは粒度の小さいタスク(私が行き詰ったり、学会準備等で業務を離れたとしてもビジネスに影響を与えないもの)を数多くこなす、といった形になっていたので多岐にわたります。合計出社日数は72日で、こなしたタスク数は132だったため、一つあたり平均4時間程度のものを割り振られていたことになります。体感としてはもっと少なく、一つ当たりの所要時間は2-3時間程度で、たまに時間がかかっても良いが、粒度の大きいタスクなどを割り振られていたためそのような数値になったものと考えられます。
具体的に行ったことは以下のことです。
- 開発生産性の向上に寄与する抜本的なプロジェクトの改善
- コードのリファクタリング
- DBマイグレーションツールの調査、導入
- アプリケーションの仮想クラスタ化に関わる概念実証
- CPUアーキテクチャに依存しないオペレーションの提案
- マルチメディアフレームワークへの移行に伴うパフォーマンス改善
- アプリケーションアーキテクチャの議論、改善提案
- クラウドレジストリを用いたCI/CDパイプラインの効率化
- 社内チュートリアル資料の作成、英文化
- 低レイヤ特有の問題に対する調査と解決
- 機械学習タスクのアノテーション
- その他発生していたプロダクトの機能追加への対応
と、インターンシップではなかなか体験できないような、プロダクトの奥深くまで関わらせていただけたのではないかと思っています。広く浅くな私の力量を正確に見積もり、少し苦労する程度のタスクを割り振っていただいたことで私自身の成長を感じることが出来ました。経験のない映像処理に関する開発や、プロダクトの全貌に対する設計議論にも関わらせていただけて本当に貴重な経験だったと思います。
日常業務の中でエッジコンピュータを利用して、機械学習モデルの性能向上を間近で見られたことは私の中でとても大きな体験でした。アノテーションに携わらせていただいたこともあり、実際に自身のデータの草分けで性能が向上していく(内部で起きていることも詳しく教えていただけました。)のはアプリケーション開発とはまた違った達成感がありました。
エッジデバイス、エッジコンピュータを用いたプロダクトなので予期しない挙動を起こすことが数多くありましたが、それらの挙動に対してめげずに挑戦し、改善し続ける社員の方々の背中を見て、私も途中で折れずに最後まで全力でプロダクト開発に関わることが出来ました。
HACARUSでのインターンシップで得られた経験
HACARUSで得られた経験は、上記のソフトウェア的、ハードウェア的なスキルの成長だけではありません。むしろそれらはほんの一部分でしかなかったと私は強く思います。共に働くエンジニアの方々の非エンジニア的な側面に触れ続けられたことが、私の中でこれからのエンジニア生活を形作る貴重な体験になったと思っています。
- 対面出社とリモート勤務の比較経験
- 心理的安全性の重要性
志望時の条件にもあったように、インターンシップを行う前は私はリモート勤務を希望していました。しかし、結局2回リモート勤務を行ったのみで、それ以外は全て対面での稼働になりました。
少なくとも私は、エンジニアとしてプロダクト開発に関わる中で最もボトルネックだったのはコミュニケーションコストだと感じました。プロダクトに対して、あるいは開発生産性に対して疑問に思ったことがあれば、同期的にコミュニケーションを取れる対面での作業は本当に快適でした。しかし、何よりそれを支えていたのは、オフィス全体に漂う心理的安全性の高さだったと思います。私の意見をただのインターン生と軽んじて流さずに真摯に向き合ってくれたというその積み重ねが、より私がプロダクト開発に対してのめりこむ礎になっていたと振り返れば思います。
それら心理的安全性の裏付けは客観的にみても明らかで、たとえば子育て家庭の方を別のメンバーでサポートする環境がそこに存在し、なんてすばらしいオフィスだろうと感じました。
最後に
末筆になりますが、私のインターン体験記はここで締めくくりたいと思います。9ヶ月という少し長いような短いような期間でしたが、私の面倒を本当に最初から最後まで見ていただいたメンターの方を始め、チームメンバーの皆さんには心からお礼を申し上げたいと思います。本当にありがとうございました!