ライフスタイル

【必見】エンジニアはプログラミング言語を複数扱えた方がいいのか!?

ライフスタイルブログを運営しているミウラ(@miumiu06171)です。

こんにちは、普段はフリーランスでシステムエンジニアをしております。

今日は駆け出しのエンジニアの友人から「エンジニアとして複数のプログラミング言語を扱えた方がよいか?」と相談がありました。

私は「立ち位置と仕事による」と回答したので、その内容をまとめることにしました。

本ブログ記事を見ている駆け出し中のエンジニアの方、またはこれからエンジニアになろうという方の意思決定の参考になればと思います。

立ち位置による(PM/PL/PG)

「エンジニアとして複数のプログラミング言語を扱えた方がよいか?」を回答するために、「エンジニアの立ち位置による」といいました。立ち位置にもいくつかあるのでご紹介します。

システム開発において、どの分野でもこの立ち位置の人がいるので必ずおさえておきましょう。

PG(プログラマー)
PL(プロジェクトリーダー)
PM(プロジェクトマネージャー)

PGの方には、新しくエンジニアになろうとする人、駆け出し中のエンジニアの人、ものづくりが好きで生涯現役エンジニアを志している人が多いです。

PLの方には、PGで培ってきた専門分野やスキルで3~5年以上経験している方が多く、リーダーシップを発揮して数人から数十人のプロジェクトを遂行するケースが多いです。

PMの方には、PGやPLのように専門分野やスキルはそれほどなくても、他の分野でもPMやPLの経験があればプロジェクトにアサイン(任命)されるケースが多いです。

上記のような立ち位置がいることを踏まえて、プログラミング言語を複数扱えた方がよい人を順に表すと以下のようになります。

PG > PL > PM

次に仕事によるケースを見ていきましょう。

仕事による

システムエンジニアの仕事としては、大きく分けて以下のような分野のシステム開発案件の仕事があります。

横に記載しているものが主に使われているプログラミング言語や開発環境になり、分野によって使われる言語も様々です。

Webアプリ/業務アプリなどアプリ開発系:Java/JavaScript/iOS/Android
インフラ系:HTML/CSS/JavaScript/Ruby/PHP/Python/DB
汎用システム系:C/C++/C#
組み込み系:C/C++/Python

 

また、上記を見ていただくとわかるとおり、どの分野のシステム開発であっても一つの言語を勉強していたら大丈夫という時代ではないこともわかります。

これを言ってしまうと「エンジニアなるには言語も複数扱えなければいけないんだ」と思う方もいるかもしれませんが、安心してください。

開発案件は一人で開発することは少なく、開発案件の中でも特定の機能を担当していくのが一般的です。そのため、案件で扱うプログラミング言語を学べばいいのです。

つまり、プログラミング言語を将来的に複数扱う必要が出てくることは多いが、上記の分野から学ぶべき言語をおさえながら、徐々にスキルアップしていけばよいのです。

駆け出し中のエンジニアの方は、ぜひスキルマップを自分で作り、今後どのようにスキルアップしていくか見直す時間を定期的に作るとよいでしょう。

どうしても複数のプログラミング言語を勉強したくない方は、世の中の開発案件ではまだまだJavaを使う案件が多いので、Javaを習得していくことをおすすめします。

まとめ

立ち位置は、あなたが5年以上エンジニアとして経験したときにどの立ち位置でいたいかを考えておくとよいでしょう。

もちろん、これからエンジニアになろうという方はPGとしてプログラミングから勉強することをおすすめします。

エンジニアの仕事については、興味がある分野だったり、将来性がある分野で選んだりする人が多いため、自分の方向性で選択していきましょう。

もし各分野でどのような仕事をしているかわからない場合は、数千円でIT勉強会を開催しているところもあるので、現役のエンジニアの方に話を聞きにいくのも有益です。

このような記事を書いている私もフリーランスになってから初めて勉強したプログラミング言語も既に3つありますので、自分を磨くことを忘れず、エンジニアとしてどのような立ち位置でどんな仕事をしたいかを決めて、プログラミング言語を複数扱えるようにしていくことをおすすめします。