1
/
5

レビューが成長を加速させる 実践的インターンシッププログラムで気づいた個人開発とのギャップ

大阪大学 基礎工学部 情報科学 Oさん

2024年6月からインターンシップに参加したOさん
「エンジニアからのレビューを受けたい!」という思いで、YUZURIHAインターンプログラムへ応募
実践的なインターンプログラムを通して気づいた「個人開発とのギャップ」、最終プレゼンテーションを終えた現在の感想をお聞きしました

 

インターンシップに求めたもの・参加前の期待

 僕がこのYUZURIHAのインターンシップに期待していたことは実際に現場で働かれている方からのレビューを受けることです。このインターンシップへの参加を決める前も独学で学んだ知識を用いていくつか個人開発を行っていました。しかし、どれも動けばいいや、とかこんなもんでいいか、みたいな独りよがりで妥協ばかりのコードを書いていて、これでいいのか?と思いながら開発を行っていました。
 WantedlyでYUZURIHAのインターンを見つけ、インターン内容の自由度が高く、目標設定も自分で行えるという内容を見て、設計から実装まで自分でやってみて、それに対してレビューをもらいたい!と思ってインターンへの応募を決めました。
 インターンに内定をいただくまで何回か面談がありました。そこでインターンの難易度が高いことは何度も念押しされたのですが、自分自身インターンに求めていることが成長環境だったこともあり、その言葉を受けるたびに楽しみだなと思っていたことを覚えています。

インターンシップ 3つの目標

 僕がインターンシップに参加するにあたってこれだけは実現したいと思った目標は3つありました。
1つ目はきちんと動くアプリケーションを作成すること。次に、アプリケーションのユーザーに見える部分以外の機能の実装を充実させること。具体的にはテストコードをしっかりと書くことや、AWSのアーキテクチャをきちんと考えてデプロイまで行うといったことです。3つ目は保守性のあるアーキテクチャ、コーディングを行うということです。
 2つ目と3つ目に関しては特に個人開発ではなかなか意識しない点であり、このインターンを通して少しでも知識を身につけようと意気込んでいました。

インターンシップの達成度・満足度について

 達成度に関しては90%くらいです。インターン開始時の面談の際に設定した目標のほぼ全ての機能を実装することができました。残りの10%の後悔は、自分の設計段階での見積もりをきちんと行わなかったからだと感じています。このインターンの重要な点は、技術力を上げるということはもちろんですが、限られた期間の中でタスク管理・スケジュール管理をきちんと行い、期間内に満足のいくアプリケーションを作ることだと感じました。これに関しても個人開発では暇さえあれば開発を続けることができますが、インターンに関してはそうはいきません。スケジュール管理をもっと徹底して行なっていれば、プラスアルファの開発ができたかなと思います。

 満足度に関しては100%です。というのは、さまざまな技術について深い部分まで知識を身につけられたという点でかなり満足しています。これまではライブラリをインポートしてきて、与えられたインターフェースに従って引数を与えたら、なんか動いた、やったーみたいな感じで浅い部分の知識だけで開発を行っていましたが、レビューでは、「これを実行したらこんなことが起きているから、こうしたほうがいい。」のようなレビューをいただき、深い知識を得られました。また、個人的にはテストの部分で新たに得る知見が多く、テストのベストプラクティスから設計、テストライブラリの活用方法までいろいろなことを学べました。また特にAWSへのデプロイを通して、インフラについての知見がついたのはとても良かったなと思います。

メンターをはじめとする社員とのコミュニケーション

メンターの方やその他のサポートしてくださる社員の方とのコミュニケーションは、主にSlackを通じて行っていたのですが、その中で、最初はやはり質問を投げたりするのも「迷惑かけたりしないかな?」とか「これって質問するまでもないことかな?自分で調べよう。」みたいな感じで遠慮してしまうことが多かったです。しかし、質問を投げかけると本当に1分もしないうちにレスポンスが帰ってきたり、「こんなことやってみたいんですけど、やってみていいですか?」と聞くと「ええよー、どんどんやってこ!」という言葉をいただいて、とても安心してコミュニケーションを取れるようになりました。これにより、意見や質問を言いやすくなり心理的安全性の高い環境で開発を行うことができました。とても感謝しています。


(アドバイスをくれた先輩エンジニアと)


個人開発とインターンとのギャップ

個人開発を行っている時は、そもそもブランチを切ったり、PRを作成して他人に自分のコードを見てもらう機会もないので、とても自分勝手なコードを書いてしまうし、動けばいいや、といった感じで開発を行っていました。また、タイムマネジメントについても締め切りはないので自分がやりたい時に始めて、辞めたい時に辞めるみたいな感じでモチベーションドリブンな、ふわふわとした開発をおこなっていました。
しかし、仕事でコードを書くとなるとPRの粒度も気をつける必要があるし、変数名から気を付けていかなければいけないことに気付かされました。実際にファイル構造であったり、変数や関数の命名規則についてのレビューコメントが一番多かったように思います。また、締切が決まっているインターンなので、ここまでにやり切らなければならないという開発に慣れていないこともあり、個人開発とのギャップを感じました。

インターンシップ期間中の過ごし方

 インターンシップ期間中は、本当に忙しかったです。他の長期インターンと並行してインターンを行っていたり、他にもプロジェクトをいくつか抱えた中での参加だったので、インターン前半ではかなりコミットできていたのですが、徐々に時間を割けなくなっていて、体調を崩してしまう時期もありました。それでも毎日が充実していて、総じて振り返ってみると楽しかったなぁと思っています。
 また、インターン前から自分の授業や予定に合わせてインターンの日程を変更して下さったり、インターン中も予定が変わってしまった時に、柔軟に勤務時間を変更してくださり、とても助かりました。

最終日のプレゼンテーションを終えて

発表を終えた安心感が何よりも大きかったです。発表中、同時に自分の作成したアプリケーションを実際に触っていただいたのですが、細かなエラーはあったものの、サーバーが落ちることなく使ってもらえて良かったです。プレゼンの練習も前もって複数回行う時間があったのですが、本番では多くの社員の方に聞いていただき、とても緊張しましたが、うまく発表できて安心しました。
予想していたよりもポジティブな感想をいただけて、とても嬉しかったです。特に、自分が頑張ったテストの部分や、AWSアーキテクチャの部分、設計の部分に関してポジティブなフィードバックをいただけて感激しました。中でも一番心に残ったのは、機能面ではなくエンジニアのモチベーションに関する助言です。自分の発表の中で、インターン期間中に一度モチベーションが落ちてしまったことについて触れたのですが、色々と興味が湧いて触れたくなる気持ちはあっても、「まずはどれか一つに絞って、ミニマムに知識を身につけていかないとモチベーションが持たないかもしれない」(※自分の専門分野を持つことの大切さ)という助言をいただき、この言葉が深く印象に残りました。今後、自分の職業としてエンジニアを選ぶにあたり、長く学習を続ける上で重要な考えだと感じました。

メンターのKさんへ

 メンターのKさんには本当に感謝しています。というのは、Kさん自身のプロジェクトがかなり忙しい中で、僕の座っているデスクまで来て、忙しさを見せず、自分に気を遣わせないように冗談混じりで質問がないか聞きに来てくださったり、Slackで質問を飛ばしたら、出社していない日(リモートワーク)でも爆速で返信が返ってきたりと、最高のサポート体制でした。特にインターン序盤はどのくらいの粒度でPRを作るべきかわからなかったので、大量のコードを書いてはレビューリクエストを飛ばしていたのですが、細かいところまで丁寧にレビューされて返ってきて、本当にありがたかったです。
また、開発に関しても、こんな機能作りたいとかユニットテストとAPIテストどっちも作りたい、とかCIまで作りたい!みたいなわがままをたくさん言ってしまったのですが、そのたびに実現可能性や設計等を加味して的確なアドバイスを投げてくれてとてもありがたかったです。本当にありがとうございました。

(最終プレゼン直後にメンターと)

YUZURIHAのインターンシップに参加する方へ

YUZURIHAのインターンは特にここまで作れば完成!のようなゴールは特に定められていません。逆に言えばやりたいことがあれば可能な範囲内でやれます。なんとなくインターンに行ってみたいなみたいな受動的な方は何をしていいかわからなくて、戸惑ってしまうかもしれませんが、やりたいことがある!であったり、学びたい!といった積極的な姿勢で参加できる方には最高の成長環境だと思うので、ぜひ参加してみてください!​

メンターよりOさんへ

Oさん自身は中だるみの時期があったとプレゼンテーションの中でも話していたけれど、次に向けて考えるために時間を使っていたんじゃないかと感じています。本当に頑張っていたし、積極的に取り組んでいたからこそ、アーキテクチャやCI/CDまで踏み込んで実装し、いいものができたと思いますし、最終プレゼンの完成度も高かった。これからエンジニアとして伸びていくだろうと感じています。Oさんとランチに行ったときに「エンジニアたるもの、いつ死んでもいいように適切に設計することが重要」と、自分自身はそんな気持ちで取り組んでいると伝えましたが、やはりプロセスを重視し品質のよいものを作ることを心がけて取り組んでほしいです。

最後に

インターンで学んだことをQiitaに投稿しましたので、ぜひご覧ください。
『FastAPIのテストをしっかり書いてみる』
https://qiita.com/Katsuya_Ogata/items/bf722219c2aa454bb0eb

YUZURIHAのインターンに参加したい方は、お気軽にメッセージください。
開発のご経験は必須ですが、学ぶ意欲を何よりも重視しながら選考を行っています!

株式会社YUZURIHAでは一緒に働く仲間を募集しています
4 いいね!
4 いいね!

同じタグの記事

今週のランキング