ゆめみサマーインターン振り返り
はじめに
こんにちは。ゆめみ2023夏インターンに参加したパセリです。申し込みから終了まで参加記録を書きます。
選考
動機・キッカケ
会社の雰囲気にあっているとの先輩からのおすすめ
サポーターズ関係で知った
開発系とセキュリティ系で悩んでいる中、開発系やりたいなというので一つ入れた
どうせ開発系なら、自分が学んできたものを活かすより初めての技術に沢山触れたかった
個人開発で積み上げてきたものはそれなりにあるが、自分が今まで学習してきたものをかなぐり捨てたときどういう挙動になるかを確認したかったのもあった
選考過程
サーバサイドで申し込んだ。
フロントも選べたし好きだったけどFBたくさん貰いたいのはサーバだなと思ったのでそっちに
言語がRustなのを確認していなかったのは半分失敗(流石に一ミリも知らん言語にいきなり突っ込むつもりはなかった)、半分初めての技術が増えたので良かったと思う
アンケート
テックリード志向で答えた。後述するが今思えばインターン中は全然テックでリードできていない。
コーディングテスト
コーディングテストの実行環境をローカルで動かせるサイトだったので、めちゃくちゃ頑張って環境を整えた(なんかLinuxの仮想環境のUbuntuのバージョンが合わないとかでOSから入れ直したりした)のに、全く使わないタイプだった。そういうこともある
個人的に慣れているnode.jsで書いた。そこまで難しいことはなく、書けばどうにかなったし時間は余った方かなと思う。リファクタリングに時間は充分割けられたし、コメントはそれなりに添えたつもり
コードに関してFBをもらったが、変数名とかそこまで意識回ってないところがあった、ロジック分離とかできてなかったと反省
また、「ここはこうした方が良かったかもしれない」レベルのそこまで鋭くない指摘も貰えた。納得できるかは別として、そういう考えがあることを視野に「それでもそうするのか」ということ考えられたら良かったなという意識になるので。
面接
履歴書の送付を忘れていたので危なかった
急かすメールを送っていただきありがとうございました……滑り込みセーフ
ポートフォリオは作っていたが、あまり書き込めてない部分もあったので別途notionでゆめみ向けに書き直した。大学名とか書くのをWeb上に公開することに強い抵抗があったため。
話は真摯に聞いてくれた印象で話しやすかったと思う。
面接に関してFBをもらったがベタ褒めすぎて逆にびっくりした。あったかいので大切に保存しておきます。
インターンの様子
概要
Rustのバックエンド、jobboardサーバという社内で取り組まれる仕事や、その参加募集などを管理する社内システムの開発を手伝い、幾らかの追加機能の開発を行なった。メンバーは8人、フロント:バックエンド4人ずつが参加。
フロントエンドとバックエンド2人ずつ4人の2チームに分かれて作業期間は2週間。参加者1人に対して1人の23卒の先輩がバディとして、各チームに対して参加する。また別途フロントエンド・バックエンドのメンターがエンジニアが業務を見る。
パセリはチーム「ぱせりうす」のぱせりの部分としてサーバサイドの方の開発に参加する。
担当作業
求人情報を更新する機能
PATCH APIを生やした。基本的に前のコードを見よう見真似で書けた。
各々の求人を新規に追加した際にSlackへの通知も選択的に行う機能
通知することを受け付けるAPIの設計・追加
設計のところから考えるため実装範囲は広かった
おまけで一つバグの対処タスク
ちょっとした隙間時間で取り組んだので原因と思しきもの突き止めてた終わった。あとは任せました……
使用技術
Mac
Windowsばっかりだったので初めて触りました
好きなところ
brewとかlinux系コマンドが素直に動くのはいい体験。zshとか入れられる
全部USB TypeCで済むのも高評価
単純にデザインがかっちょいい
嫌いなところ・慣れなかったところ
CapsLockが左下のCtrlのところにある。慣れれば便利そうだけどコピペしようとするたびに大文字になるので辛い
コマンドキーがほんの少し右。コピペの指の動きがちょっと変わるので苦しかった。よくペーストのつもりで⌘Bを押す羽目になった
タッチバーのスピーカーミュートボタン、リモート参加のインターンなので誤操作した時の痛手がすごい。
複数ウィンドウにはちょっと慣れない。最大化からの復帰の操作感の違いが辛い
どちらとも言えないところ
日本語入力すると自動で最適な変換結果を出してくれる。これ自体は便利だけど、「ゆめみ」が「夢見」になるしなんか余計なお世話と感じる箇所も多かった
次のパソコンにMacを買うかは正直わかんない(Windowsに飼い慣らされてるため)けど、視野に入れるくらいはしてもいいかなと思った
Rust
殆ど初めて触りました。
事前に座学とかちょっと書いてみたりとかしたけどいざ向き合ってみると普通に不十分だった。バリバリ書いてかないと頭に入ってこないタイプだった。
型の強さに滅茶苦茶支えられたと感じる。拡張機能とか入れると開発体験がさらに滅茶苦茶よくなる
それはそれとして今まで使っていた言語とはちょっと違うモダンな概念が多かったのでそれなりの戸惑いがあった
0から書くんだったら大変だったが、既存コードを参考にできる所が多かったのでその点ではやりやすかった
axumを利用したが、Rust内での立ち位置とかは流石にわからず
型とmatchでエラーを逆算して組み立ててくれる感じが動的言語中心だった自分からするすげぇってなるな
同時に「適当でいいからとりあえず動かして様子をみる」というのが難しくはあるので、そこら辺は辛く思う
やっぱりそれなりに習得してから参加した方が得られるものは多かったかも?
やるタスクの難易度は比較的簡単なものから難しいものに進んでいるので、ちゃんとついていくことはできたし得るものもあった。チームメンバーの優秀さに支えてもらったところもある。
ただ、高度なレビューが飛び交うのを横で見てると勿体無いことしたなって気持ちになる。
DDD
見聞きしたことはあるがちゃんと向き合うのが初めてだった
やはり雑に書くのとは訳が違うので面倒臭さを感じるところは多かった。
他方役割分けがしっかりできるので、複雑に慣ればなるほど効いてくるんだろうと思った。
おすすめされた本を買いました。あとでしっかり勉強しようね。
OpenAPI
これも気にはなっていたが意外と初めて触った。
モジュール化みたいなことができて表現力が高い
VSCode
Windowsで使ってたので大体同じように使えた
いろいろ拡張機能を教えてもらいました
個人的に面白いなと思ったのはLocalHistory
Chrome
ブラウザとして少し利用。Macの開発者モードの起動コマンドがWindowsと違ったので少し辛い
Git・GitHub
複数人でいろいろブランチを育てたりマージしたりしました。
個人で雑にやるのとは訳が違うので、考えることが多かった
他の人の開発中の機能を複数利用する、というところが出てきたため、自分でmainを作るような感じになり、コンフリクトしまくった。辛い
ここはもっと上手くやれたと思う。
なんか通知が飛ばない設定になってた。個人開発に最適化しすぎだろ
TypeScript・Next.js
今回自分は触ってないがフロントの方が作業していた
BrandedTypesというもので結構ガチガチに型表現をしている様子
これ知らなかったけど面白そう。
チームメンバー
モブプロのような感じでわいわいとやった。
大きく2チームあって、バリバリやる方とワイワイやる方のワイワイやる方だったと思う。
技術系のインターンとしてバリバリやりたい気持ちもあったが、上記の通り初めてのことが多すぎてバリバリやるどころではなかった。
ただ、チームの雰囲気を良好に保つことができた。
その他イベント
「最高のFB」研修
研修と名のついたものがセキュリティ研修とこれだったと思う
数あるイベントの中で一番「ゆめみはこういう会社でこういうことを大事にしています」というのを感じるところだった。
内容としては「チームメンバーを過剰に褒める練習」という感じで、まぁびっくりするけどテキストベースのやり取りが多い会社として不和を生じさせないためには重要なことなのだと思ったし、実際その辺りでの失敗を起こさずに済んだと思う。
全社会
めちゃくちゃ緩いけど会社の経理とかそういう話が見れるところ
ゆめみが抱えている課題とか正直に全部見せてもらえたので良かった。
ギャグが滑って(?)も、どことなく温かみがあったんで、愛されてるんだなぁと思った
学んだこと・感じたこと
個人的に満足していること
初めて触った技術あれこれ
各技術に関しては省略(上記参照)
ちょっと分野から外れるとわからないことは全然増えるんだなぁという気持ちになった。思ったよりはなんとかならない。
ただ、そんな中でもモチベーションは十分維持できるし、割と頑張れることもわかった。テックリード志向で申し込んだが、テックでリードできない時の自分の挙動がわかって良かった。
チームの雰囲気の保ち方
上記の中、自分がうまくできないところで不機嫌を撒き散らすような挙動はしたくなかった。流石にしないだろの気持ちと、いざやってみるまでわかんないぞという気持ちと。
FB研修など、過剰とも思えるほどの褒め方の学習から始まったため、「そういう雰囲気を作っていくぞ」という意識づけができていたのも大きいかなと思う。
失敗
設計のミス
変な形で押し通してしまった節があった。フロントの方を交えるべきだったと思う
複数人開発において相当尾をひくことを感じた。
優先順位のミス
他人の作業に依存する箇所が複数ある中での開発で、コンフリクト解消が大変なことになったところがあった
また待ち時間が発生したりした
切り分けをお願いしたり、もうちょっと上手い立ち回りがあったように思う
感想
二週間お世話になりました
結構暖かく迎え入れてくれてありがとうございます!
フィードバックもたくさんもらえました。結構たくさん褒めていただきました。その一方で、自分がこういうところが足りない、必要だ、という点もたくさん得ました。
チームメンバーの方々ありがとうございました