昨日をもって、2週間のドワンゴでのインターンを終えました。
その雑感というか、感想みたいなものを書いていこうと思います。(初投稿がこれってどうなんだろうという思いはあるけど)
まぁ、もし今後インターン行ってみようかなって人がいて、そういった人の役に立てればいいかなって思います。
長いので、3行でまとめると
勉強になることたくさん
無駄がない
自信なくても応募しよう
って感じです。以下、詳細です。
なぜドワンゴのインターンに応募したか
ドワンゴのインターンに応募したのは、就活に対する焦りからというのが一つ、先輩からのススメがあったから、というのが一つ、自分の技術を伸ばしたいという思いが一つ、それぞれあったからです。
また、以前からドワンゴはいいところだという情報を聞いていたので、一度経験してみたいなという思いが強かったこともあります。
前回務めていたインターン先では、主に保守・運用がメインであったこともあり、自分がコードを書く力をほとんどつけられなかったことに、かなり憤りを感じていました。このままではまずいと思いました。
1か月、2週間、それぞれのインターンに応募した
ドワンゴには、1か月、2週間の就業型のインターンと、1日のワークショップ型のインターンがありました。正直な話、自分は長めのインターンを探していたので、(自信がなく受かる気がしなかったのもあって)1か月のものと2週間のもの両方に応募して結果を待つことになりました。
結果が届くまでは気が気じゃなかった
そもそも、僕は自分に自信があるタイプでもないし、実際コードを書く力がありません。だから、面接でいろいろなことを聞かれたときも、正直無理だろうな、と思っていました。一応Androidの開発を経験しているとはいえ、そこまできちんとプロダクトとして完成させた経験もないので、だめもとでした。
幸運なことに、1か月のほうはダメでしたが、2週間のほうに参加させていただけることになりました。
あの日は正直、自分でもかなりうれしくて、周りにもいってくるわー!みたいな感じで言っていたという記憶があります。
インターンを通して学んだこと
-
仕様書の大事さ
-
作業環境の大事さ
-
チーム開発の良さ
-
ユーザーストーリーマッピングの大切さと難しさ
-
コードレビューの意味と大切さ
-
ドワンゴの社風
詳細
仕様書の大事さ
まず最初にこれは、今回のインターンですごく感動したことの一つです。
今までの企業では、仕様書がないため、わからないことがあれば逐一人に聞く必要があり、かつ、その人も把握してない場合はコードを追わなければならない、という苦労がありました。
今回はドキュメントが作成されていたので、たいていのことはそれを読めばわかるようになっていました。
こうすることで、不必要な手数をかけずに、作業に集中することにつながりました。
作業環境の大切さ
これについては、人それぞれだとは思います。でも、今回のインターンでは、各人の作業スペースがパーティションで区切られていて、かつ、それぞれにモニターが与えられていました。
パーティションがあることは、作業効率を上げるということを人づてには聞いていたのですが、自分ではその効果を実際に体感することが今までありませんでした。(そもそもパーティションがあるところに行ったことがない)
しかし、今回このパーティションがあることで、確かに集中度合いが違うということを実際に体感しました。これは確かに効率が上がるのでは…?ということがわかりました。
人に聞いて教えていただけることのありがたさ
作業環境の良さには、人に質問をして、それについて教えていただける空気感というか、そういったものも含まれます。今回はもちろん、インターンだったから、ということもあるとも思いますが、時間を区切ってわからなかったら聞いてください、と言われていて、実際に調べてもわからないときに聞いて教えていただいたことで乗り越えられたことが多くありました。
間違いなく社員さんご本人の作業があったにもかかわらず、丁寧に教えていただいて、本当に感謝してもしきれないです。ドワンゴはそういった社員さんがすごく聡明で、やさしい印象でした。
チーム開発の良さ
チームで開発する業務は実はこれが初めてで、今回のドワンゴに応募したのはこのチーム開発を経験できる、という理由も実はありました。面接でもきちんと伝えていたと思います(自分の記憶が正しければ…)。チームで開発することで、何がよかったかというと、本当に周りのレベルが高いので、自分が知らないことがたくさんあり、日々無駄なことがないくらいに勉強しつつ作業ができることがありました。
また、ミスを減らすような仕組み(コードレビューなど)、モチベーションの維持にかかわること、すべてが個人で開発しているだけではできないような経験となり、また、チームで開発することによる大変さ(リファクタリング等)も同時に学ぶことができました。
ユーザーストーリーマッピングの大切さと難しさ
ドワンゴでは、ユーザーストーリーというフレームワークを用いて、ユーザーや開発者などにとって必要な機能を分析し、実装していくというプロセスを踏みます。
個人で開発していると、ともすれば適当になりがちなこの部分を、今回重点的に考えていったことも、自分の中ではとても経験になりました。
インターンが始まって、最初のほうでこのユーザーストーリーを考えていくのですが、まだ理解していなかったからか、今見返すとかなり見当はずれなことを書いていたように見えます。
自分でも、まだ完全にものにしたとはいいがたいですが、少なくともインターンの最初の時よりはかなり理解は深まっているようにも思います。
ユーザーの視点に立って考えるというのは、ユーザーがどういったプロセスを踏んでそのアプリケーションを使うのかというのを、意識的に分解し、論理的に組み立てていく必要があるのでかなり難しく思えて大変でした(でもこういったところに面白さもあると思ってます)。
これからの開発に、こういったフレームワークを取り入れて開発を進めることは、自分の生産性を高めるうえでの大切なことなのではないかと思いました。また、同時にそのほかのフレームワークにどのようなものがあるのかというのも、少し気になってきてはいます。
コードレビューの意味と大切さ
これは今回のインターンの中でもかなり驚いた印象があります。
いままでコードレビューというと、保守性を高めるという意味があることをいろんな場所で読んだり聞いたりしていたのですが、今回のインターンを通して、そういった側面も確かにあるけれど、自分よりできる人にコードレビューをしていただくことで、その人の培ってきた経験や技術を学び取ることができるという側面が強いんだな、と思いました。
実際、自分は他のインターン生があげていたコードレビューのお願いを覗いていましたが、業務を進めるうえでその社員さんがどういったことに気を付けているのか、また、自分のコードにきちんと信念を持っているのかを確認するような言葉もあり、コーディングに対する意識が少し変わりました。
きれいなコード、という言葉はどこでもよく耳にする言葉ですが、どういったものがそうなのか、自分の中で落とし込めてなかった部分があったので、この経験で腑に落ちたことも、一つの成果なのかな、と思います。
自分の汚いコードでも公開することで、レビューしていただけるということのありがたさと大切さをひしひしと感じました。(Githubにこれからはもっと、コードが汚くても上げていこう。。。)
何よりドワンゴの社風
ドワンゴの社風が果たして自分がきちんと理解できているかは疑問ですが、なんとなく務めている人や、サービスを利用してくれる人をすごく大切にしていることを感じました。それがドワンゴの社風なのかな、とうっすらですが思っています。
社員さん同士もとても仲が良く、距離が近いような印象も受けました。そういった面は自分としてはやはりうれしいというか、やりやすそうだな、と感じました。
そういった空気感はおそらくその場に行かないとわからないことだと思うので、本当に行ってよかったなと思っています。
このあたりが、自分のインターンで学んだことです。
ドワンゴでのインターンは、今回の自分がそうであったように、きっと無駄のない学びの機会になると思います。
自分のように技術力に自信がなくても、応募してみると新しい知見が得られると思うので、ぜひこの記事を読んでくださったあなたも参加してみてはいかがでしょうか。
めっちゃおすすめです。