Chatworkのサマーインターン2020に参加してきました

はじめに

初めまして。うどん県で院生をしているものです。

8月中旬から9月上旬にかけて、Chatwork株式会社さんにて実施された「オンラインサマーインターンシップ2020」に参加してきました。今回はその参加報告になります。ちなみに、2,3ヶ月ほど放置してました。ごめんなさい....

インターン開始前

応募まで

気を取り直して。今回のインターンシップではフロントエンド、長期に参加できるものを探していました。
LabBaseという就活サイトを通じてスカウトをいただき、気になったので応募してみました。

選考

コーディング試験とかはなく、エンジニア2名、人事1名の3対1 のオンラインで行いました。
まずエンジニアの方からこれまでの開発経験、関心のある言語、フレームワーク、などを聞かれたような気がします。テストを書いたことがあるか等の質問に関しては、正直に「ない」と答えました。(テスト大事です。テストはちゃんと書きましょう)
人事の方からは一般的な質問がされたと思います。(あんまり覚えてないです...)
面接数時間後にはメールが来たような気がします。

開始前事前準備

事前予習として、「りあクト! TypeScript で始めるつらくない React 開発」を提供していただいたので、これを一通り読みました。普段何気なく使っているものを、面白く説明してくれているので比較的読みやすかったです。
後、16インチのMacも支給してもらい、すげーーっとなっておりました。
インターン生は計10名選抜され、北は東京から、南は徳島まで、様々な地域から参加していました。
よくお昼休みにremoに集まって雑談をしたりしてました。

インターン開始

講義パート(1週目)

インターンでは常にGoogle meetを用いて、常に会話ができる環境を整えて行いました。
1週目の講義パートでは、社員さんが作成したスライドをもとに、ソフトウェア開発や要件定義、DDD、型システムなどを学び、とても濃厚な時間を過ごすことができました。 障害発生時にニュースに乗っちゃう話とか、「型を決めれば実装も決まる」、ドメイン駆動設計の話は特に印象深かったです。(型がないと辛いのは確かに感じました)

業務パート(2, 3週目)

2週目からは業務パートに移行し、10名のインターン生を2チームに分割して進行しました。
私のチームでは、バックエンド3名、フロントエンド 2名構成で進めていきました。
主な課題は、実装済みの提示版のようなアプリに、お気に入り機能を設計・実装することでした。 5人でスクラムを組み、1スプリント1週間の2スプリント体制で行い、タスク管理にGitHubのカンバンを利用しました。

基本的に実装する際には、バックエンドとフロントエンド に分かれて行い、設計や機能など共通の認識を持つ必要があるたびに集まって話し合うようなことを行っていました。2週間も集まって話し合いをしていると、それぞれの立ち位置が具体的になるので面白かったですね(ガンガン意見する人、意見をまとめる人、考えてから意見する人....)

フロント側は、基本的にはモブプロを行い、実装を分割できる内容に関してはそれぞれ実装していくみたいな、ハイブリッド形式で行っていきました。

とにかく、初めてな経験ばかりでした。
普段の趣味の個人開発では、設計が雑でもなんとかなったりして、あまり気にしていませんでした。 チーム開発だと、設計の認識のズレが実装のズレにつながるため、きっちり設計を行うことの大変さと大切さを学びました。
特に、フロントの設計は追加実装がしやすいように設計されており、普段の開発からこのような設計ができるようになりたいと思いました。
設計を行っていく際に、エンティティやドメイン、関係性など、いろいろ決めていくんですが、ドメインモデル を定義しようとしているのにDBのモデルとごっちゃんになったりしたので、ごめんなさいになりました。具体的な実装もそうですが、こういう部分が一番経験の差が出てくるのかなーとかも思いました。

そしてチーム開発のいいところ、フロントエンド のコードを実装するだけで動くところまで行けたのは感動しました。(普段はバックエンド書きながらフロント書くので、いざ走らせるときはドキドキしました)

結局最後はなんとか動くところまで無理やり持っていきました笑 yu_shu_no_biブランチをデプロイしていい締めくくりを迎えることができました!

会社の印象

Chatworkさんはミッションとして、「働くをもっと楽しく、創造的に」というものをあげています。 corp.chatwork.com

これを実現するために、まず自社から体現して行こうという人が集まっているという印象を受けました。 社員の方々も尊敬できる方、尚且つ面白い方ばかりでした。(今日の迷場面を作成する人とか....)
また、インターン中もそうでしたが、投げたチャットに対して、必ず誰かがレスポンスをしてくれるので、そういう文化があるのはすごくいいなと思いました。

さいごに

非常に有意義な3週間を過ごすことができました。 きっかけはフロントの知識や業務体験をしたいなーぐらいのものでしたが、想像していたよりももっと得るものが多かったです。
特にチーム開発をするときには、タスクの割り出しや完了の定義などを明白にすることが重要だと意識しました。(すごく重要!個人開発でも意識しよう!)  ドメイン設計等、DDDはまだまだわからないところだらけではありますが、やりながらいろいろ学んで行こうかなと思います。 

さいごに。 楽しく、知識をインプット・アウトプット、業務の経験を積める機会というのは本当に貴重だと思います。さらに、お給料までいただけます。
気になる人はぜひ、次回のインターンに応募してみて欲しいと思いました!(参加したい)

おまけ

最終日に、それぞれの地域の名産物を紹介する機会があったのですが、皆さんネタ物から飲みたい(食べたい)ものまで、様々で面白かったです。
香川はうどんだけじゃないことも紹介できたので満足です。(Not 香川出身)
紹介したもの→ 骨付き鳥

インターン生の記事

他のインターン生の方が詳細に記載されているので、ぜひそちらも参考にどうぞ

masamichhhi.hatenablog.com