文系出身・開発未経験エンジニアが入社から5年間で実践した学習法
この記事は「ニフティグループ Advent Calendar 2023」 20日目の記事です。
はじめに
こんにちは。ニフティライフスタイルでモバイルアプリ開発を担当している、新卒8年目の5_21maimaiです。
実は私は、もともと文系の大学生で開発経験はほぼ無かった状態で新卒入社しました。入社してからエンジニアを目指して開発の勉強を本格的に行い、今ではチームのリーダーになり、アプリエンジニアとしてのキャリアを歩んでいます。
今回は周りよりも技術力が低かった入社時から努力したことで、効果があったものを3つ紹介したいと思います!
また、この記事は NIFTY Tech Day 2023 にてLTで発表した内容になります。スライドもあわせてご覧ください!
実践したこと
① 毎日草を生やす活動をする
「草を生やす」というのは、GitHubにコミットすることです。GitHubはコミットすると自分のGitHubのプロフィールにあるコントリビューションカレンダーの該当の日付が緑色に変わります。
毎日コミットを続けるとカレンダーが緑色になり、草むらのようになります!
入社当初の私は、毎日仕事の後勉強しようと思っていても、疲れてなかなか家では勉強ができない状態でした。そこで、まずはプログラミングをする習慣を身につけるために、毎日1コミットだけでもコードを書く活動をやってみることにしました。
決めたルール
- 個人のGitHubに1日1コミットする活動を1年続ける
- Project Eulerというプログラムで解く問題集を順番に解いていく
- 時間がなくても、なんでも良いのでコミットする
時間がない時は電車の中でスマホのブラウザからコミットしたりして、どうにか毎日コミットを続けることを意識しました。
結果はこちらです!306日/365日(約83%)はコミットすることができました。時々できなかった日もありましたが、概ね草むらにはなったかな…と思います。
この活動を行ってよかったこと
- 学生時代学べなかったアルゴリズムをProject Eulerを通して勉強できた
- 継続的にコードを書く習慣を身につけることができた
- 「毎日コミットを続けている」ことで自己肯定感が上がり、エンジニアとしての自信がついた
② コンピュータ科学を学ぶ
皆さんは、エンジニアのスキルを上げたいと思ったときにどのような勉強をしますか?一例としては、プログラミングの本を買って読んでみたり、何かサービスを作ってみたり、勉強会に参加して知識を得たり…という勉強法があるのではないかと思います。
ただ、このような勉強だけだと、プログラミングはできるようになっても、CPUとメモリとハードディスクの違いや、ネットワークの仕組みなど基本的なコンピュータの動きがわからないままになってしまうかもしれません。
そこで私は、学生時代学んでこなかったコンピュータ科学の基礎を勉強することにしました。
本を読む
まずは同期や先輩からおすすめの本を教えてもらい、以下の本を購入して読みました。
- 入門 コンピュータ科学 ITを支える技術と理論の基礎知識
- 基本的なコンピュータ科学を網羅できるため
- ネットワークはなぜつながるのか
- ネットワークの仕組み、全体像を掴めるため
HTTPサーバーを自作してみる
サーバーにリクエストしたものがどのようにしてレスポンスされるのかを身をもって学ぶために、HTTPサーバーを自作してみました。調べると記事もたくさんヒットするため、私の場合は丸3日である程度動くものを作ることができました。
この活動を行ってよかったこと
- コンピュータ科学の基礎をしっかりと学んだことでエンジニアとしての土台ができたので、自分のプロダクトで問題が起きた時の調査の手がかりとして知識を活かせるようになった
- アプリ内でメモリリークが起こったときの調査
- アプリで使っているAPIのメンテナンス
- などなど…
③ 何か1つでも自分が輝けるものを探す
システム開発の仕事は開発をすることだけではありません。これなら○○さんが一番わかる!というポイントを探してアピールしましょう。アピールできるものはスキルだけではなく、システム構成やプロダクト独自の仕様に精通していることなども十分強みになると思います。
私の場合は「担当しているアプリについて一番詳しい人」を目指して配属時から業務をしました。
まずはアプリの仕様を細かく把握して他チームから頼られる存在になることを目指しました。その後実装力が追いついてきて、アプリの開発担当として自信が持てるようになりました。
また、積極的に登壇することも自信になります。私は新卒4年目の時に「iOSDC Japan 2019」というiOSアプリのテックカンファレンスに登壇しました。学んだことを披露する経験は、現在もエンジニアとしての自信に繋がっています。
Tech Dayで発表してみて
以上が NIFTY Tech Day 2023 のLTで発表した内容です。Tech Day当日は大変緊張しましたが、時間通りにLTを終えることができてホッとしました。
内容が初心者向けということもあり、「これから開発の勉強をしようと思っているので参考にしたい」とエンジニア以外の方からの反響が大きかったです!また「新人エンジニア教育の参考にする」との声もいただけました。
新卒入社して8年目になり、後輩エンジニアの入社が多くなりました。今後は自分がやってきた学習法を他のメンバーにも伝えていきたいです。
さいごに
他にもさまざまな取り組みをしてきましたが、大きく成長できたのはこの3つの取り組みでした。
同期や先輩のスキルが高くて自信が持てない方や、これからエンジニアを目指す方には是非参考にしていただけると嬉しいです。
逆に、自分はエンジニアスキルに自信がある!という方は、周りでレベルアップしたいと考えている人がいたら、アドバイスの材料にしてもらえると良いなと思っています!
掲載内容は、記事執筆時点の情報をもとにしています。