8/1から11/29まで4ヶ月間株式会社DONUTSでエンジニアインターン(アルバイト)していました。
実務において必要な能力
色んな意見があると思いますが、僕は社員に質問できる力と自分で技術を学ぶ姿勢だと思います。(2019年末時点)
もちろん経験や技術力やコミュニケーション能力なども必要ですが、絶対的に必要だと思うのは上の2つです。
社内の技術や開発で必要な知識(どんな流れで開発するとかファイルの構成など)はネット上に載ってないし、ソース内やフォルダの中身を探し始めたら時間がかかりまくってしまいます。
僕は初め
「社員の方が給料もらっているし技術力もあるし質問したら申し訳ない」
と思っていましたが、質問しないでいると給料に見合った仕事を出来ないのも事実です。
会社のためにも自分のためにも、分からないところがあればすぐに聞く方が後々効率が良くなります。
ググったら出てくることを聞くのはNGですけどね。
実務で苦しんだこと
まず初めに、ファイルの構成に苦しみました。
どのフォルダにMVCのどの部分が入っているか分かりませんでした。
この挙動がどの関数を経由しているか分からなかったし、エラーもどこで出ているか分かりませんでした。
エンジニアの仕事と他の部署の仕事の区別がつかなかったこともあります。
これらは社員に聞けば速攻で解決できるので早く聞けば良かったと思います。
単純に技術力が足りずコードを書ききるまでに時間がかかりまくったこともあります。
実務に携わったことで得た経験値
昔から運用されているゲームだからこそユーザが離れない事実を肌で感じることができました。
エンジニアとしては技術力を高められましたし、開発の流れや会社の空気感を知れました。
仕事に対する姿勢や社会人のあり方、IT会社の転勤事情、ビジョンを持って仕事をしている人がいることを知れました。
同期のアルバイトの子が平日フルで仕事していて、その上土日も自分のプロダクト開発や技術力を上げるためにアルゴリズム力を培っていたりしてもの凄く刺激を受けました。
大学で自分の立ち位置を測るより実務に参加している人がどの程度行動しているか、どの程度力があるかを知ることが自分の成長にもつながると思います。
めちゃくちゃプログラミングができる(実装力がある)社員の方が自分はまだまだとおっしゃっていて、自分のプログラミング力がどの辺りにあるかを客観的に把握することができました。
これらは会社に入らないと分からないことですね。