川獺伏草  ~おがどらの雑記ブログ~

自由気儘に書きたいことを書き連ねるブログです。

株式会社ゆめみ様でインターンをさせていただきました

はじめに

 株式会社ゆめみ様で1週間(月曜から金曜までの5日間)のインターンをさせていただきました。選考はコードチェック及び面接の2段階によって行われました。コードチェックは(私にとって)丁度いい難易度で、フィードバックが丁寧に返ってきていたので正直インターンに通らなくても「選考を受けただけで価値があった」と思いましたが、ありがたいことにインターンをさせていただけることになりました。

インターン概要

 インターンはリモートで行われ、FIigmにあるデザインに沿って実装を進めるという形で行われました。ゆめみさんではフロントエンドはデザインを担当せず、デザインはデザイナーが行うとのことでしたので、実際にゆめみさんで働くフロントエンドエンジニアが担当する領域に近い形式の課題でした。それ以外の内容に関しては私が希望した内容で行うことが出来ました。具体的に今回は事前のヒアリングシートで

  • CI
  • テストを行う
  • 静的解析ツールを用いる
  • プルリクエスト・イシュー等を通じた開発
  • TypeScriptによるコーディング

をやりたい旨を回答し、実際にそのとおりに開発を進めました。フレームワークはNext.jsを使用しました。

 インターンは2人のメンターが付いてくださり、基本的な疑問はメンターに質問する形式になっていましたが、メンター以外のエンジニアの方も積極的にSlackに投げた質問に答えてくださいました。オンライン形式ということでコミュニケーション面に関して若干の不安がありましたが、インターン期間中の半分以上はSlackのハドルミーティング機能で通話を繋げながら作業していたので、気軽に質問をすることが出来ました。

 コードはGitで管理し、branchを切ってGitHubにpush、Pull Requestを立ててメンターの方にコードレビューして頂き、LGTMを貰ってMergeするという手順を踏み開発をさせていただきました。このワークフローはGitHub Flowと呼ばれ、他にも様々なワークフローが存在することを教えて頂きました。特にmasterブランチには直接pushしない設定にするレビューの無いマージをする際に警告を発するなど私の知らないGitHubの設定が沢山存在することを知り、勉強になりました。

 課題として設定されているページの構造や機能自体は簡単なもの(むしろコードチェックとして提出した課題のほうが難しかったと感じるくらい)でしたが、目標に対して適切なアプローチを行うという前提を踏まえれば適切な難易度であったように思えます。個人的には難しい課題のほうが燃えるので、もっと難しくても冇问题なのですが…

 また、インターンの作業は貸し出されたPC(MacBook)で行いました。ゆめみさんではmacOSを使用する人が多いとのことです。

学んだこと

 「明確に与えられたデザインを元にコーディングする」という経験は初めてだったので、非常に良い経験でした。個人開発の場合は画面内に必要な要素を最低限設置してからいい感じになるようにCSSを付ける、というような工程を踏むので、予めデザインが決まっているとこんなにもフロントエンドは書きやすいのかと衝撃を受けました。デザインは予めピクセル単位で定められていましたが、CSSの所定の位置に数字を打ち込むだけなのでIllustratorを操作するような繊細な作業が必要とされるわけではありませんでした。その際、CSSの作法のようなものの知見を得ることが出来ました。

 例えば、ページの大半に広がるようなコンテンツを配置する際、私は今までwidth: 90vwのように指定していましたが、業務ではmargin: 16pxのようにマージン指定することがおおいそうです。またフォントサイズはpx指定ではなくrem指定にすることにより、ブラウザやデバイスの拡大機能で適切に拡大されるためにアクセシビリティの観点から望ましいといった、個人開発を行っているだけでは知り得なかった情報をインプットすることが出来ました。

 またメンターの方がCSSにめちゃくちゃ強い方で、私が毎回ググりながら書くところを完全に暗記して書いていたので、これがプロか…と違いを思い知らされました。

 またブランチを有効活用した開発を行うことによって、Gitの触ったことのない機能に触れることができました。例えばgit stashgit cherry-pickなどです。また、git pushを引数なしで行う際の挙動を設定で変えられることを知りました。gitは触れば触るほど知らない機能が出てきて面白いです。

その他

 ゆめみさんの社内制度として、プロリクと呼ばれる組織自体に対するプルリクエストのようなものがあります。このような聞こえの良い制度は形骸化しているのではないかという懸念がありましたが、インターン期間中に活用なされている様子がSlackで分かったので良かったです。

 また有名な有給取り放題制度について「有給取り放題制度で長期休暇を錬成させることは可能ですか?」と質問させていただいたところ、「普通の有給なら問題がないが、それだけになると休職を提案されることがある。」と聞いて割と常識的な範囲内で活用されているのだと安心しました。ですが質問したみなさんが有給取り放題制度で休暇をとったことがあるそうで、有給消化率とか数字にしたら100%超えていそうだなと感じました。また週に勤務する回数や休職など、話を聞く限りはかなり融通が利きそうな印象を受けました。様々な働き方や考え方に対応するよう、企業自体に柔軟性を持たせているのだと思いました。

謝辞

 5日間という非常に短い期間ではありましたが、フロントエンドのプログラミングに関する深い知識や、株式会社ゆめみという企業の奥深さを学べる一週間でした。メンターのお二方を始め、コードチェックにフィードバックをくださった方、面接をしてくださった方などのゆめみさんのフロントエンドチームのみなさん、様々な案内をしてくださった人事のみなさん、本当にありがとうございました!