アウトライン
豊田工業高等専門学校専攻科1年の高と申します。8/21から9/7までの3週間にわたって、アットウェアのインターンシップに参加させて頂きました。報告という形で実習内容の紹介や感想などを述べたいと思います。
参加した理由
学校の先生からベンチャー企業について興味がないか、と聞かれ話を伺ったところアットウェアを紹介されました。豊田高専からアットウェアにインターンシップで参加した学生は今までいなかったため不安もありましたが、直接アットウェアの方から話を伺った先生からの後押しや、使ったことのない技術であるJavaフレームワーク(Spring Boot)を用いたWebアプリケーション開発をしてみたかったこと、高専でのチーム開発は2~4人程度と比較的小規模だったため、より大人数での開発に携われることなどから参加を希望しました。
実習内容-作成するアプリケーションについて
まず3週間で作成するアプリケーションの仕様決定を行いました。「タスク管理を行うアプリケーション」という大枠は与えられますが、そのアプリケーションに付加する機能や独自性はインターン生9人で話し合いながら決定していかなければなりません。1日かけてようやく仕様を決めることができました。(後々仕様が不十分だったことに気が付きますが)
実習内容―「かんばん」
仕様に沿って洗い出されたタスクは「かんばん」と呼ばれる手法によって管理します。各タスクをTodo(やること)/Doing(やっていること)/Done(やったこと)に分類し、タスクの進捗を可視化することができます。こうすることで、何を自分はやらなければならないのかということを認識することができます。自分のやっていることが分からないのか、という声が聞こえてきそうですが、開発を進めていると前やったところのバグを発見したり、あの機能も付けようこの機能も付けよう、ここはもっとこうやったら効率のいいプログラムになる、といった具合にどんどんタスクを自分の中で増やしてしまって、今は何を開発する工程なのかということが迷子になってしまうことがあります。そんな時にかんばんを見ることで、今はこの機能を作るタスクなんだからこれに集中しよう、と見つめなおすことができました。他にもプロジェクト全体の進捗管理がしやすくなったり、長い間Doingに留まっているタスク(行き詰まっている仲間)を見つけることができるなど、手間をかける以上のメリットがある管理手法だなと思いました。
実習内容―フレームワークを用いたプログラミング
Javaを用いたWebアプリケーション開発は授業内で経験していましたが、Spring Bootは経験がなかったために最初はわからないことだらけでした。1週目はユーザのログイン機構を作成することになりましたが、とりあえずテキストの真似をして書いたら動いた、という感じで進めていました。ですが開発を進めていくうちに、実装したい機能に対する必要な構成要素を理解できるようになり、だんだんとテキストを参照する機会が減っていきました。社員さんや仲間たちとの協力で、最初に決定した仕様を満たすアプリケーション(一部未実装、バグ多数有ですが)を作成することができ、満足感を得ることができました。
実習内容―1日の流れ
とある1日のスケジュールを記載しておきます。参加を考えている方にイメージを与えられればと思います。
8:00-起床
9:00-出社(通勤時間約40分)
10:00-昨日の実習内容のまとめ
10:30-朝会(朝礼的なもの)、開発業務開始
13:00-お昼休み(1時間)
14:00-開発業務再開
19:00-退社
24:00-就寝
大体このような感じで生活していました。これだけ見るとずっとパソコンと向き合ってがりがり開発をしているように見えますがもちろん適宜休憩を挟みつつやっています。時々ワークショップが開催されることもあります。(社長の牧野様によるIT業界についての説明会、アットウェアについて、プロコンなど)
感じたこと
何より「コミュニケーション」が大事だということを感じました。仕様を決定するにもタスクを洗い出すにもわからないことを社員さんや他の仲間に聞くにも、とにかく会話をすることが一番重要です。会話をすることで不十分な機能や仕様に気付いたり、自分1人では考え付くことのできなかったアイデアを、共有することで生み出すことができます。同じ分野を勉強する仲間たちや、面倒を見てくださる社員さんと交流しながらどっぷり3週間開発に打ち込むことができるのはとても贅沢な経験だったなと改めて振り返って感じました。仲間との共同生活や社内での歓迎会や打ち上げ、仕事後にみんなで外食など開発業務以外にも楽しい経験をたくさんすることができました。夏休みの3週間を注いで参加をしましたが、楽しい、かつ今後のためになる、素晴らしい3週間だったと思います。これからインターンで知り合った友達と、このインターン中に作成したアプリケーションのブラッシュアップをしていこうと企画しています。
参加を検討されているみなさんへ
プログラミングの能力に自信がなく参加に尻込みをしてしまっている方が多いと思います。ですが事前に丁寧にテキストを送っていただけますし、社員さんがしっかりとサポートしてくれます。さらにペアプログラミング形式で開発を進めていくので、わからないところを簡単に仲間同士で相談できる環境になっています。第一、プログラミングに自信がありますと胸を張って言える人はそうそういないと思いますので、自信がないという人ほど自分を成長させることのできる機会だと捉えて参加を考えてみてはいかがでしょうか。また自分は学会発表のために途中で抜けてしまいましたが、そういった所用があっても参加はできますので、諦めずに参加を検討してみてもいいと思います(もちろんそれ相応の負荷はかかりますが)
きれいなオフィスで、素敵な仲間や社員さんに囲まれて、新しい技術を駆使して、開発業務を体験できるアットウェアのインターンシップにぜひ皆さん参加してほしいと思います。
長文失礼しました。少しでも参考になれば幸いです。
重ね重ねになりますが牧野様はじめアットウェアの方々には大変お世話になりました。益々のご発展を心よりお祈りいたします。
失礼します。