皆さん初めまして。cloudpackインターン生の栄野川です。

今回、大学の夏休みを利用して、cloudpackでインターンに行ってきました!

インターンを受けようと思った理由は、実は僕はcloudpackから内定を頂いていて、来年の4月から社会人としてcloudpackにジョインします。cloudpackで働くにあたって、どのような業務内容なのか、どういった雰囲気で仕事をしているのか、また入社するまでにどのような事を学べば良いのかを知るためにインターンを希望しました。

今回のcloudpackインターンでは、9月の16日から26日の土日祝祭日を除いた8日間、学ぶことができました。インターンで学んだことや感じたことをこのエントリに書いていきます。

インターン前日

インターンの前日に上京しました!

cloudpackインターン: さらば沖縄!!(スカイマークで来ましたがw)
さらば沖縄!!(スカイマークで来ましたがw)

実は、ちゃっかり下見してきました。笑

cloudpackインターン: 虎ノ門ヒルズ高い!
cloudpackインターン: 虎ノ門ヒルズ高い!

1週目

今回、僕がインターンで学ぶ場所はなんと!cloudpack虎ノ門オフィスでした!!!ネット上の記事ではオフィス内の写真をみることができましたが、実際に見る内観はスゴいです。このような素晴らしい環境で働けると想像するだけでニヤニヤしてきます。笑

さて、インターンの初仕事は全体ミーティングでした。オシャレな会議室で各地にあるオフィスと繋いでビデオ会議をしました。内容としては、社員のスケジュールの確認をしていました。やはり社員全員のスケジュールを共有することは大事なことなのですね。その後はcloudpack技術ブログのレビューです。cloudpackのエンジニアが執筆したブログエントリを社員どうしで共有します。AWSはサービスのアップデートが早く、次々と新しい技術が生まれます。その情報を早くキャッチし、チェックすべき記事を技術力の高いエンジニアやエバンジェリストの方が紹介、解説してくれます。その内容に疑問点があればその場で質問したりして解決します。ちなみに僕は皆さんが言っていることがさっぱり理解することができませんでした。常日頃からアンテナを立てておかないと取り残されてしまいます。

会議とブログレビューの後は、今回僕がお世話になるR&D(技術支援)チームの紹介をチームリーダーの廣瀬さん(王子)にして頂きました。皆さん個性的で、面白い人がたくさんいるチームです。笑 しかも皆さんスゴいエンジニアで、MicrosoftのMVPであったり、ハッカソンで優勝経験のある人であったり、ネットワークのスペシャリストであったりWindows Azureのスペシャリストであったりと自分がものすごく小さく感じました。

1週目の殆どは各チームの社員の方にインタビューを行い、cloudpackではどのような業務を行っているのか、どのようなチームがありそれぞれの役割はどうなっているのかなど、組織についての理解を深めることができました。皆さん個人個人に動くのではなく、チーム内またはチーム同士で協力し合いながら業務を進めていました。僕の個人的なイメージでは、一人一人がデスクに向かって黙々と作業をするようなものと思っていましたが、皆さんフランクで、時には笑いも起きて「とても雰囲気の良い会社だなぁ」と最初の1週目で感じることができました。社長や人事担当、CTOなどの役員とも距離が近く、とてもフラットな組織でこれはベンチャーならではのメリットだと感じました。

2日目には初めてのタスクをもらうことができました。僕がエンジニアの川原さんにインタビューをさせて頂き、川原さんはSensuでメンテナンスを行っていて「Sensuを調べてごらん」と言われてSensuについてリサーチし、Qiitaに概要をまとめるというタスクに取りかかりました。文章をまとめるのにかなり時間をとられてしまい、また、Sensuの公式Webサイトが英語で理解するのに時間がかかってしまいました。ITの世界では英語の文章を理解することが必要なのだと感じました。まとめたQiita記事はこちらです。

Sensuを理解する

3日目には、エンジニアの田村さんからタスクをもらうことができました。要件は、「某社がファイルサーバとしてS3を使いたいと。かつ安く運用するためにS3にオブジェクトがアップロードされてから1日後にはGlacierに移動(アーカイブ)させたいとのこと。クライアントソフトはCyberduckでS3へIAM接続を行う。」タスクは大きく分けて2つあります。1つ目は、クライアントソフトからオブジェクトが見られるかを検証。2つ目は、GlacierからオブジェクトをS3へ戻す(リストア)する際に、手順のスクリーンショットをとりながらドキュメントにITの素人でも分かりやすいようにまとめることです。また、オブジェクトをGlacierからS3にリストアした際に、そのオブジェクトは何時間S3として使えるか、オブジェクトをGlacierからS3にリストアして、そのオブジェクトが再びGlacierにアーカイブされるまでの時間を記録しなければなりません。

1週目で田村さんから頂いたタスクの1つ目は消化することができました。しかし、2つ目のタスクで色々と苦戦してしまいました。オブジェクトをGlacierからS3にリストアする際には3〜5時間かかります(Amazon Glacier のよくある質問)。S3のマネージメントコンソールから目視で確認しなければならず、それを効率化したいと考え、AWS SDK for Rubyを利用し、それを自動化するスクリプトをこのインターン中に作成して最終日にLTをすることにしました。LTのテーマは長いですが、「GlacierにあるオブジェクトをS3にリストアする際にStorage Classをチェックしつつ、リストアが完了したら通知を送るスクリプト」です。

2週目

2週目からは、田村さんから頂いたタスクを進めながらAWS SDK for Rubyの学習を行いました。S3のバケット名を取得したり、作成したりするスクリプトは書くことはできたのですが、そのオブジェクトがS3(STANDARD)なのかGlacierなのかを表すStorage Classを取得することができずに時間を使ってしまいました。最初はAWS SDK for RubyのVersion1を使ってスクリプトを書いていたのですが、そろそろV2がリリースされるかもしれない時期だったので、Version2を使ってスクリプトを書きました。

インターンも終盤を迎え、ずっと同じ壁にぶつかっていました。Googleで調べても問題を解決することができませんでした。そんな時に王子に、「問題にぶつかった時に、1.5時間調べて分からなかったら調べ方を間違っている」というアドバイスをもらいました。確かに僕は問題にぶつかって、ずっと分からないまま時間を浪費してしまいました。周りのエンジニアの方に質問することができず、ずっと自分で抱え込んでいました。聞くことが勉強であって、聞かないと何も分からないまま時間が過ぎてしまいます。そういった点が今回のインターンの反省点でもあります。

その後からはプログラマのセバスチャンさんについてもらい、ググり方やドキュメントの読み方、プログラミングの基礎を教えてもらい、一緒に作業していると10分も絶たずにぶつかっていた問題を解決することができました。やはり人に聞かないと先には進めないのだと感じました。質問をするにしても、「これが分からないので教えて下さい。」ではなくて、「今こういうことをしようとしていて、こういう手順で進めていて、ここが分からなくて、どう調べたらよいですか?」という風に質問するクセをつけます。

最終日

いよいよインターン最終日です。午前中は成果報告に向けての資料作成を行いました。今のコードのままだと成果物は完成できないと判断して、完成できなかったという旨をスライドの中に入れました。お昼後に、だいたいのフレームはできたので、R&Dチームの津村さんにプレゼンのレビューをお願いしました。レビューの内容としては、「図が少ない、つかみが甘い、タイムバランスをしっかりしたほうがよい」などのフィードバックをもらい、資料を改善していきました。

王子にもレビューをしてもらうと、「完成しないの?コード見せてみて。」と言われ、そこで初めて王子にコードレビューをして頂いて、「ここまでできているなら完成させられる。なんで諦めた?設計や方法論の相談を誰かにした?」と言われました。ふたを開けてみると、自分がやっていることはもう完成に近づいていて、完成させる方法をいくつでもあったらしいです。その方法論を質問することができませんでした。僕は同じミスを2度も犯してしまいました。自分自身で完成できないと決めつけていました。このミスがインターンで一番の反省点です。

その後は津村さんについてもらい、コードについて色々とアドバイスをもらってなんとか成果物を完成させることができました。しかし、殆どが津村さんの書いたコードで、とても悔しいです。本当に自分は基礎が分からないのだと痛感しました。その後はプレゼンを仕上げて、プレゼンのイメージトレーニングをしました。

いよいよインターンの成果報告会です!役員の方も来ていたので、ものすごく緊張してカミカミになったり、早口になったり、デモの時にタイプミスをしてしまったりしましたが、なんとか最後まで発表することができました。自分なりに言いたかったことは全部言えたと思っています。

プレゼンの資料はこちらです

プレゼン前半の成果物についてのレビューとして、「AWS SDK for Ruby V2で作ったのだから、ぜひ公開して欲しい、タイムアウト機能はいけない、スタート時間とストップ時間が分かるとよい、ゆっくり話して、メモリリークはある?」などなど、とても貴重なフィードバックを得ることができました。

後半のcloudpackで学んだことに対してのレビューとして、「入社までに人間力であったり、表現力を身に付けておくとよい、入社時にはプロとして来て欲しい、技術的にここは負けないぜっていうモノを持っておいた方がよい、在学中にしかできない卒業論文をしっかりすること、それをおろそかにすると後で災難になる、ITの勉強をしない方がいい、cloudpackのお客様情報を見ておくとよい、楽しんで」などなど、多くのフィードバックを得ることができました。

おわりに

今回、cloudpackで2週間のインターンを体験し、エンジニアとしてではなく、人間として多くのことを学ぶことができました。来年の4月から入社する身として自分に足りないことが山ほどあることを認識した、自分のエンジニアとしてのレベルの低さを痛感したとても濃い2週間でした。これから入社に向けて、大学で卒業論文に集中し、発表ができる機会をおろそかにせず、全力で学びます。かつ、成果報告で話した「入社までにやること」計画を立てて、優先順位を付けてタスクを消化していきます。

今回、インターンの受け入れてもらったcloudpackの皆さん、本当に2週間お世話になりました!そしてありがとうございました。入社する時にはもっと成長して、プロとして早いスタートを切れるように準備しておきます!

おまけ

最後の成果報告後の写真をアップしたいと思います♪

cloudpackインターン: この席で作業していました
需要がないピンの写真w Mac Miniちゃん、2週間ありがとう!!

cloudpackインターン: 集合写真
集合写真!
cloudpackインターン: 集合写真(2)
後藤さんとハートつくっちゃいました!笑 吉田さんww
cloudpackインターン: 師匠と!
デプロイ王子と一緒にデプロイポーズ!!
cloudpackインターン: オフィスから見える景色
東京タワーと2ショット!

週明けに縄に帰ってすぐ海にいきましたww

やっぱりキレイですね〜♪沖縄を離れて沖縄の良さを改めて感じることができました!!

cloudpackインターン: 沖縄の夕日
沖縄の夕日^^

以上です♪

ありがとうございました!

元記事はこちらです。
iret株式会社 cloudpack事業部(以後 cloudpack)でインターンしてきました!