ITエンジニアにとってスキルアップとは?
ITエンジニアにとってスキルアップは、その人のキャリアプランや人生目標によって様々だと思います。また、その目標到達への通り道も様々でしょう。
- フロントエンドエンジニアを目指す
- バックエンドエンジニアを目指す
- インフラ系エンジニアを目指す
- フルスタックエンジニアを目指す
- iOS、Androidアプリエンジニアを目指す
- プロジェクトマネージャーを目指す
- ITコンサルタントを目指す
- 英語を使うIT職を目指す
などのようなキャリアの目標があるでしょうか。
結局はその人が何をやりたいか、どのような人生を送りたいか、ということになってくるかと思います。
そんな中、このページでは、私がもし20代、30代の駆け出しのITエンジニアで、これからキャリアを積んでいくならどうしようか、ということを書いていきたいと思います。
目標設定
私なら、
1.トレンドを意識したフロントエンドエンジニアorバックエンドエンジニアをやりつつ、
↓
2.インフラ系も社内、個人開発でスキルをためて、
↓
3.フルスタックエンジニアを目標としながら、
↓
4.チャンスがあったら、PL(プロジェクトリーダー)、PM(プロジェクトマネージャー)をやらせてもらい、
↓
5.50代、60代に備える
ですね。
トレンドを意識したフロントエンドエンジニアorバックエンドエンジニア
IT業界のトレンドに合ったフロントエンド、バックエンドのエンジニアは基本的に食いっぱぐれることはないと思います。
今なら、GoとかPythonとかTypeScriptとかJavaScript(React、Angular、Vue.js、jQuery)とかですかね。
まずはこの辺の技術がさわれる仕事に関わりたいです。そして一人称でモノが作れるようなスキルを手に入れたいですね。
大規模開発でない場合、フロントエンド、バックエンドどちらも関わることも多々あるので、バックエンドエンジニアだからといってJavaScriptはまったく知りません、というようなことは今や通用しないのではないかと思われます。
web系は特に、どちらも知ってないと仕事にならないようなプロジェクトも多いです。多いということはそれだけ需要があるということで、つまり、
トレンドなバックエンド言語+フロントエンド言語
はもはや必須ですね。
あとはSQL。基本的にはバックエンドのスキルにはセットで必須と思っていていいと思います。
フロントエンド、バックエンドのエンジニアが案件をさがすならこちらがおすすめです。
インフラ系技術も社内、個人開発でスキルをためる
インフラ系技術ってここでは何を指すかというと、
DB
● MySQL、PostgreSQL、Oracle、SQLServerなど
環境系(DevOpsとか)
● CI/CD(ビルド、テスト、デプロイ関連) Jenkins、CircleCI、TravisCI、AWSCodeBuild、GCPCloudBuildなど
● 開発環境
・Vagrant、Docker、Kubernetesなど
● バージョン管理
・Git、GitHub 、GitLab、Subversionなど
サーバー関連
● Linux、WindowsServer、AWS、Azure、GCPなど
これらを使って環境を構築したり、チューニングしたり、監視したり、テスト・本番環境作ったり...環境系のいろいろです。
この辺は実際やってみないと身に付きません。
しかし、ほとんど個人でも体験できちゃうんですよね!今って!
いやー、なんていい時代なんでしょう!
なので、この辺を勉強したいなら何はともあれ、自分で構築してみる!ってのがいいと思います。
そして、もし、社内でチャンスがあったら、「わしにやらせてみんかい!」と心のなかで声をあげて(笑)、立候補しましょう。
あるいは社内で上長との個人面談とか、個人目標設定とかありますよね?
そのときに例えば「最近はAWS、Kubernetes興味があり、個人で試している。機会があったら、コンテナを利用した環境系を実践でやってみたい」みたいな話をしてしまえばいいですね。
いつかきっとチャンスは回ってきます!
今すぐではないかもしれません。数年後かもしれません。今いる会社じゃないかもしれません。
でもやったことはきっと役に立ちます!応援しています!
フルスタックエンジニアを目標とする
ここまでできたらもうフルスタックエンジニアっていっていいでしょう!(笑)
(笑)というのは、ちょっと気が早い気がするので、という意味ですが、でも結局一人で環境構築からフロントエンド、バックエンドのサービスを作って、デプロイして、本番運用して、運用して、、、というのができるのがスタートですから。間違ってないです。
そして、実際に取引先のプロジェクトでこれを行うには、それなりの経験がいると思います。
ます、いきなり実戦経験がないのに任せてはくれません。
ですので、例えば、始めはフロントエンド、バックエンドのプログラマーで参画して、そのうちそのシステムも理解していく中で、サーバー管理、運用もやらせてもらって、さらにそのうち、プロジェクトでサブシステムを作ることになって、じゃあ、あなた、インフラアーキテクチャ部分もよろしくね!みたいなことになって...
となってくると、そのプロジェクトが終わった時、経歴にかけるんですね。
しかし、自分で経験してみる、触ってみる、というところがスタートなので、ぜひやってみましょう。
チャンスがあったら、PL(プロジェクトリーダー)、PM(プロジェクトマネージャー)
年を取ってくると、経歴がプログラマーだけではきつくなります。
単価もそうですが、多くの企業はある程度経験がある人に求めるのは、システム開発の全体像とかを理解して、マネジメントする人になってきます。
会社に勤めていても、もし社員が単価の安い仕事しかしてくれなかったらその社員は、ざっくりいうと、少ししか稼がないのに給料は高い社員になってしまいます。
若手はどんどん入ってくるのですから。
そこで、チャンスがあったらPL(プロジェクトリーダー)、PM(プロジェクトマネージャー)はぜひやりましょう。
やってみて、最悪失敗してもいいです。
PL、PMを経験したという事実が残ります。
それが、そのうち転職やキャリアアップに効いてくるのです。
ぶっちゃけ、ITエンジニアは経歴書をいかに充実させるかです。
今は転職したいと思っていなくても、何が起こるか人生わかりません。
転職するかもしれないし、フリーランスになるかもしれないし、起業するかもしれません。
PL、PMは経験できるときに経験しておきましょう。
そして、経験できた後には、もしかしたら大変だったかもしれませんが、経歴書が充実するだけではなく、自身の人生の経験値として有意義な体験になるかもしれません。
50代、60代に備える
さて、50代、60代は一体どのようになっているでしょうか?
あなたのライフスタイルはどのように変化していくでしょうか?
暮らせるだけの年金はあるでしょうか?それまでに人生あがっちゃおうと頑張っているところでしょうか?60代でも働く気満々でしょうか?体はそれまで健康でしょうか?
先のことはわかりませんね(笑)
でも、スキルアップを続けていれば、希望はあります。
スキルアップって学ぶってことなので、そういう学ぶ姿勢をつづける50代、60代であれば、道はひらける気がします。
目標は変わるかもしれませんし、変わっていいと思います。
それでも目標をもって学ぶ姿勢をもっていれば!そうありたい、と私も思います。