始めに

東京高専情報工学科の赤間です。

今回は7/31 - 8/4の間アットウェアのインターンに参加させて頂いたので、その間の内容を記します。

今回のインターンに参加する動機

大きく分けて2つありました。

  • 学校外で自分の技術を使って何かしたかった
  • 仕事と部活での開発の違いを知りたかった

概要

メンバーは4人

  • 大学院1年生
  • 学部4年生
  • 高専2年生←自分
  • 工業高校2年生

開発したものと技術

開発したもの

  • 誰でも簡単に立ち上げが可能な競技プログラミングの問題・採点サーバ
  • 名前は'Instant Coder'!

使った技術

  • Java(Spring)でWEBサーバの処理を実装
  • HTML, CSS, JavaScript(jQuery, Ajax)でフロントエンドを実装
  • Scalaで提出されたコードの実行・採点をするサーバを実装
  • Docker, Docker Composeを使ったサーバ立ち上げ

内容

7/31(前準備)

やったこと

  • アイスブレイク
    • ドミノをした
  • タスクの切り分け
  • 見積もり
    • プランニングポーカを使った見積もり

一日目は以上のような、開発の下準備をしました。

特にプランニングポーカは、インターン後に学校等で開発をするときによく使っています。

8/1 - 8/3(開発)

やったこと

僕はJavaとSpringでWEBサーバを担当しました。

主には以下の作業をしました。

  • 問題一覧、問題表示ページの作成
  • 解答ページの作成
  • 解答の受取
  • 認可・認証

8/4(発表)

最後に発表をしたのですが、直前までコードを書いて最後の最後に、 最低限競技プログラミングサーバとして動くものができました。

最後に

感想

以下のようなものを今回のインターンから得られました。

情報系に関する話や情報共有のできるメンバーや、アットウェアの方々とのつながり

インターンで知り合ったメンバーやアットウェアの方々とは現在も、SNS等で繋がっています。

技術の向上

今回書いたJava Springの技術や他の情報系の知識を、作業や周りの方々との会話等から得られました。

またそれらの知識からまた新しくやりたいこと・学びたい技術を見つけることができました。 具体例を以下に上げます。

  • SQL周りの勉強
    • メンバーの方でDB周りで詳しい方がいて、その方の話を聞いてSQL周りに興味がわきました
  • Rust
    • Rustをやろうかなと思いながらもずっととどまっていたのですが、Rustをやっているアットウェアの方の話に感化されてRustを始めました

仕事と部活での開発の違いへの理解

仕事と部活での開発の違いを動機として上げていましたが、例えば作業を終わらせることに充填を置いて、自分で作るということに重みを置く学校とは大きく違うことに気づけました。

まとめ

今回のインターンで貴重な知識・技術・経験等を得ることができ、非常に楽しく有意義な5日間となりました。

企画して頂いたアットウェアの方々や、メンバーの皆さんありがとうございます!

今後ここで得た知識・技術・経験等を様々な場所で活かしていきたいと思います。