とらきす の ぐだログ

とらきすのぐだログ

ぐだぐだとなんかするブログ。

Chatworkのサマーインターン2019に参加しましたレポ

どうも、とらきすです。
このブログではお久しぶりですね。

ロシア語記事の続きは、色々と忙しいのでしばらくは書けません。就活がひと段落して落ち着いてきたらのんびりと再開させたいと思います。


さて、この記事は、Chatwork株式会社様のScalaサマーインターンシップ2019に参加させて頂いたときのレポートのような何かです。

もっともっと長くてグダい超真面目な記事も書いていたのですが、読んでいて疲れるのでボツにしました。
時系列に沿った詳細なレポートはほかのインターン生の方々が書いてくれるだろうと信じて…

こちら、Chatwork Creator's Note社員さんのセッション資料で大まかには把握できるかと思います。読もう。


目次


それまで

とは言いましても、インターンシップへ参加させて頂けるようになった経緯などは最低限書いていきます。私自身が少し「トガった」経歴を持っているので、これは似た境遇を持つ方へ向けての記事でもあるのです。

簡潔にまとめますと、私はとある高専の電気情報工学科へ入学し、2年生を2回繰り返し、退学して情報系専門学校の2年課程の学科へ入学しました。今はその専門学校の1年生です。

もし詳細が知りたいという物好きな方は私のnoteを読んで頂けると。

さて、私はWebエンジニア、それもバックエンドエンジニア志望でした。C#Scalaなど、バックエンドの静的型付け言語を好んで使っていたためです。しかし、専門学校はどちらかと言えばSIer向けの授業が多く、それに頼りきりになる訳にはいきません。
学校側が出してくるインターンにもWeb系企業なんてありませんので、自分で探す必要がありました。

そこで、私は以下の条件に合致するインターンを探しました。

  1. バックエンド
  2. 静的型付け言語
    • 動的型付け言語があまり好きじゃない
  3. 2週間以上
    • 1Dayとか正直意味ないと思っている
  4. 東京か大阪近辺
    • そりゃIT系なんだから都会の方が良い
    • 名古屋は田舎
  5. 設計から開発までのフローを一通り経験できる
    • 一番重要。私は設計周りの経験が全くの皆無だったので勉強しておきたかった

すると、Wantedlyで見知った8文字を発見。それがChatworkさんでした。
専門学校で教師と学生間の連絡ツールとしてChatworkが使用されていたので、存在は以前から知っていました。
ほかにもScalaを使用している企業はいくつか見つけましたが、その多くがアドテクであったりPlay Frameworkを採用しているなかで、Akkaを中心とした独自のシステムを運用しているというChatworkにはひときわ惹かれ、 これは運命だと言わんばかりに申し込みました。

色々とそれまでの経歴やなけなしの実績を入力し、書類選考は通過、そしてビデオ面接に。面接には、人事の方だけでなくエンジニアの方も同席していました。
なお、私の家にはWebカメラがなかったので、iPhoneで面接を受けました。

けっこう緊張していたので内容までははっきりと覚えていないのですが、わりと色々とカジュアルに話させて頂きました。
やはりエンジニアの方がいるのといないのとでは全然違うなと。ほかの某有名ベンチャー企業インターンにも申し込んだのですが、そちらは人事の方しかいらっしゃらず、なんだか事務的な面接だなーと率直に感じました(なお落選したもよう)。エンジニアの方には技術系の話のウケが良いので、色々とアピールしやすいです。
特に私の場合、ESに書けるような実績がほぼ皆無であるどころか、学歴だけ見たらただのやべーやつですので。面接が鍵になるんですよね。

で、Chatworkさんから合格の通知を頂いたときには、とんでもなく驚きました。まさか私が? と思いましたもん。
聞いたところによると、やはり自分の言葉で話すことのできるスキルが必要だそう。その方面に全く興味がない、あるいは事前に話す内容をキッチリ決めてきちゃっていると、ボロが出てくるらしいんです。
私は… あまり何を話すか事前に考えてなかったのですが、話しやすい方だったので自然と色々話題を出すことができたと思います。


いざインターン

蒲郡で2週間の自動車学校合宿を終え、その3日後には大阪まで飛んで3週間のインターンが始まりました。夏休みはこれだけでほとんど埋まってしまっていて、実際の休日は5日くらいでしたね。
とは言え、インターン就業中は土日休みで大阪を観光できるようになっていたので(したとは言ってない)、とても充実した夏休みになりました。ホテル暮らしが快適すぎた…

ほかのインターン生6名は、全員成人済みの大学生ないし大学院生の方で、バリバリの情報系学生が来るのかと思いきや、意外とそうでもなく、かなりバラエティに富んだ人選でした。
私だけ専門学校生の18歳で、最初はだいぶ緊張していたのですが、皆さんとても良い人で、すごく仲良くしてもらっていました。
3週間とは言え開発の紆余曲折を共に乗り切った訳ですから、インターンが終わってすっげー寂しいです。また7人で集まりたいですね。


カルチャーショック

まずオフィスに入って衝撃

やっぱり会社っていうと、みんなカチッとしたスーツを着て、デスクが島みたいに並んでて、四六時中プルプル電話鳴ってる、みたいな…
いかにもって感じですが、私の中では大まかにそんなイメージが強かったんですね。

それがどうよ。

木目調の床やテーブル、全て窓側を向いていて1つ1つ仕切られたデスク、3つの“Work”、“Fun”、“Creative”と銘打たれた会議室、ところどころに置いてあるLEGO… そして何より、中央に鎮座するバーカウンター(本物の酒も置いてあって雰囲気あります)。

んん? ここはオフィスか? と思いますよそりゃ。

しかし当然というか、居心地がとても良い。
Chatworkの「働くをもっと楽しく、創造的に」というスローガンを体現したかのようなオフィスです(気づきましたか? 3つの会議室の名前はここから取られているんです)。
そういった働き方をするためのツールを作っていく会社なのですから、まずは自分たちの働き方を変えていこうと、そういうことらしいです。


濃密な講義

はじめの1週間は講義パート。とにかく色々と詰め込まれた講義を受け続けていました。

クリーンアーキテクチャドメイン駆動設計などの講義では、その分野では有名なかとじゅん(@j5ik2o)さんに講義して頂きました。あの短時間でものすごくたくさんの情報が脳に流れ込んできて少しビビりましたが、とてもわかりやすい解説でした。こちらがお金を払いたいレベルで勉強になりますよコレ。体感的には、1講義でカンファ5つ分くらいの濃度。

ほかにもチーム開発やインフラ周りのことなどを包括的に教えて頂きました。この1週間だけでもものすごく勉強になりました。

紆余曲折あった開発

講義も終わり、いよいよ2週間の開発パートへ。
7人でスクラムを組み、1週間ずつの2スプリント体制で行いました。内容は、クリーンアーキテクチャドメイン駆動設計に基づいで設計された社内プロダクトへの機能追加です。大まかに言えば、RPCスタイルのWebアプリケーション。
今回は、GitHub Projectを活用したカンバン式チーム開発を意識して進めていきました。

基本的にはモブプログラミング形式を採用。集合知と言いますか、足りない部分を全員で補完し合えるのでとても良かったと思います。
途中からはブランチを更に切って、2チーム体制で開発してました。

とにかく「初めて」だらけでしたね。普段 趣味で開発するぶんには設計とかやらずにぶっつけ本番で作ることが多かったですし、テストをしたこともありませんでした。

学んだことは、とにかく設計にかかる時間の多さ。実装やテストよりも、設計やテストケース作成の時間のかかること。
なにせチーム開発ってのが経験ありませんので… 例えば日本語の文法をどう統一するか、みたいな少し本質とはズレた部分で長々と議論したりしてました。ほかにも、既に実装に取り掛かってるのに(これ、まずいのでは…?)となるケース。社員さんにたくさん頂いた指摘を時間の都合で全部蹴ったり…
恐らく、実装そのものよりも、こういう部分が一番経験の差として現れてくる部分なんだと思います。

結局、スプリントゴールは完全には達成できず!
一応、最低限とよべる部分まではデプロイし終えたのですが。そこは少し心残りでしたね。

もし次のサマーインターンがあれば、どうなるのかすごく気になります… ふふふ…


大阪良いなー

と、わりと本気で思いました。

まず、飯がうまい(ここ大事)。
福島駅の近くまで歩いていけば、安くて美味しいご飯屋さん・呑み屋さんがたくさんあります。これは飽きないですね、どこに入ってもおよそハズレというものがない。
昼と夜は、ほぼ毎日インターン生の皆でご飯食べに行ってました。高専辞めたあとは体重がだいぶ減ってきていたのですが、このインターンで元に戻りましたね。太るぜこれは。
それに、大阪駅から伸びた地下通路がオフィスのすぐ近くまで続いていて、雨の日でも濡れずにご飯にありつけます。最高。

それに、人混みが苦手な人にも良いです。
都会っぽさを感じたいのであれば(私のような田舎者はすごく都会に憧れるのです)、大阪駅の周りに行けば昼も夜もなくめちゃくちゃ人が多くて賑やかです。
しかしそこから10分ほど歩けば、一気に静かな街並みに。ほど良い感じ。

インターンの少し後に、BIT VALLEY 2019やScala秋祭りに参加するために4日間ほど東京に行ってきたのですが、やはり大阪よりも人は多いと感じました。
ただ、私にとってはこれもあまり嫌な感じではなく、慣れれば大丈夫かなと。空気の汚さとか、私 鈍感なので全然気にならなかったです。
ただ、駅の複雑さには閉口しました。新宿駅でずっと迷ってました。そこは大阪駅の方が良かった。あそこも地下街ジャングルだけど。

追記: 食べたご飯たち

ups.hatenablog.jp

↑しゅういちさんのレポでご飯の画像載っけてるのいいなー と思ったので私も載せます。適当にチョイス。


プルコギ定食。



ステーキランチ。1000円でコレ。


からあげ定食。


チキン南蛮。


まるげりーた。


肉そばと焼豚丼


チーズトマトラーメン。


チキンカツライス(だったかな)。


チーズ豚平焼き。



高級イタリアン。

ね、全部美味しそうでしょ? 住みたいよねここ。


さいごに

とてもとても濃い3週間を過ごさせて頂きました。
正直言って、ここ数年で高専や専門学校で学んだことよりも沢山のことを学べたと思う。いやホントに。

そもそも、“こういう話”ができる相手がいるというだけでもすごく楽しかったですね。高専とか、周りにはあまり情報系つよつよな人がいなかったので。
ギーク話で盛り上がれるって良い。これこそ心理的安全性。

ほかにもScalaを書けるインターンシップというのは探せばけっこうあります(私が個人的にまとめたScalaが書けて新卒募集してる企業リストを見よう!)。
しかし、チャットツールのシステムとしてScalaを使っている企業となるとその数は一気に減ります。ほかにはLINE、ヌーラボさんあたりくらいだろうか… とても貴重な体験をさせて頂きました。

あと、もっとScalaを付けなければと切実に思いました。正直、ついていくだけで精一杯だった感が否めない。ScalaMatsuri 2020は絶対行くぞ。
ほかにも身内のLTとかでScalaを布教したいですね。みんなも沼にハマろうよ。


そんな訳で、いつも通り収集が付かなくなってきたところで終わろうと思います。それじゃ。