![見出し画像](https://assets.st-note.com/production/uploads/images/89734927/rectangle_large_type_2_18fd61839dab2459c62ff9df91543352.jpeg?width=1200)
エンジニア初心者は「インフラエンジニア」と「開発エンジニア」のどちらを目指すべきか
エンジニアを目指しています!という方からインフラエンジニアになるのが良いのか、開発エンジニアが良いのか質問をいただいたりします。
異業種からIT業界へ転職を目指される方のお話を聞いていると、開発、特にアプリ開発やWeb開発の希望者が多い傾向にあると感じます。
自身の作ったコードが、「書いた通りに動いて」、それが「目に見える」ということで、アプリやWebサービスの開発に携わりたいと考えているのかと思います。
実際、エンジニアを目指すための方向けのスクールでは成果物として何かしらのwebサービスのクローンを作ることが多いようですし、インフラエンジニアよりは開発エンジニアのほうが身近な分野なのではないかと思います。
もちろん、スクールでもインフラ関連の勉強は実施するようですが、メインは開発ですね。
このこと自体は納得できることなので、特に違和感もありません。
私は約20年のエンジニア経験で、インフラ・開発の両分野をやってきています。その経験から今回の「インフラエンジニア or 開発エンジニア」というテーマについて考えたいと思います。
メンバーポジションとして60歳まで現場で活躍しやすいのはどちらか?
この問題、自分で取り組もうと考えておきながらで恐縮ですが、直接の回答は正直難しいと感じます。
そこで視点を変えてみます。「同じ仕事を続けるなら、60歳まで現場で活躍しやすいのはインフラエンジニア、開発エンジニアのどちらか?」を考えてみます。
活躍し続けるためには常日頃からの勉強が必要です。現役のITエンジニアには当たり前のお話になりますね。
使用している製品のバージョンが新しくなったり、これまで存在しなかった新しい製品がでたりとするので、その都度学習しながら仕事を進めることになります。ここはインフラエンジニア・開発エンジニアに共通するお話しです。
活躍し続けるためにはインフラエンジニア・開発エンジニアともに勉強が必要。
それでは必要となる勉強量についてはどうでしょうか?
短期的には両者ともに大きな違いはないのではないかと思います。
では長期ではどうなのか。人によって見解がわかれそうですが、取り組む分野の数次第になる思います。
それぞれの分野についてですが、インフラでは主要どころでいうと、Linux、Windows、クラウド。もちろんクラウドも複数ありますがAWS、GCP、Azureあたりが主要ですね。
開発では主要どころといってもJava、PHP、Ruby、Swift、Kotolin、、、等々、複数あります。種別で言うと開発のほうが多いのではないでしょうか?
それぞれ、いくつの分野・言語に取り組むかによって、結果は変わってきそうです。
取り組む数が多ければ多いほど勉強量が多くなるという当たり前の結果になってしまいました。
ちなみに、私自身は開発関連のほうが勉強量が多くなっています。
好きで取り組んできたこともあり、C、Java、PHP、Objective-C、Swift、Python、Dart、HTML、Javascriptといった言語あたりで製品開発をしてことが原因です。
インフラについてはエンジニアの初期のころに学んだLinuxやWindowsの知識がいまだに現役で使えますし、クラウドやKubernetesなどの新しい技術は出てきているものの、考え方が大きく変わるわけではないので、勉強量はそこまで多くなかったと感じております。
![](https://assets.st-note.com/img/1667026610360-XUAtJKcXU4.jpg?width=1200)
インフラエンジニアを目指す?開発エンジニアを目指す?
「同じ仕事を続けるなら、60歳まで現場で活躍しやすいのはインフラエンジニア、開発エンジニアのどちらか?」という質問については、「活躍するための勉強量は取り組む分野の数次第。」の前提を置き、「ご自身の好きな分野に取り組み、勉強を継続していく人が活躍しやすく、インフラエンジニア・開発エンジニアのいずれが活躍しやすいかは一概に言えない。」と結論させて頂ければと。
「好きこそものの上手なれ」といいますし、興味のある分野に取り組むことは大事です。
最後に、それぞれの分野を目指す方へのアドバイスを1点ずつだけ。
インフラエンジニアになりたいと考えている方へのアドバイス
Linuxの基本とAWSに取り組むことをオススメします。
Linuxの基本というとLPICやLinuCの話が挙がりますが、LPIC-3やLinuC レベル3までは取得する必要はありません。
開発エンジニアになりたいと考えている方へのアドバイス
メインとなるプログラミング言語については絞りましょう。
学習面やご自身の市場価値の観点からのお話になります。
とはいうものの、やってみないとわからない部分も多くありますので、色々試してみるのは大事です。
インフラも開発もやりたい人向け
未経験の状態からいきなり両者をやるのはハードル高めです。まずは興味のある方(インフラor開発)から取り組み、ある程度技術がついてからもう一方を取り組むことをオススメします。