Cybozuサマーインターン体験記2019
はじめに
今年(2019年)の夏、Cybozuさんのサマーインターンに参加させていただきました。せっかくなのでその時の様子や感想をまとめて体験記として書いておきたいなと思います。 これを見て少しでも興味をもっていただけたり、インターンの様子が伝われば嬉しいなと思っています。
概要と当日まで
概要
インターンの概要としては以下のようになります
N35.6818106,E139.7738159,Z16 東京日本橋タワー
Webサービス開発コースのみ大阪との共同開催でした
参加日程
8/26 ~ 8/30 の5日間
saji.iconが参加したこの時期は第2日程でした
全3ターム(公式サイトより)
https://gyazo.com/3346c667daf2b105c1b7d966318babac
参加コースと内容
webサービス開発コース
saji.iconは技術スタックが完全にフロントエンドよりだったので迷わずこのコースにしました
待遇
以下のような感じです
https://gyazo.com/f67820b4bddc7187657856824ed7e048
応募のきっかけ
応募は6月前ごろから考えていたのですが、大きな理由は以下のようになります。
せっかくなので夏に短期インターンの一つくらいしとかないとなという気持ちがあったこと
2019年夏現在、長期でインターンをしているCureAppがあるものの、夏季は各社が短期インターンを開催されているので、せっかくなら一つくらいは参加して技術や経験を吸収して強くなりたいなと思いました。 また来年には就活も控えているので色々な会社を見る機会にもなりそうだなと思ってもいました。
大規模な開発をみてみたかったこと
今インターンをしているCureAppはまだ規模として大きくはないので一度大規模なweb開発の現場を見てみたいという興味がありました。 待遇も良かったこと
少し下世話な話になってしまいますが、貧乏学生としては上記のような待遇は非常にありがたかったのも事実です。
合格まで
webで6月の末に申し込みました
研究等で今まで作ってきたものについて書いたりしました。
その後、書類審査通過の旨をメールでいただいて面接をすることになりました。
面接は、人事の方1人+エンジニアの方2人 vs saji.iconという感じでした
研究のこと/インターンのこと/よく触れている技術スタックとかについて主に聞かれたような気がします。
その後メールで合格通知をいただき、参加を決定しました。
体験記
1日目
まずは簡単なオリエンテーションと自己紹介などがあり、そのあとメンターの方と顔合わせをしました。
皆さんとても優しい人で最初から安心できました。
今回のチームの内訳は以下のような感じでした
web開発コース 8人(東京5と大阪3)
モバイル開発コース 1人
UI/UXデザインコース 3人
品質保証/セキュリティ 3人
お昼ご飯のあとはweb開発チームで会議室に集まり、PCを支給された後、メンターさんからkintoneの全体像やコードについて、仕様書、テストをどのように書いているかなどの全体的な説明を受けました。
https://gyazo.com/74beabc93eebcbac405c5970ab362b6c
大阪と共同でのオリエンテーション風景
その後8人いるweb開発チームを東京と大阪ミックスした上で2チームに分け、メンターさんが各チームにそれぞれ3人ついてくれことになりました
もちろんインターン生もメンターさんも各チームに東京と大阪の両方の方がいるようになっていました。
また、kintoneを理解するために簡単な問題を用意して下さっており、それをときながら理解を深めました。 2日目
2日目はCybozuさんでの仕様書の運用の仕方や取り決めなどを講義して頂きました。
何のために仕様書が必要で、だからこそどのような表現で書くべきかなど仕様書の限らずエンジニアリングにおけるコミュニケーションで大事な要素をたくさん学べたと思います。
またメンターの方から前日にやっていた課題の答え合わせとして改めてkintoneの構造を解説してもらいました。
お昼にはフロントエンドエキスパートの方達主催の情報共有会ランチに参加させてもらう事もできました
その後チームに分かれて新しく追加する機能を選択をし、受け入れ条件を考え、仕様書を書くという作業に移りました。これらの作業は全部モブプロで大阪と一緒に進めていきました。 モブプロについては学びも多かったので下の感想に詳しく書いています。
3日目
3日目はcybozuでの開発プロセスを講義して頂き、どのような流れで開発が進んでいるのかを学ぶことができました。
大規模ゆえに多くの人で管理できるような丁寧な部分とそれでも身軽にスプリントを回せるための工夫が詰まっていたように思えます。
またこの日に社長である青野さんとインターン生でランチ会を開催して頂き、自分たちインターン生の質問に社長自ら答えてくださるという機会にも恵まれました。
作業としては仕様書が確定し、実際にどこにどのような処理を書き込めばいいのか探るべくコード読みが始まりました。
ただこの作業が非常に大変でした。何しろフロントエンドだけでも膨大なコード量のあるプロジェクトだけに、どこでどのような処理をしているのか探すだけで一苦労でした。またClosure Libraryに触れるのが初めてだった事もあり、独自の書き方に慣れるのに時間がかかったのも大変だった要因だったように思います。 また午後にはスプリントレビューの見学をさせて頂きました。エンジニアだけでなく他の部署の社員さんも集まりワイワイとしながら新しくできた機能などの発表をしていた光景が印象的でした。
夜にはインターン生向けにアクセシビリティの講習会を開いて頂きました
アクセシビリティに詳しい方からアクセシビリティの基本的な考え方やコントラスト、色使い、DOM構造の話、cybozuでの取り組みなど沢山の内容の詰まった講義を受けることができました。
4日目
4日目はテストについての講義をして頂きました。Cybozuで実際どのようなテストを誰が行なっており、どのように管理しているかを聞くことができました。
その後はメンターさんにアドバイスを頂きながらモブプロでひたすら実装を進めていきました。
また昼過ぎには面談したいと希望していたフロントエンドエキスパートチームの方と面談することができました。自分の技術スタックがフロントによっていることもあり、Cybozuでの取り組みを中心に多くのことを話させて頂きました。このように話したい人とできる限り面談を組んでいただけるのもこのインターンの魅力の一つだなと思いました。
5日目
5日目は発表資料の制作時間もあるため、あまり実装を進めることができなかったもののチームで最後まで実装を追い込みました。その甲斐あってなんとか納得のできるレベルでは動くものが作れたかなと思っています。
その後はスライド作成などを行い、成果発表会へという感じでした。
成果発表会では全コース合同で多くの社員さんもいらっしゃる中での発表という形だったのですが、実況スレッドでは好意的な反応いくつも貰えてとても嬉しかったです。
他のコースもコースごとにユニークなことをしていて専門ではないものの楽しさや工夫すごさがが伝わってくる発表会でした。
https://gyazo.com/b8b40c300edf51628a21d0832fea7e15
web開発コースチームで
懇親会はエンジニアの方や人事、デザイナーの方、cybozuラボの方など多くの方が参加してくださり賑やかな懇親会でした。みんなでエンジニアリングの深い話をしたと思ったら趣味の話をしたり、インターン採用の裏話を聞いたりと非常に色々な話を聞けたのが楽しかったです。個人的は自分と同じHCI分野で研究している方(していた方)がいらっしゃって研究の話をできたのが印象的でした。本当に社員さんの層の厚さや多様性が面白さや魅力に繋がっているいい例だったと思います。
https://gyazo.com/07be164b0826c6d344ff249713f5f695
360°カメラで
インターンを通して感じたこと
今回のインターンでは、チームに分かれてからの作業を全てzoom(ビデオ会議システム)を利用したモブプロで行いました。
方式としては
ドライバーをインターン生4人で回す
1ドライブ 25分 → 5分休憩
各ドライバが自分の画面を共有する
という形でした。
saji.iconがモブプロ初めてということもあり非常に貴重な経験となりました。
自分は勝手に「モブプロはなんとなく非効率そう」と思っていた節があり、いい意味でその印象を考え直すいい機会になりました。「そもそも効率とはなんなのか」「知見の共有という視点」「チームでの知識の偏り」「全体を見ることへの破綻」などチーム開発において考える要素がたくさんあることを知り、実際に運用している社員さんに忌憚ない意見も聞くこともできてモブプロを考え直す1週間でもありました。
このようにチーム開発について考え直す大きな機会となったという意味でもインターンを通して得た大きな経験だったと思います。
ここら辺のモブプロ話はもう少し整理してからまた違うページに書きたいなとも思ってます。
社風や制度について
まず勤務時間ですが、皆さん本当に18時(定時)に帰り出していたのはすごいなと思いました。なんやかんやで割と残業とかしてるんじゃ....?と訝しんでただけに20時ともなると全然人がいないのには驚きました。
また働き方も、インターンが東京大阪で同時開催されていることからわかる通りとても柔軟そうでした。エンジニアさん誰に聞いても「別にどこにいても同じように作業できる」と言ってるのが印象的でした。会った方の中でも気分変えて違うオフィスで働くことにしてみた方や、長めに帰省している時だけ違うオフィス出社していた方などがいて柔軟さに驚きました。
さらに、社員さん同士の雰囲気として、みんな議論が好きそうでいい意味で思ったことを言える心理的安全性の高さがあるなと感じました。
インターンとして
素直にオススメしたいなと思います
まずメンターさん含め社員さんがとても優しいです。一度も「ちょっと聞きにくいなぁ」とか「この感じきついな」とか思うことがありませんでした。
またそこそこ大規模な会社のモデルケースとして会社の雰囲気を体験し、制度を知れるは有用なことだと思います。決して他の会社が同じ感じかと言われとそんなことはないと思いますが(もちろんいい意味で!)、今後会社を見る中でもいい比較対象になるなと思いました。
さらに大規模な開発の様子や、チームの構成、スプリントの回し方などプログラミング技術的なとこでない部分の技術や手法でも発見があって面白いです。こういう知見ばっかりは研究室や小規模なインターンでは溜まっていかないものですし文章化されてたまりにくい知見でもあるのでこうやって体験するのが一番かなと思います。
同じようにCybozuで培ってきたシステム・知見の話が聞けるのも大きいと思います。ざっとあげても
設計書の話
設計から実装・テストまでの回し方の話
自動テスト・手動テストの話
アクセシビリティの話
バックエンドの取り組みの話
スプリントレビューの見学
のような話を連日聞くことができます。
あと普通に待遇が高水準だと思います。遠くてもちゃんと交通宿泊費が出ますし、時間があるのであれば損になることはないのではないでしょうか?
最後に
5日間と短いインターンでしたが多くの学びを得ることができたとても楽しいインターンでした。優しいメンターさんと強い同期インターン生に恵まれ、素敵な時間を過ごすことができました。また勉強会であったりでお邪魔できればいいなと思っています。本当にありがとうございました!