内定者インターン始めて4ヶ月の感想
4月中旬から内定者インターンを始めて4ヶ月ほど経ったので、また記事に感想を残しておこうと思います。
ざっくり状況
3〜4年前からWebプログラミングを独学で始めました。一応、毎年サマーインターンには参加していましたが、実装力は全然でした。(言うて今もない。)
当時の技術はフロントエンドのみで、html, css, Typescript, Reactを触っていました。
今参加しているインターンは主に週3で参加しており、技術はRuby on Rails, Typescript, Reactで、Ruby on Railsは初心者でした。4ヶ月経った今は、だいぶ技術やチーム、開発に慣れてきたなぁと感じています!
学び
速い開発
毎回、チームの皆さんの開発速度が速くて、すごいな!かっこいいな!と思います。
そのような環境だからか、必然的にスピード感は意識しているようで、1ヶ月に1回あるメンターの方と1on1ではいつも、実装が速い!と褒めてくれます。そう言っていただけるのは嬉しいのですが、自分的には、速くてもちゃんとした実装はできているのかが心配でした。
そこで自分なりに考えたのが、PRの粒度です。「細かく多く」開発を進めていくように意識し始めました。
こうすることで、不備があってもすぐ気付けたり、レビュー回数も増えます。
ポイント
- シンプルに
- 一言で言えるくらいの大きさ
- 誰が見ても実装がなんとなくわかる
- ブランチ名にできる程度
- レビューコスト削減
- ブランチを上手に切る
- レビューをもらっているうちに次のブランチで作業
- 考える時間が長くても前のレビューと同時進行できる(非同期開発!)
出すのに時間のかかるPRは、おそらくやることが多いようで、詰まった時に何がしたいんだっけ?となってしまいました。そうなるとレビューのコストもかかってしまいますし、ciで引っかかった時に原因を探るのが大変でした。ですが、上記のポイントを意識することで、スピード感のある開発ができると思います!
原因探り
インターンを始めてしばらくは、メンターの方にエラー対応(Rails)ばかり聞いていました。当時よりは自分でエラーの解決はできていたのですが、最近もまたエラーで詰まることが増えてきました。それは、バックエンドもフロントエンドも実装するようになったからです。つまり、守備範囲が広くなったことに気づいていなかったんだと思います。。。そこで、エラー対応のポイントをメンターの方に教わりました。
ポイント:切り分けて原因を探る!
例)
- フロントエンド
- 開発者ツールはどう?
- ネットワークのStatusは?
- バックエンド
- データ受け取れてる?
- DBに保存する型とかは?
- DB
- 保存されてる?
むむっ。となった時は、とりあえず現状把握が大事で、あえて言語化してみると、バックエンドのここ確認してなかった!などと気付けることもあるので、言語化するのも個人的にはおすすめです!
楽しいこと
実装範囲が広がった
「原因探り」のところでも書きましたが、ある機能開発のためにバックエンドを作ってからフロントエンドを実装することが増えました。フロントエンドしかやってこなかったのに、いつの間にかフルスタックエンジニアだ!と思った時は自分の成長を実感し、嬉しかったです。また、任せてもらえるタスクも増えたのも、背中を押される感じがして嬉しいです。できることより、できるかわかんないことをやれると、大きな成長になりますし、そう言ったことをやらせてくれる今のチームに感謝です。
自分の実装がリリースされた
ある時、開発している製品のヘルプページを見ました。そこで、前に自分が実装した機能についてのリリースページが作成されていました。その瞬間、自分が作ったものはエンジニアだけでなく、CSなどのビジネスの方々にも見てもらっていて、さらにお客さんに伝えてくれているのを感じ、嬉しくなりました。インターンだからとかではなく、いちエンジニアとしてやっていかなくちゃなと、背筋の伸びる思いでした。
終わり
すごくざっくりでラフな記事になってしましましたが、インターンして考えや学びが広がったことが伝われば幸いです。1人のインターン生の声として、こんなこと思っているんだな〜と感じてくれても嬉しいです。
いつもいつも、インターンを通して良い刺激をもらっています。数ヶ月後とか1年後、3年後にどうなっていたいかも大事ですが、今は、今何ができるかを考えながら、学びを増やしていきたいです!
これからも、頑張るぞ〜...いや、楽しむぞ〜!
Discussion