ユアマイスターエンジニアインターンの振り返り
この記事はユアマイスター アドベントカレンダー 2022の 19 日目の記事です。
2020 年 2 月からユアマイスターでエンジニアインターンを始めてもうすぐ 3 年になるので、インターン活動を振り返ろうと思います。
自己紹介
文学部地理学専攻の文系大学生です。
大学入学と同時に独学でプログラミングを学び始めて、大学一年の冬から現在にかけてユアマイスターでエンジニアインターンとして働いています。
大学に入学するまでパソコンにはほとんど触れたことがなかったです。
インターンを始めた頃の技術レベル
- HTML CSS
- HTML CSS を少し勉強している状態
- Sass や CSS 設計については知らない状態
- PHP
- スクラッチで crud アプリが作れる状態
- フレームワークは使ったことがない状態
- JavaScript
- jQuery を少し勉強している状態
- Git
- チーム開発はしたことがない状態
- branch 運用や Git ワークフローはわからない状態
add
commit
push
コマンドは使える状態
今考えると、エンジニアとして働ける技術はありませんでした。
(後に、僕のインターン面接の面接官を担当していた方に話を聞くとフレームワークを使わずに独学で crud を作ったあたりに「なかなか根気あるな」と感じてインターン採用されたとのことでした)
試用期間〜インターン初期
試用期間
最初の 1 ヶ月は試用期間で毎日オフィスに行って paiza のスキルチェックをひたすら解いていました。毎日オフィスに行くことで社員の方と話したり、業務している様子を眺めたりして会社の雰囲気に慣れていきました。
あと、夕方にあるコーヒータイムのコーヒーを豆を挽くところから用意したりもしていました。
初仕事
1 ヶ月ほどで試用期間を終え、初めて仕事をいただきました。
簡単な文言の変更だったのですが、Git でのチーム開発や PHP フレームワーク(CakePHP)でのフォルダ構成について調べたり結局丸一日かかりました。
個人開発でサーバーへのデプロイまではしたことがなかったので、初めてのリリースしてもらった時は自分の書いたコードがブラウザに表示されていることに感動しました。
(今でも改修した箇所が残っているのでたまに見返しています)
インターン初期
インターン初期は文言変更やスタイルの修正など、すぐに改修可能なチケットを毎日数チケットリリースしていきました。
できるようになったこと
- ドキュメントを見ながらの環境構築
ドキュメントに載っているコマンドを調べながら実行して slack の times チャンネルに共有していました。 - Git でのチーム開発
作業用ブランチを作成し PR をコードレビューに提出してレビューで問題なければ master ブランチに merge してもらいリリースするという一通りの流れを学びました。 - MVC フレームワークを使った開発
Model View Controller それぞれの役割を学びました。 - その他
shell とは何か?migration とは何か?MySQL のクエリの書き方や css/js のトランスパイルの方法など業務で使う技術を一通り学びました。
反省
- 丸投げな質問をしていた
何も調べもせずに「こんなエラーが出ました、どうすれば良いですか?」と画面ごと見せに行くなどをしていました。
(今でも同じようなことをしている場面があるので気をつけています。)
まずは、しっかりエラー文を読むことから始めました。
質問する前に自分で調べてそれでもわからなければ調べたことや行ったことと合わせて質問するようにしています。 - 会社の事業についての理解が浅かった
インターンになりたての頃はコードを書くことに精一杯でしたが今思うとプログラミングを勉強することと同じくらいに会社が作っているプロダクトについて理解することが大切だったなと思っています。
インターン中期
インターン中期は簡単な文言やロジックの変更と合わせて新規ページや新規機能の追加なども任せてもらえるようになりました。
できるようになったこと
- LP の新規作成やキャンペーン対応などを一人で開発する
ボリュームの大きい改修を一人で任せてもらえるようになりました。
一人で任せてもらうことにより PdM やデザイナー、マーケティングチームの方など部署を超えて色々な方とお話ができるのでさまざまな業務についての理解が深まりました。 - 他の方のコードレビューをする
自分が確認できる範囲でコードレビューを見るようになりました。
コードレビューをすると自分では自分では気がづけないやりかたに気がついたり、他人から見たらどのようなコードが読みやすいかなど、実装する上で新たな視点が広がりました。 - 非エンジニアからの質問に答える
自分が確認できる範囲でソースコードを確認して質問に答えたり見積もりを出したりできるようになりました。 - すり合わせの際に改善案を提示する
少しずつですが、ユーザー目線に立って別の方法を提示したりできるようになりました。
自信がなくても自分の意見を伝えることでそこから新たな議論が生まれることもあるので小さい改善案でも伝えた方が良いと思っています。
反省
- できないことをできないという
技術的にできないことや、期限的にできないことをすり合わせの段階で伝えることが重要だと感じました。 - 要件の理解が不十分な状態で開発を着手していた
改修を行う背景や改修を行う機能についての理解が不十分な状態で改修に取り掛かり検証環境での確認の際に PdM の方と認識のずれが発生していました。
実装に取り掛かる前に気になる点や不安点がある場合はすり合わせを行うように進めています。
現在
現在弊社では、いままで使っていた CakePHP での改修と並行して Nuxt.js / TypeScript へ移行を進めているので新しい技術の勉強をしています。
インターンのすすめ
インターンとして働くまでは「プログラミング未経験の文系大学生だと採用してもらっても会社に迷惑をかけてしまうのではないか」などと考えていました。実際今でも日々迷惑をかけていると思います。
でも、最初はみんな未経験なのでエンジニアを本気で目指している大学生はぜひインターンに挑戦してみましょう。独学で勉強していた頃と比べてはるかに成長を実感できると思います。
さいごに
インターンの振り返りを書きました。
振り返って成長したと感じる部分がある一方、反省で書いたことでまだ至らない部分もあるので精進してまいります。