ハウテレビジョン開発者ブログ

『外資就活ドットコム』を日夜開発している技術陣がプログラミングネタ・業務改善ネタ・よしなしごとについて記していきます。

ハウテレビジョン サマーインターン2019

こんにちは。CTOの Go里 です。

2019年9月開催したハウテレビジョンのサマーインターンについて振り返りたいと思います。

f:id:bumcru0310:20200518100337j:plain
Goを使ったWebAPI実装についての講義

概要

今回のインターンは9月2日(月)〜17日(火)までの期間で開催。営業日換算で11日間のインターンに、総勢14名の学生が参加しました。

最初の3日間は個人課題パート、残りの8日間がチーム開発パートです。

個人課題パート

参加した学生のレベルはまちまちで、プログラミング初学者でWebアプリケーションの開発経験があまり無い人もいれば、Web系ベンチャーでインターン経験がありバリバリコードを書いてきた人もいました。

最低限の知識レベルを揃えるべく、参加者にはインターン参加前の約3週間を使い、HTML,CSS,Linux Command,Git,SQL,Go,JavaScript,React,PHPについて、基礎的な部分のみ学習してきてもらいました。(学習教材にはProgateを使わせていただきました)

その上で、インターン初日は自己紹介などのオリエンが終わり次第 講義を行います。

講義の内容は、「ブラウザ」や「URL」「DNS」といったWebの基礎的な理解に始まり、MySQLなどのRDBMS、MVCアーキテクチャ、RESTfulAPIの原則、Goを使ったWebAPIの実装、クリーンアーキテクチャ志向のレイヤードアーキテクチャ、Webフロントエンドの概略、チーム開発におけるgit運用ルールまで、外資就活ドットコムの開発に必要な技術や決め事の大枠を駆け足でインプットするものでした。

講義で使った資料はGithubのこちらのリポジトリで公開しています。

f:id:bumcru0310:20200518101601j:plain
React/ReduxによるWebフロントエンド開発についての講義

f:id:bumcru0310:20200518221046j:plain
外資就活ドットコムのレイヤードアーキテクチャの講義

その後、参加者はバックエンドかフロントエンドのどちらかを選択して個人課題に取り組みます。

課題の内容は「外資就活ドットコム日記」という架空の新機能の実装で、バックエンドコースでは「日記を投稿する」「日記一覧を取得する」などの一連のAPIの実装を、フロントエンドコースではそのAPIを利用してUIの構築を、3日間で行います。

既存の外資就活ドットコムのコードベースを拡張する形で開発を行うため、技術基盤の構築に時間を割かなくて良い反面、プロダクションコードの設計やコーディング作法の理解が必要になります。

f:id:bumcru0310:20200518101647j:plain
講義以外でもメンターが手厚く解説

参加者の生の声

座学パートについて、参加者の感想です。

・技術的には、一初心者としては絶望的な難易度だったが、個人課題に取り組む時間が用意されていたため、徐々に慣れることができた。

・自分自身初心者だったので初めは戸惑いましたが、日を追うごとに成長出来たのでちょうどいい課題になりました。

・フロントとバックで別れており、片方に集中できたのでよかった。ただ、フロント開発経験が全くなかったので難しくはあったと思う。

全体的に「難易度が高かった」という声が多かったですが、「成長を実感できた」という声も多く聞かれました。

チーム開発パート

4日目以降は参加者同士で2~3人のチームを組み、チーム開発に取り組みます。

お題は「外資就活ドットコムへの機能追加」で、「どんなものを作るか?」からチームごとに考えて実装までを行います。

評価するポイントは「ユーザーへの価値」と「技術的挑戦」の2軸で、優勝チームには賞金5万円が贈呈されます。

f:id:bumcru0310:20200519091038j:plain
肩を突き合わせてチーム開発する様子

f:id:bumcru0310:20200519091141j:plain

各チームが取り組んだ開発の内容の一部をご紹介します。

外資就活Wiki

外資就活ドットコムにはコラムやコミュニティ(ユーザー同士の掲示板機能)などがありますが、就活初心者のユーザーはそれらのコンテンツ内に登場する単語(MBB、BIG4、ガクチカ、ES…etc)の意味が分からないことが多くあります。

外資就活Wikiは、そうした外資就活特有の単語のWikiをユーザー同士で編集・公開する機能です。

この発想はハウテレビジョン社内には無かったもので、参加者自信が外資就活ユーザーであるがゆえに生まれた素晴らしいアイデアでした。

結果、外資就活Wikiの開発チームが優勝し、サマーインターン終了後に実際のリリースを目指すプロジェクトが発足し、今も鋭意開発中です。

興味のない募集情報を非表示にする機能

外資就活ドットコムで最も利用されている機能の1つに「募集をさがす」という機能があります。これは外資就活ドットコムが取り扱っている企業の求人情報の全てを一覧で見ることができる機能なのですが、あるチームは「募集一覧で興味のない募集を非表示にすると、今後表示されないようにする」という機能を実装しました。

「募集をさがす」に掲載している募集情報は企業がお金を払って掲載している商品という側面もあるため、これほど思い切った仕様は社内からなかなか出てこないものでしたが、「もっと効率よく就活したい!」というユーザーのニーズを上手く捉えた秀逸なアイデアでした。

特別講義「ソフトウェアエンジニアキャリア論」 by 伊藤直也

f:id:bumcru0310:20200519095001j:plain

インターン10日目の夜には、ハウテレビジョンの技術顧問・伊藤直也さんによる特別講義が行われました。

詳細は外資就活ドットコムのコラムとして近日公開予定ですが、ソフトウェアエンジニアという職業をとりまく業界の動向や、現代のエンジニアとして働く上での心構えについてお話し頂きました。

参加者の中にはエンジニアという職業をファーストキャリアに選ぶことに悩みを抱えている人もおり、

・エンジニアの将来性というのは本当に知りたかった部分で、そこのところを伊藤さんの意見を聞けたのは貴重な体験をしたと思いました

・web業界で長年エンジニアを経験した方の話をきく貴重な機会であり、内容も充実していた

・なんどもなるほどなと思わせられる話の内容であった

…と、学びの多いセッションとなりました。

全体を振り返って

初のサマーインターン開催ということで運営側の反省点は多くありましたが、多くの参加者が成長を実感することが出来たと思います。 以下に、全体を通した参加者の声を紹介します。

・就活用語wikiを初め提案する時、思いつきのようなものだったので少し提案するにも抵抗があったのですが、メンターのTさんがすぐに「めちゃめちゃいい」と言ってくださって、どんな提案でも真剣に向き合って改善のための話し合いを積める雰囲気は、僕はとても好きでした。実際、当初想定していたよりも色々な機能が追加されていって、実装できなかった部分が大半ですが、前向きな姿勢が産んだ可能性だと思います。

・社員の方がとても懇切丁寧に指導していただき、非常に開発がスムーズであった。

・このインターンをやる前と後では明らかに自身の成長を感じます。このような機会を設けてくださりありがとうございました。

・技術レベルが非常に高く、実際に業務で使われている言語やフレームワークでの開発が体験できたため。<中略>また給与や交通費など金銭面的に学生が負担となることがないのもおすすめできる。

今年も開催します!

ハウテレビジョンでは2020年夏にも、サマーインターンプログラムを開催予定です!

gaishishukatsu.com

昨年を上回る充実した内容になるよう鋭意企画中ですので、Webエンジニアとしての成長を求める方の参加をお待ちしております!