突破率15%!?話題のFiNCのエンジニアインターンを徹底大解剖!

NaotoOta
FiNC Tech Blog
Published in
10 min readJun 29, 2017

技術開発本部のNaoto Otaです。
元々インターンとして働いていたのですが、晴れて2017年度新卒として4月にFiNCに入社させていただきました。

FiNCのエンジニアインターンは初心者大歓迎ということもあって(僕もはじめた時は初心者でした)、Wantedlyの募集で1位をとったり、記事に取り上げられたりと、エンジニアのインターン界隈では話題になりつつあると勝手に思っています。
(現に周りの友人でもインターンしたいという声を多く聞くようになりました)

なので今日はFiNCのインターンは実際になにをやるのかを紹介します。

偶然居合わせたインターンでのご飯

応募〜採用

Wantedly から応募すると、まず最初に書類審査があります。
次に一次面接ですが、FiNCのインターンの一次面接では現役のインターンが面接を担当します。
これはせっかくインターンしているのだから、普通のバイトや受託ではなかなか得ることの出来ない機会を与えたいというCTOの方針によるものです。
候補者も面接官がインターンであることに驚くこともありますが、そこが逆に関心を高めるポイントになることもあります。
※もちろんインターンが面接を担当するには社員との模擬面接で基準をクリアする必要があります。また、インターンの面接のみだけで合否が決まることはなく、最終的には社員による面接を必ず通ります。

研修(序盤)

無事面接を突破すると次は研修です。この段階ではインターン生は研修生と呼ばれ、まだ実務に参加することはありません。
研修生の開発経験により多少の差はありますが、基本的に全員研修を通過する必要があります。
具体的な研修内容は記事に取り上げられているので下記を参考にしてください。(古い記事で、各研修項目の中身はアップデートされていますが、大枠の項目は大きくはここから変わっていません。)

研修中はメンターがつくのですが、このメンターも(研修を終えて実務に参加している)先輩インターン生が担当します。これの目的は「メンターのスキルアップになる(教えることが一番の学習になる)」です。
もちろん社員もスーパーメンターとしてインターン一人一人につき、メンターの答えられない質問に答えたり、メンターの説明に対して補足したりします。

FiNCでは全社のコミュニケーションツールとしてSlackを使用していますが、研修生には研修生用のSlackがあります。全社のSlackに招待するかどうか賛否両論あったのですが、わけた理由は主に以下です。
過去の経験から、研修生全般の課題として、積極的に質問してこない、メンターに聞けばすぐに解決するものを長時間自分で考え込んでしまう、というのがありました。もちろんメンターが積極的に詰まってるところが無いか聞くという解決策もありますが、質問しやすい環境作りが大事だろうという話になりました。
全社Slackには300人ほどのメンバーがいるので、研修生がいきなりそこに招待されても面食らってなかなか発言しにくいのではないかという懸念が起こり、Slackを分けることとなりました。
FiNCのエンジニアの中では「分報」が主流で、研修生に対してもメンターが初回出社時に「times_◯◯」という分報Channelを作成してあげるフローになっています。
これはかなり効果が出ていて、積極的にtimesで質問等を投げかける文化がインターン生に根づいて、結果実務に入ってからも、社員がインターンの進捗管理や質問への回答をしやすくなりました。

研修(中盤)

上の記事を見ていただくとわかりやすいですが、FiNCのエンジニア研修では共通研修(PHP)とRails研修、最終研修のステップがあります。共通研修、Rails研修を通じてエンジニアリングがどのようなものなのかを研修生に知ってもらい、どういった方面(サーバー、クライアント、SRE等)に進みたいかを考えてもらいます。
その後本人の希望と各プロジェクトの人員バランスを元に仮配属という形で、プロジェクトにジョインしつつ最終研修に進みます。
ここでも、ユニークな施策を行っているので紹介します。

1. レインボーランチ
FiNCではマイクロサービスでの開発を行っているため、それに合わせてエンジニアも細かくチームに別れています。ただ研修をこなしているだけだと、基本的にメンターやスーパーメンターとしかコミュニケーションを取らないので、他のプロジェクトのことを知る手段がありません。そこで、レインボーランチという仕組みを取り入れています。研修中に各チームとランチにいって実際にどういった業務を行っているのかを聞く、というものです。管理表があってスタンプラリーのような形で埋めていくのですが、そこの各プロジェクトの欄の色合いが虹色のように見えたことからこのネーミングになりました。
2. 中間レビュー
研修の節目毎に研修生とメンター・スーパーメンターとの相互レビューがあります。これにより研修生だけでなくメンター・スーパーメンターもPDCAを回せる&数値として評価が出るので緊張感を高く維持させる仕組みとなっています。

研修(終盤)

最終研修はFiNC全体として定義しているベースの機能要件を元に各プロジェクトが必要に応じてカスタマイズしたものを研修生に1から作ってもらうというものです。最終研修は研修生が自分でリポジトリを作ってmasterにPRを出すという実務と同じフローで行うのですが、社員のLGTMが必須となっています。上で書いたように仮配属という形でプロジェクトに配属されているので、それぞれのプロジェクトの開発フローに則ってPR、レビュー、マージが行われます。
一通りの要求機能の開発が終わると、プロジェクトメンバーに限らず、時間のある社員を集めての発表会が開かれます。そこでは研修生が資料を用意し、自分の開発したサービスのデモを行い、アピールポイントを述べ、それに対して社員が質問、コメント、フィードバックするというものです。この時、社員は成果物が実際にリリースされる製品であるとしてレビューします。もちろんコードレベルでのレビューもそうですし、サービス設計自体にもフィードバックしたりします。
ここで研修生はプレゼンのハウツーであったり、研修中にはなかなか見えにくい、ユーザーファーストの視点などを学びます。
最終研修発表を終え、もし修正点がなければ次はCTOとの面談となります。
この時点では仮配属なのでその配属先でいいかどうかをCTOが研修生・プロジェクト側共に確認し、双方OKなら配属が確定する、というフローです。
仮配属の制度は配属後のミスマッチを防ぐために導入されました。

余談ですが、レインボーランチや仮配属などのインターン関連の制度はほとんどインターン生の発案のもと、企画を練って社員・CTOにプレゼンして承認されたものたちです。先輩インターンが自身の経験を元にこういったのがあればいい、というのを話し合い、それを実際に実現させることができる、そういった点でもFiNCのインターンはやりがいがあると思います。インターン生によるインターン生のためのインターンハッカソンも開催されたりもしました。

実務ジョイン

研修を突破して晴れて真のインターン生となります。インターン生には配属先の社員がメンターとしてつきます。研修ではアプリケーションを最初から作ることしかしないので、最初はそのプロジェクトのコードに慣れてもらうために微修正から始まって、徐々に大きなタスクを任されるようになっていきます。
最終的にどのくらい大きなものを任されるかというと、例えばFiNCの主力コンテンツであるTRYのウェブメディアはインターン生がほぼ一人で作りました。

実務に入ってからは開発以外のことに携わることも増えてきます。上でも述べたように後輩インターン生の採用や、研修の制度の改善に携わることもありますし、Tech Talk(社内のLT大会、詳しくはこちら)の運営も最近ではインターン生主体でやっています。
また、僕の例ではありますが、長期休暇を利用して期間限定で法人営業部門でインターンしたりと、エンジニアの枠にとらわれない活躍の場を見いだせるのも魅力の一つです。

最後に

FiNCではまだまだインターン生を募集しています。
経験・未経験、文系・理系問わず、プログラミングをやってみたい人、優秀な仲間と切磋琢磨できる環境を求めてる人、ヘルスケアに興味のある人、誰でも大歓迎です。
是非どしどしご応募ください〜。(最後の画像がリンクになっています)
またビジネスインターンについては以下の記事に書いてあるので気になる方は読んでみてください。

--

--