本記事では、私がfreeeサマーインターン(就業型2週間)に参加して学んだこと・感じたことをまとめました。
(freeeインターンってざっくりどんな雰囲気なんだろう、と気になる方向けの記事になっております。1日1日の詳細はまた別記事で書く予定です。)
1. freeeの雰囲気と働き方について
①インターン生をめちゃくちゃ気にかけてくれる環境
- 1 on 1で直接社員さんの方から気になることを聞けるのが魅力的!
- 多職種の方々とランチに行く機会もあり、社員さんと関わる機会が多く嬉しかった。
- 実装の流れや考え方をたくさんアドバイスいただきました。わからない。。やばい。。と放心状態になった時もハドルでとても丁寧に教えてくださり、感謝しかありません。
②自由で暖かい雰囲気
- freeeの温かい雰囲気がとても好きでした!オフィスで働かせてもらった時や、働いている方々の雰囲気など直感的に好きだなあと感じました。
- 働いている方々が楽しそうで、その雰囲気がとても印象的。
③快適なオフィス環境
- 快適なオフィスで仕事ができた!椅子の座り心地が最高。。
- ドリンク飲み放題なのでたくさん飲み物を飲んで開発
- 五反田、大崎付近の美味しいランチも開拓できたのも良い経験でした
④「ユーザーにマジ価値を届ける」姿勢
- 社員の皆さんが「本当にユーザーに価値を届けられるか」を常に考えていられることが分かった!
- 販売・工数管理のWeekly Reviewでは「この機能はなぜ作ったか、ユーザーには分かりづらくないか」といった意見交換がたくさんされていました。
- 「迷った機能は作らない!」という言葉が印象的。悩んだ機能は使われないことが多い。
⑤リリースの頻度と改善
- リリースの頻度の高さに驚き!
- 一週間でかなり多くの機能が修正されていることにも驚きました。
- 追加機能だけでなく、シンプルにすることで見やすくなっている機能も多いことに感動。。シンプルが1番だ…!と学ぶことができました。
2. サマーインターンの振り返り
よかった点
①ユーザーの悩みを直接聞く機会があった
- ユーザーにヒアリングした際、どこに一番の悩みがあるのかを質問し、その悩みの本質を確認できたことで、課題の明確化に繋がった
②Design Docの活用
- Design Docを作成し、計画的に開発を進める方法を学ぶことができた
- 「どんな機能を優先的に作る必要があるだろうか」、「ユーザーさんが使いやすくするためにはどうしたらいいだろう」とチームで話し合いながらアイデアを練ることができた。
- アイデア出しはかなり頭を使う気がして少し疲れたけど、めちゃくちゃ勉強になった!
③開発ツールの効率的な活用
- 量の多いコードを読み解く際に、開発ツールを効果的に使うことで、関連するコードを逆算して確認する方法を学ぶことができた
- React Developer Tool便利!
④メンバーからのアドバイスを活用
- 分からないこと、つまづいていることをメンバーに相談し、アドバイスをもらいながら自分のタスクを無事に完了することができた
- 社員さんの方にもペアプロしてもらったり、1時間とかかけて丁寧に教わった。。本当に感謝です。。。
⑤悔しさが残っていること
- 普段はC言語を触っているということもあり、Webの知識が少なすぎるということに気づいたこと!これは本当に気づけてよかった。チュートリアルやドキュメントを読んで、真似て書いて理解した「つもり」になっていたことが分かった
- 一つ一つの関数の意味を理解し、使えるようになってから初めて業務に貢献できるということを学ぶことができた
(今回めちゃくちゃ助けてもらったので、一人でゴリゴリ開発できるようになりたい!!と強く感じた)
more点
①参考コードの選定
- コード量が多いため、同じような実装をしている箇所を探して考え方を真似て実装するといいかも!というアドバイスをいただいたが、どのコードを参考にすべきかを判断するのが難しく、分かった時も実装にかなりの時間がかかってしまった。。。この点でメンバーやメンターさん、社員さんに助けていただきました。
②実装手順の言語化
- 「こういう機能があるといいよね」や「これは最低限必要だよね」といった意見を持つことはできたが、実装手順を考える際にその流れを言語化するのが難しかった。
- データベースに何を追加し、どのように実装していくといいだろうか?というプロセスをうまく言語化できなかったので今後の課題!!!
今後実践していくこと
①API実装の完全理解とスピード感の向上
- API実装を完全に理解し、開発のスピード感を高めるために、どう実装するかを常に言語化してから開発に取り組む習慣を身につける!
- なんとなくで進めるのではなく、具体的な計画(どの実装から優先的に行うか)を立ててから作業を進めるようにする!
②既存コードの読み解き能力をあげる
- 既存のコードを早く読み解く力を身につけるために、開発ツールを使いこなす!
- あとは、オープンソースの大規模コードを読んでみるなど、他の方法も試してみる
③Web系の知識の強化
- Web系の技術や知識をさらに深める!!
- 関連する書籍やオンラインリソースもたくさんあるので学びまくりたい。。
- どこかC言語を活かせるとこないかなあとか考えながら実装してみる
3. 感想
freeeでの業務に携わることができて、本当に嬉しかったです。ありがとうございました!!
エンジニアとしての私の目標は、「開発したサービスを使ってもらい、ユーザーさんからフィードバックをいただき、それをもとに修正を行い、より価値を届ける」ことでした。その理念を掲げているfreeeに魅力を感じ、応募させていただきました。
実際に社員の皆さんと一緒に働き、ユーザーさんに「マジ価値」を届けるために考え、実装できた経験は非常に貴重で、嬉しいものでした。
特にWeekly Reviewでインターン生のデモを見て、社員の皆さんが喜んでくださったことが本当に嬉しかったです。やはり、ユーザーさんのことを考えながら開発することにやりがいを感じるなあと改めて実感しました。
これからもさらに開発経験を積み、より一層ユーザーさんに寄り添えるエンジニアを目指します!
最後に、チームメンバー、メンターさん、社員の皆さん2週間の貴重なお時間をいただき大変お世話になりました!もっともっと成長して恩返しができるよう頑張ります。