こんにちは
エンジニアのhiroです。
今回は、エンジニアとしてのキャリアプランについて記事を書いていきたいと思います。
この記事は、こんな人を対象に書いてます。もちろんそれ以外の人でも興味がある方は是非読んでいってください。
- IT業界のどの職種で働くべきか悩んでいる人
- 現在のキャリアで本当に良いのか悩んでいる人
では、紹介していきますね。
20代でコーディングを経験するべき3つの理由
- ITエンジニアとしての基礎ができる
- 30代からの選択肢が多くなる
- 副業の仕事が多くなる
それでは、一つずつ解説していきますね。
1.ITエンジニアとしての基礎ができる
これは私の経験からの結論ですが若いうちにコーディングを経験したことがある人とそうでない人とでは、プロジェクトの遂行能力に雲泥の差があると感じています。
一体それは何故なのか、私の分析ではコーディングを経験していないマネージャーや、プロジェクトリーダーは、下流工程でトラブルが発生したときに、対処するノウハウが少ないからだと考えています。つまり彼らは下流工程でITエンジニアが期限通りに開発を終わらせられない時に、なぜできないのか理解できてないのです。
プロジェクトを進めていき、計画や設計が終わった時に、後は作るだけだから大丈夫、と考えていると大変なことになります。むしろ設計書等をもとに動くモノを作るところが一番大変なところで、現場にいると色々とトラブルが起きたりします。
例えば下流工程で考えられるトラブルとして以下の例が挙げられます。
- 技術者のレベルが足りず技術の課題が解決する目処方たたない
- 見積もりより多くの開発時間が消費され、ギリギリで報告される
- テストしたはずなのにバグが大量に発生している
- エンジニアの残業が常態化し体調不良を起こして人員不足になった
実際には、もっとたくさんのトラブルがどんどん発生したりします。特にプロジェクトの規模や関わる人数が増えるとプロジェクトのリスクは沢山出てきます。
プログラマーとして20代でしっかり経験を積むことで、下流工程でのトラブルを沢山経験することができれば、その辺りのトラブルを事前に検知して予知・予防できるようになります。
また、下流工程で何かしら問題が発生したときに、何が起きているのか、なぜ起きてしまうのか、どうすれば対処できるのかをすぐに判断できるのは、ITエンジニアとしての基礎力が高いからです。
2.30代からの選択肢が多くなる
日本企業特有の文化ですが、30代後半を超えてくるとエンジニアを開発職から管理職にしようとする企業が多いです。
これはおそらく、年功序列の影響があったのではないかと個人的に推察してますが、年齢が上がるごとに給与を上げるために管理職等の役職を付けるという事をしています。
そのため、昇進する=管理職にする、という企業も少なくなく、優秀なエンジニアほど、会社からは管理職になって欲しいと声が掛かるようになることも多いです。
もし20代のうちに、コーディングの経験をして十分な活躍ができている場合、30代からPMや、管理職への昇進も可能性がありますし、開発力が高ければそのままプロフェッショナルとしても活躍できるます。
逆に20代で管理職のみの経歴や、プロジェクトの上流工程のみの経歴を持った場合、30代からシステム開発のエンジニアとしてキャリアを作ろうとすると苦労します。
何故なら技術力を身につけるのには、時間が掛かるからです。企業側からすれば、実務経験を積んできたキャリアのあるエンジニアや、これから長い期間をかけて育てていこうとしている新卒採用、どちらの需要にもマッチしないため開発者として見た場合、強く欲しい人材とならない可能性が高いのです。
3.副業の仕事が多くなる
今は、クラウド上で色々な仕事が受けれるようになっています。例えばクラウドワークスや、ランサーズなどで、システムの開発依頼の仕事があったり、高い時給や月給で開発現場に入って欲しいというものなど色々あります。
20代のうちにコーディングの経験をしっかりと積むことのメリットとして上記のような副業案件を受注できるようになるという点です。
例えば、モバイルアプリやWebシステムの作成依頼は、自分でも開発して動くモノが作る必要があります。
他にも単価の高い開発現場に入るためには、Javaの経験が◯年、Rubyの経験が◯年など、開発の経験年数が基準となっているケースが多いです。
それに対して管理職や、PMなどの仕事の場合は、実際に会社に所属して管理する必要があるものが多いです。何故なら彼らは継続的に従業員やプロジェクトを注視してないと、自分がいない時にプロジェクトが失敗の方向に進んだり、人が辞めてしまったりする可能性があるからです。
管理職やPMがたまにしか様子を見なくても成功するようなプロジェクトやチームは、そもそもの技術力や業務遂行能力が非常に高いため、そもそもあまり管理職自体が必要でない可能性が高いです。
それに対して、システム開発であれば、技術力のあるエンジニアであれば生産性高く仕事をこなす事もできるため、副業として受けれる仕事量や種類が広がる可能性があるのです。
===============
以上、20代でコーディングを経験するべき3つの理由について解説してみました。
この情報が皆さんの人生のお役に立てれば幸いです。
エンジニアとして日本のITリテラシーを高めていきたいと共感して頂いた人は、是非このブログの拡散とyoutubeの方も見ていただけると嬉しいです。
記事を最後まで見ていただきありがとうございました。
執筆者: hiroエンジニア