Cybozu Summer Internship 2019 Engineer&Designer に行ってきました
これです。Web開発コースに参加しました。大阪オフィスに出勤していたのですが、到着してみると私ともう1人しかおらずびっくりしました。残りのコースは東京でしか受け入れができなかったり事情があるようで、さすがリモートの会社だなと思った。
何をしたのか
5日間でWebエンジニアの工程を一通り経験させてもらえる(座学もあり)インターンでした。学生4人のチームでkintoneというグループウェアの新機能のプロトタイプを実装するという課題に取り組みました。具体的にはkintone上ではスレッドにコメントを残せるのですが、その下書き保存機能を新しく実装しました。
1日目
オリエンテーションだったり、kintoneのソースコードを眺めて簡単な練習問題を解いたりしました。10年近く開発が続いているプロダクトなだけあってかなり大規模で複雑なレイヤードアーキテクチャになっていました。完全に理解するのには時間を要しそうでしたが、DIを使ってテスタブルな設計を心がけていたりするコードが読めて勉強になった気がする。
2日目
実際にチームに分かれて今回実装する課題を決定しました。ここからがサイボウズらしい部分で、4人のチームのうち大阪にいるのは私だけで残りの3人は東京に出勤しているメンバーでした。kintoneチームでは日頃からリモートモブプロを採用していて、自席からみんなヘッドセットをしてワイヤワイヤ言いながら話し合いをしました。東京のメンバーは席が隣り合わせなのにヘッドセットを通して通話していて相当シュールでした。
3, 4日目
サーバ側で下書きを保持するという方針になった(単にLocalStorageに持たせてもよかったが、それだとフロントしか触れなそうとか端末間共有などができないねという経緯)のでDBにテーブルを作ったりAPIのエンドポイントを作ったりと盛りだくさんでした。ここももちろんモブプロでやっていて、人の開発環境を覗けたり、自分のコードを見てもらいながら実装するのは体験としてかなり新しかったです。実際の開発となると一長一短あるとは思ったけど、とりあえずインターンとしてはとても楽しかった。
5日目
開発の成果を発表しました。実際に動くものができて、「お〜!」などとリアクションをいただけたので満足です。
デザイナーコースの方のスライドがすごく綺麗でデザイナーすげ〜〜ってなりました。