2019サマーインターンシップ@アジャイル開発チーム

こんにちは。アジャイル開発チームのリアルマカーです。
(ちなみに、なぜか実名出せないルールらしいです。不思議ですね)

今回は、8月19日から23日の間にアジャイル開発チームで実施したインターンシップについてお伝えしたいと思います。

この写真は初日に決めてもらったチーム名とアイコンです。

想定読者

・ヤングなエンジニアの採用を考えている人
・インターンシップ先を探している情報系学科の(あるいは技術に興味のある)学生の人
・最近の日韓関係のニュースを見てハラハラしているそこのあなた

インターンシップの概要

今回のインターンシップですが、実は日本の大学生が行っているものとはちょっと毛色が異なるため、まずそこから説明させてください。

参加者
今回の参加者は全員韓国の学生で、うち2名が専門大学、もう2名は4年制の大学という構成でした。
専門大学というと日本の人には聞き慣れないと思いますが(自分も今回知りました)、2,3年制で職業教育がメインな教育機関らしいです。日本で言う専門学校に近いみたいですね。

実施の経緯
日本でのインターンシップというとエントリー前に行われるのが一般的だと思いますが、
今回の4名はすべて、FFG にエントリーした状態(2020年春入社予定)で行われました。
つまり、インターンシップと銘打っていますが、実のところ選考のプロセスの一つだったりします。

準備

インターン生が来る直前の2,3日くらいでバタバタと準備しました。

テーマ決め
プログラムを作れる学生がアジャイル開発チームに来てくれるので、何かしら作ってもらうのが良いよねという話から入り、以下の要件を満たすようなプロダクト開発を考えました。

・技術力が測れるもの
・限られた期間で最低限達成可能なもの
・インターンシップが終わったあとも、使われるもの(ただし外に出すのは色々面倒そうなので、社内利用に限る)

1点目は選考に利用するので必須ですが、2,3点目は完全に出題側のエゴでした。
でもやっぱり、やるからにはチーム開発で達成感も味わって良い思い出にしてほしいですもんね。

というわけで、かねてから社内の一部より要望をもらっていたシャッフルランチを作ってもらうことにしました。

技術選定など
インターン生に技術選定からやってもらうには無理がある日程だったので、実現性の確認や技術選定などはアジャイル開発チームのエンジニアで行いました。

簡単にまとめると

・LINE 公式アカウントの Messaging API
・Spring Boot + line-bot-sdk-java
・nginx + Let's encrypt

を利用した、LINE の BOT アプリケーションです。

Messaging API を利用する上でちゃんとした SSL 証明書が必須だったので Let's encrypt を利用しましたが、このあたりの準備は受け入れ側で行いました。
BOT 側の実装にフォーカスしてもらいたかったのと、ハマってしまった場合に時間を浪費してしまう懸念があったためです。

また、Spring Boot のアプリは、インターン生が git repository に push したら開発環境にある OpenShift クラスタに自動でデプロイされるようにしました。
こんな仕組みが簡単に作れて便利ですね OpenShift (ステマ)。

仕様
ホワイトボードに雑なシーケンス図を書いて渡しました。
今改めて見ると、よくインターン生がこれを読めたなと……。

インターンシップ当日

慣れないフレームワーク等に四苦八苦しながらも、以下の機能を実装して完成にこぎつけてくれました。

・毎朝、BOT の友だち全員にその日の参加意思を問うメッセージ(ボタンテンプレート)を送信(ブロードキャスト)
・参加意思を表明した人を、参加希望者テーブルに記録
・お昼前のタイミングでその日の参加者をシャッフルし、テーブル分けを決定
・食堂のテーブルの座席数と全体の参加者数を考慮して、いい感じに均等に割り振られるアルゴリズムを考えてくれました
・テーブルごとの参加者が確定したら、テーブル毎に一緒にランチを食べる人を通知(マルチキャスト)

最終日には報告会で発表してもらいつつ、その日のランチの席順をこの BOT で決めたんですが
全参加者20人を 6+6+6+2 ではなく、5人ずつを4テーブルにちゃんと割り当ててくれてホッとしました。

感想

今回のインターンシップを通して、受け入れ側の視点での発見や思ったことなどをつらつらと。

コミュニケーションについて
多少個人差はありますが、日常会話についてはみんな日本語で話そうと努力してくれました。
わからない単語もスマホのアプリで日本語を調べながら話してくれたので、コミュニケーションは難なく行うことができました。

といいたいところですが、やはり技術的な質問となると翻訳で抜け落ちる情報が多いようで、アジャイルチームの韓国から来たメンバーにだいぶ助けてもらいました。
とはいえ彼らも一年前は同じくらいだったことを考えると、もし入社することになったら来年春にはだいぶ上達した状態で来てくれるんじゃないかなぁと思っています。

韓国の就活事情
韓国の大学での就職内定率がだいぶ低いらしいです。
というのもあって、今回のインターンシップに来てくれた学生はそもそも日本での就職を強く意識していて、あらかじめ日本語教育を受けてくるなどしているようです。

文化について
外国の人は気が強いという印象をお持ちの方もいらっしゃるかもしれませんが、4人とも本当に礼儀正しい若者でした。
日本の食べ物も口に合ったようで、社員食堂のうどんや懇親会で行った水炊きを美味しそうに食べてました。

また、日本語を学ぶのに米津玄師の歌を使っていたなど、日本の文化への興味もあるようでした。そもそも日本で働くことをある程度前提として準備してきているわけですしね。

技術力について
今回、残念ながら Spring Boot とは初遭遇だったようですが、話を聞くと学校で React や Vue.js については触った経験があるとのことでした。
こういったモダンなフレームワークまで経験させるというのは、日本の専門学校や大学ではあまり見ないのではないでしょうか。

確かにエンジニアとして一人前として扱うことはまだ難しいですが、すでにプログラミング言語がちゃんと身についた状態で入社できるというのは雇い入れる側としては安心感が高いなと思います。
完全な初心者からのスタートだと、たまに適正が足りないのか、躓いちゃう人も見ますからね。

今回のインターンシップでも、1日目は多少戸惑ったようですが、日を追うごとに質問される回数が減っていき、ちゃんと自己解決できる力が身についているんだなというのが伝わりました。

まとめ

こんな感じで今年もインターンシップを実施しました。

福岡でのエンジニア採用が難しいという声も聞こえてきていますが、おとなり韓国から新卒の学生に来てもらうというのも選択肢の一つとしてアリなんじゃないでしょうか。

今後もインターンシップを続けていきたいと思っていますので、ご興味のある方はお声がけください。
今回は1週間でしたが、できればもう少し長いと、やりがいのあるテーマやワークショップもできていいですね。