プレイドでの1年7ヶ月のエンジニアインターンでどう成長できたか

こんにちは、エンジニアインターン尾澤です。
本記事では、PLAIDで経験した1年7ヶ月のインターンについてまとめたいと思います。
インターンをやろうとしたきっかけ、PLAIDを選んだ理由、インターン内容、インターンで学んだことについてまとめました。

はじめに

まず初めに軽く自己紹介です。
自分は大学では主に情報分野の授業を受け、暗号通信の研究をしました。
2017年8月からインターンに参加させていただき、1年半以上仕事をしました。
この度大学の卒業と就職に伴い、インターンを卒業させていただきます。
卒業後は自動車業界で自動運転開発に携わることで、次世代モビリティの開発に関わりたいと考えております。

っとなんだかすごいように聞こえるような言い方をしましたが、このような目標を抱けるようになったのは、PLAIDでのインターンの経験が大きいと考えます。

なぜインターンに参加したのか 〜技術力を付けるという側面〜

大学入学時にこれからエンジニアとしてキャリアを進めたいと考えていたため、早いうちから専門を絞ろうと決め、インターネットの父と呼ばれる先生のもとで学べる研究室に所属しました。
研究室で知り合った同期の中にはプログラミングができるだけでなくネットワークやハードウェアなど、情報分野の知識が豊富な学生がいました。
(世の中には情報の授業でC言語などを触れる高校があるらしいですね……。)

一方の自分は情報の知識はまったくなく、大学に入学してからプログラミングを始めました。
初めは大学でプログラミングの授業を受けておりましたが、研究室に所属してからは周囲の学生と大きな差を感じ、悔しい思いをしながら2年間学生生活を過ごしました。

この技術力のない自分を改善するため、というのがインターンを始める1つの理由でした。
インターンに参加することで、実際の開発に携わり、エンジニアの方々と接することで技術力を高めようと考えました。

なぜインターンに参加したのか 〜就活という側面〜

正直な話をすると、技術力を付けるという理由だけでなく、インターンを就活にも活かそうと考えていました。

3年生になり、院進か就職の選択を決める時期が近づいた頃、周りの学生と同じく自分も院進をしようと決めていました。

初夏あたりで、友人と食事をしている時に将来について話したことがありました。
自分は院進すると話しましたが、友人にはなんとなく院進しようとしていて本気で考えていない、と指摘されてしまいました。
友人は当時、既にベンチャー企業でのエンジニアインターンに参加していたため、インターンに参加してみれば何かわかることがあるかもしれないと言われました。

友人の指摘を受け、夏休みにインターンに参加してみて、院進・就職を決める参考にしようと考えました。
今思うと、院進するならあの時期ではもう内部進学しか残されていなかったなぁ……と考えますが…。

なぜPLAIDでインターンをしたのか

インターン参加を決めてからは、参加する企業として様々なベンチャー企業で面接を受けてみました。
その中でPLAIDを選んだ理由は、面接時にエンジニアの方からKARTEに対する思いを聞けたからです。

他の会社は開発するシステム自体より、インターンとして出来ることを重点的に話して下さいましたが、インターンをしたことがなく、どんなことでもしてみたかったため、どんなシステムの開発に携われるかに興味がありました。

また開発するシステムをインターン生にもきちんと説明してくれるということは、システムに対する愛情や自信があるのかなと感じました。
これは実際にインターンに参加してから確信に変わりました。
業務内容に関わらず、社員全体のKARTEに対する共通の認識が存在することは、学生の自分でも感じることが出来ました。

ある程度軌道に乗った自社サービスがあるということも決め手でした。
KARTEでは既に大元となるシステムが確立しているため、様々なシステムについて知ることが出来ました。
受託開発を行う会社で仕事をしていた知人がいますが、受託開発では次第に似た実装を繰り返すようになってくるため、自社サービス開発を選ぶべきと言っていました。
ちなみにこの友人はこの春に自社サービスをもつ会社へ転職するそうです。

でも1年7ヶ月ではそのほんの一部しか触ることが出来なかったです…。
それほどKARTEはデカい!!

インターンでやった仕事について

インターンとしてやった仕事は、簡単なバグの修正から始まり、旧ページから新ページへの移行、新ページの作成、新規機能の追加までその時々の自分のレベルに見合った(ホントは結構背伸びしてた…)様々な開発です。
最終的には自然言語処理に関する外部APIとの連携という自分には割と大きめな実装に携わりました。

共通して言えることは、全て0から自分で考えることが出来るということです。
問題背景をissueという形で教えてもらいますが、それに対してどういうアプローチで解決するかは参考程度に意見を頂くだけで、あとは自分で考えるという流れでした。
もちろん実装についてわからないことは何でも教えてもらえますが、まずは自分で考えるようにしていました。
上からの指示に従わず、自由に実装できるという方法は自分をより成長させることが出来たと考えています。

また実際の実装状況を伝え、社員の方に考えや方針を変えてもらうこともよくありました。
最初の実装方針より良い実装法を考えた場合に、社員の方と相談し、その実装法に変更することもよくありました。
すなわち、インターンかどうかは関係なく、エンジニアとして対等に対話をしてくださいました。

インターンで何を学んだか

インターンを通して一番学べたことは、エンジニアとしての問題に対する姿勢です。
開発する際に必要となる、実装法の考え方、周囲とのコミュニケーション、プロジェクトマネージメントについて学ぶことができました。

問題背景に対しどのようなアプローチで問題解決するかを決め、そのアプローチを効率良く、時には期限までに、不足する自分の知識をどう補いながら実装を進めるかを経験することが出来ました。
1年7ヶ月で様々な形で経験させていただきましたが、まだまだ全く上手く機能していなく、改善点と学ぶべきことが山積みですが…!!

また会社の成長を身を持って体験することが出来ました。
インターンに参加しはじめの頃は五反田オフィスであり、社員さんの数も今ほどいませんでしたが、毎月いろいろな経歴を持つ社員さんが参加し、途中で銀座オフィスへの引っ越しも経験出来ました。

その過程で様々な経験を持つ方々が会社として機能するために、意見を言い合い、会社として共通の認識を実現する過程は特に勉強になりました。
自分もリーダーシップをとるような際は、様々な意見が出て、その意見をもとに議論し、共通の認識が生じるような環境にしようと思います。

技術力に関しては、当然向上することが出来ました。
フルスタック開発をすることが出来るため、バックエンド処理の実装も行いました。
自分の普段の開発はクライアントサーバーモデルで実現することはなかったので、バックエンドの実装を経験出来たのはとても有益でした。
実プロダクトの開発を通して、授業で話に上がるような実装上の問題や解決法を具体的に理解できるようなこともありました。

周囲の学生とはプログラミング能力という側面では差を縮めることが出来ましたが、まだまだ肩を並べたられたかな?という程度だと思います。

現在の自分には到底及ばない技術力を持った、世界中のエンジニアと対等に実装が出来るよう、もっと学び、経験を積まなければならない!!

インターンでやり残したこと

様々な開発を経験しましたが、開発中におけるコミュニケーションがもっとできた思います。
社員さんに質問すればすぐわかることなのに、自分で考えることに固執することで、無駄なことも多かったです。

この背景として、はじめは社員の方とのコミュニケーションの仕方がわからなかったです。
issue上のgithubアカウントしかわからない、顔がわからない人に話しに行くことに、初めはためらってしまいました…。
口頭で会話をしないためにissueの解釈を間違えることもありました。

今思うと、issueに取り掛かる前に、内容について口頭での軽い説明があるだけでもコミュニケーションしやすくなったと思います。
自分が社員の方に実装のレビューをお願いする場合は、初めにレビュワーの方に軽く口頭で説明してからレビューをお願いするようにしていました。

issueをやっているうちに必然的にコミュニケーションするようになりましたが、コミュニケーションをとらなかった初めの時間は無駄だったと思います。

また、誰でも感じることだと思いますが、勉強です。
最近ITパスポートの参考書を読んでみましたが、Iパスの勉強だけでも、KARTEの開発においてなるほど〜となることがとても多くありました。

もっと開発上の背景で用いられている技術や、実装する方法の基本的な内容を勉強しながらインターンに参加すれば、エンジニアの方とのコミュニケーションに無駄が生ぜず、開発の効率が上がったと思います。
そうすればもっと様々なシステムに触れたかな。

仕事と同時に裏で基礎的な部分を勉強することで、のちの可能性が変わるということを、これからの仕事で活かしたいと思います。

来たる次のインターン生へ

自分にとって、求めることはすべて実現することのできる環境でした。
それを実現するかどうかは自分がどう行動するかどうかです。

インターン参加当初に自分がやりたいことは全て出来ましたが、もっと出来ることは山ほど残っています。
これはこれからのエンジニアとして仕事をする上での課題ですね。

自分は技術力の向上と将来の方針を決めることができたので、PLAIDでインターンに参加してよかったです。
企業が行うようなサマーインターンなどのインターンは会社を知るにはとても良い一方、仕事体験はあまりできないと思います。

自分は将来やりたいことはなんとなく決まっており、就活で受ける企業はある程度絞っていたため、会社の雰囲気はOBの方との交流で満足に知ることが出来ました。
以前自分が就職する予定の会社のインターン内容について聞いたことがありますが、とても面白そうでしたが、インターンの経験を将来に活かすという側面では、自分はPLAIDのインターンを選択して良かったなと感じました。

インターンをやるからには中途半端に参加するより、インターンに生活のウェイトをかけるべきだ思います。
自分の場合は、学校の授業後などで大体週2・3日出勤しました。
研究=インターン>趣味のバンド>(大学の授業)、としていましたが、それでもやり残したことは山ほどあります。

少しでも多くのことを経験するためにも、常にどういうことを学ぶかという目標を立てながらインターンに参加すると良いと思います!!

最後に

1年7ヶ月のPLAIDでの経験は、今の自分を形成していると思うし、これからの人生でより活かしていくつもりです。

今の自分は自動車のIT化に携わることで、次世代モビリティを開発し、世界の抱える問題を解決することに志向しています。
自動車が100年に一度の変革期であると言われている今、次世代モビリティの実現で自動車に新たな変化を起こすことがとても楽しみです。
個人的にはもっと運転の楽しさを共有できれば良いですが…。
今のようにこれからの道を描けるようになったのはPLAIDでインターンしたからです。

正直このブログを読んだだけではインターンのことはほとんどわかりません。
しかし少しでもPLAIDのインターンに興味を持っていただけると幸いです。

これだけ言えることは、PLAIDのインターンに参加することで、得られきれないほど学べることがあることは確実です。

言い訳して行動しない理由を探してないで、さっさと行動を!!

メンターの韓徹さん、尾澤、メンターの野田さんです。本当にお世話になりました!!