学生エンジニアが長期インターンを終えて感じたこと
はじめに
はじめましてasmgです. 僕は, 普段学生をしながら都内の某ベンチャーでデータサイエンティストとしてインターンをしている学生エンジニアです. 今回は, 約1年3ヶ月長期インターンをやって感じたこと 学んだこと よかったことを記事にまとめていければと思います.
筆者のスペック
商業高校出身の私立地方理系学生(情報系電気専攻)
高校時代に, 情報の基礎を学び, 大学時代はロボット(自律移動ロボット)やセキュリティ(ハニーポット)に打ち込む
※高校時代には, 全商情報処理競技会や全国高等学校 情報処理選手権に出たりしてました.
1年3ヶ月で行った業務案件
長期インターンをしてく中で感じたこと
ハードスキル
① コードの可読性を意識する
コードの可読性の有無は, 個人開発をしているエンジニアと長期インターンとしてお金を貰うエンジニアとの大きな違いだと思います.
例えば, 個人開発をしてくと所詮コードを見るのは自分だけの可能性が高いです. しかし, 長期インターンではチーム開発をすることがあるので誰でも読めるコードを書く意識が必要になります.
point
② 技術選定能力
普段個人開発をしているとこのライブラリ気になるから使ってみようとか, このサービス気になるから使ってみようとかそういう感じで技術を選ぶと思います.
しかし, 実際に会社で技術やサービスを選ぶ場合にはそれ本当に会社に導入して役にたつの? 費用に対して効果は見合っている(費用対効果)?なんかも意識したいといけません. この辺は長期インターンを始めてわかった価値観な気がします.
案件でいうと, BIの選定の時にこの能力を少し磨くことができました.
③大枠としての技術知識の必要性⇨技術知識を誰にでも伝わるように表現する
・大枠としての技術知識の必要性
普段エンジニアと会話をしていると, エンジニア特有の言葉が沢山出てきます. 例えば, このシステムリプレイスしたいんだよね. とか, 今後このシステムマイグレーションしていこうと思うんだよね. とか, これって, 意味としては似てるけと似て非なるものです. こういう言葉の定義をしっかり理解していくことの重要性はインターンをしていく中ですごく感じました. これができないとエンジニアとして会話ができないなぁと感じる場面がインターン中には良く感じました.
・技術知識を誰にでも伝わるように表現する
直近引き継ぎをしている中でこんな会話がありました.
このデータベースには「configのデータが入ってるんじゃないですかね?」みたいな会話がありました. 一見この会話の中で僕が重要なのは, configって大枠何を指しているんだろうという感覚な気がしますが, そうではなくてこれを分かりやすい言葉で例えば「このデータベースには設定データが入っていると思いますよ」など誰にでも分かる言葉で伝えてあげることが重要だなと感じました. これはソフトスキルかもしれません…
ソフトスキル
①最初にアウトラインを引く重要性
僕は, 長期インターンを始めた頃案件が降りてくるとその案件をなんとなく手を動かしながら進めていました. これを聞いて皆さんの中にも自分そうだよ!という人がいるかもしれませんがこれはめちゃめちゃ効率が悪いです.
なんで悪いのか?
例えば, あらかじめ案件をどのように進めていくのかを決めてどんなことをしていくのかを決めればある程度どのくらい時間がかかるかの見積もりができます. また, 何が課題になりそうかを炙り出すこともできます.
そして, 何よりも重要なのは, これをやると最初にある程度案件のステークホルダーとすり合わせることができるのでゴールがブレることがなくなります.
なので, 最初にアウトラインを引くことは重要だと感じました.
②期待値調整の重要性
日々, 色々な業務をこなしていく中で「色々な人とすり合わせる時があると思います」このときに自分が100%だ!と思ってアウトプットを持っていっても以外とそんなことないなぁと感じることが僕はよくありました. これって簡単にいうと, 相手が求めていたものと自分がやったことにギャップがあるということになります.
なので, 相手と自分の感覚を合わせる⇨期待値調整はとても重要だなぁと長期インターン中に良く感じました.
Point
これは, これを感じてから実践していることになるので参考程度に見てほしいのですが, こんなことを実践しています.
③常に一定以上の成果を上げていく
僕は, よくインターンを続けていく中で今日はあんまりやる気が出ないなぁとかスランプだなと思う日が結構ありました. そんな中でふと自分で意識していたことですが, 人間だからやる気が出ない日があることは当たり前. でも, お金を貰っている以上, 一定程度の成果は出さないといけないなと感じていました.
具体的に, 僕が実践していたことは
こんなことを意識して長期インターンに臨んでいました.
結局インターンをして何が一番よかった?
技術面
僕が, 一番インターンをしてよかったなと思うことは, 実際に社会で動いているシステムがどのように動いているかまた, どのように開発されているかを見ることができたことではないかなと思います.
これは, 正直個人開発では味わうことができない経験なのではないかなと思います.
また, これ一通り見て自分の技術にできたらさらに良いエンジニアになれるのではないかなと思います. 実際僕も一年半前と今を比較すると沢山の学びや成長があったなと感じます.
その他
これは, もしインターン先に同じ世代のエンジニアがいればという前提の話になりますが, 同じエンジニアという枠で切磋琢磨できるというのも長期インターンのメリットではないかなと思います.
実際僕も, 長期インターンをしていく中で沢山の人と出会い色々な知識を知り沢山の成長ができたなと感じることが多いです.
大学生活や専門生生活ではきっとなかなか味わうことができない経験だと思います.また, 自分の技術ってどのくらいなのか指標を測るという意味でもとても良いと思います.
最後に
この記事は, 僕の経験をベースに書いた記事になるので全ての人に当てはまるかはわかりませんが, 皆さんの長期インターンを決める為の参考にしていただけますと幸いです.
この記事が気に入ったらサポートをしてみませんか?