エキサイトに新卒入社するまでの6ヶ月間のインターンで学んだこと

はじめに

エキサイト株式会社 21年度新卒 山縣と申します。 新卒入社まで、これまで6ヶ月ほど長期インターンをしてきました。

これまでに、学んできたことや、感じてきたことなどをまとめていきます。

f:id:excite-kazuki:20210331182123p:plain
21卒のデザイナーが作成した素敵なロゴ

インターン前の技術力

インターンを始める前までは、大学での講義を除き、個人でプログラミングを学んでいました。 当時は、Qiitaの記事やはてなブックマークの記事を見たりしながら、動くものを作ったり、書籍を買ったりしていました。 下記にインターン前の技術力をまとめたとおり、特段強い技術力は持ち合わせていなかったです。

  • Java:学部の講義で1年程触った後、演習科目でAndroidアプリを作成
  • Python:3年程使用しており、少しだけ書ける
  • Go:趣味で少しだけ書いていた
  • JavaScript:Nuxt.jsでのみ使用
  • Nuxt.js:趣味でヘッドレスCMSを使用した技術ブログの作成
  • Git:基本的な使い方がわかる
  • チーム開発経験:なし (他社の短期インターンで雰囲気を掴んだ程度)

Javaの勉強

CMSの再開発をSpringBoot / Javaで行うことが決定された後、SpringBoot / Javaの勉強を始めることになりました。 社内では、これまでPHPで開発が行われてきたため、SpringBoot / Javaの知見が溜まっていませんでした。 そこで、自身の学習と並行して、SpringBoot / Javaの学んだことを社内ドキュメントにまとめていきました。 社内ドキュメントにまとめたものの一例を下記にまとめます。

  • Stream API
  • 関数型インタフェース
  • バリデーション
  • Spring AOP

Streamの簡単な使い方についてまとめたドキュメントの一部です。

f:id:excite-kazuki:20210331161247p:plain
社内ドキュメントの例

CMSの再開発

CMSは、フロントエンドをNuxt.js / TypeScriptで開発し、バックエンドをSpringBoot / Javaで開発していきます。 フロントエンドの開発とバックエンドの開発を行き来するため、JavaのコードをTypeScriptに書いてエラーが起きてしまい、「あれれ?」となったことも多かったです🤗

CMSの再開発では、与えられた仕様をもとにコードを書くのではなく、自分の頭を使ってコードを書くことがほとんどでした。 頑張って書いたコードが褒められた時は嬉しかったですし、よりよいコードの書き方を教えていただいた時は「こんな書き方が!」と感動することも多かったです。

また、1つのPRに対して、119件のやり取りが行われたこともあり、熱心にコードレビューをしていただいた社員の方々には感謝の気持でいっぱいです🙏

f:id:excite-kazuki:20210331163823p:plain
1つのPRに119件のコメント

既存のシステムの再構築

現在は、既存のPHPで書かれたBEAR.Saturdayのコードをもとに、SpringBoot / JavaAPIの再構築を進めています。 これまでに取り組んできたことと比較すると格段に難易度が上がっており、「仕様がわからない」「処理の内容がよくわからない」といったことが多く、とても大変だと感じています。 つらいことも多いですが、アンチパターンとして受け止めて、今後のソフトウェア開発に活かしていけたらと考えています。

さいごに

以上のように、インターンではJavaの勉強や、CMSの再開発、既存のシステムの再構築に取り組んで来ました。 6ヶ月間のインターンを通じて、実際にソフトウェア開発の現場で働くことで、チーム開発の取り組み方や、今後どのように働いていくのかのイメージを掴むことができました。 インターン生としての就業は終わり、明日4月1日からは新卒として、働いていくこととなります。

エキサイトでは、自社サービス開発に携わることができます。 エキサイトに興味をもってくださった方は、下記リンクよりお願いします!

www.wantedly.com