img

こんな目標で臨みました

  • Web 開発わからんが多いので地固めしたい!
  • チーム開発の機会がないのでいろいろ試したい!
  • つよつよの人と交流したい!

こんな感じの流れでした

  • 1 週目:Go バック・React/TS フロント・AWS 講義,フィードバック
  • 2 週目:DB 設計・アイデア講義,チーム開発
  • 3 週目:チーム開発,プレゼン・フィードバック

レポート

えっ!未経験からでも行けるインターンがあるんですか!?

応募のことを思い出すため改めてメールを確認したところ,応募したのが 1 月で,決まったのが 4 月くらいでした.早期選考枠というやつです.

インターンは今回が人生初で,今までの業務経験というと,画像処理・機械学習寄りのバイトくらいで,業務での Web 開発の経験は全くありませんでした.にもかかわらず参加できたのは,大なり小なりいろいろ公開していたのが大きかったのかなと思います.拙いものでも公開するのは大事だなと思いました.

実際参加者を見ても,Web 経験はないけど競プロ強いです!,機械学習強いです!,ネタ iPhone アプリ作ってます!みたいな人も多かったので,そういうことかなと思います.

えっ!一人で Web サービス開発できるようになるんですか!?

インターンの前半は講義でした.どの講義も手を動かすのですが,チームに向けて課題を出す,壁にぶつからせる,それについて議論させる,といった内容が多かったです.

今回のインターンは全体的に議論の機会が多かったのですが,チームによって様々な意見が出るのは本当に楽しかったです.特に API 設計や DB 設計での議論はかなり学びになりました.「なんとなく」から「明確な理由をもって」,「自信をもって」実装できるようになったと思います.

また,ベースアプリを拡張していく形で講義が進んでいくので,良いコードにどっぷり浸かれたのもよかったです.命名規則や実装方針など,書く時に意識することやノウハウもかなり吸えたと思います.

それからメンターの方も親切にしてくれて,本質から外れたしょうもないエラーは一緒に考えてもらってパパっと解決したり,逆に理解不足なところは分かるように誘導してくださったり,本当に手厚かったです.

「一人で Web サービス開発できるようになる」と書きましたが,苦手なレイヤも基本を押さえたことで,自走できるようになったかなと思います.

えっ!チーム開発楽しすぎませんか!?

後半はチーム開発でした.テーマは決まっておらず,自分たちで時流を基にアイデアを出して開発します.基本4人1チームなんですがなぜかうちのチームは3人で,そのためチーム名は「人数不足の分はまあ有り余る才能でカバーしたいと思っております」チームとなりました.

3人ということで,バックエンドとフロントエンド一人ずつで,僕は両方にヘルプに行くというムーブで開発を進めていました.基本的に Discord で画面共有をしながらの開発でしたが,相談やここわからんを一緒に解決できたりしてよかったなーと思いました.

チーム開発における Github の運用方法はかなり勉強になりました.とにかくレビュワーに分かりやすいように細かく PR を投げるのが大事.あとは swagger で API 定義から始めて開発するの大事とか,CI/CD も導入したりしてみたりとか,学びがたくさんありました.

逆に反省点もたくさんありました.フロントとバックの接合が最終日になったりしてちょっとハラハラしました.他のチームもやってましたが,しっかりモックを作っておけばよかったなと思います.あとは設計の時に妥協しちゃった部分があったり,発表でアピールするためにどこを作り込むべきだったかとか,完成した後の追加機能のリリースのバグが取れなくて間に合わなかったり.悔しい!!

というわけで,ノウハウもたくさん溜まったので,次こそはうまくやるぞという気持ちでもう一回チーム開発がしたいです!

おわりに

いろいろ書きましたが,とにかく楽しかったです.インターン生やメンターの方との交流も,チーム開発のお祭り感も(時間が無いわちゃわちゃ感は文化祭を思い出しました),唯一無二の体験でした.

インターン生,サポーター,それからメンバーのたんたんとイジチ,本当にありがとうございました!

PS

こちらは支給品のデイリーナッツ

おすすめキーボードを教えてもらいました.ちなみに HHKB2 台を使った左右分割というのもあるらしい.