筆者は、IT業界で人事を約3年間務めてきました。
採用面接を行っている際に、エンジニア志望の方や若手エンジニアの方によくこんなことを聞かれます。
「御社に入社するには、どのコンピュータ言語を勉強すればいいですか?」
結論からお伝えすると、おすすめの言語は、個人の志向やどの程度の報酬を期待しているか等によって変わるので、答えはありません。
しかし、他の会社の採用面接ではこんなことを言われることがあるようです。
「JavaやPHPなどのOpen系言語を勉強すると今後のためになるよ!」
筆者は、上記のようなアドバイスを”会社にとって良いアドバイス”だと考えています。つまり、必ずしも本人のご希望や目指すものを実現できるような答えではないということです。彼らが上記のようなアドバイスをするのは、JAVAやPHPなどのOpen系言語を習得した若手エンジニアは需要が大きいため、会社にとって「利益が出る」エンジニアになるからです。
本記事では、上記のような会社都合のアドバイスに惑わされず、エンジニアとしてのキャリアをしっかりと「自分で」考えるための知識を提供したいと考えています。これからエンジニアを目指そうと考えている方や、スキルやキャリアに悩みを抱えている若手のエンジニアの方にご覧頂きたいと思っています。
コンピュータ言語とは
コンピュータ言語とは、コンピュータを動かす際に用いられる人工言語です。厳密にはプログラミング言語と区別しますが、区別されないこともあります。
現時点で、コンピュータ言語は、古いものも含めると200種類以上存在します。一つ一つに適した用途が存在し、すべての言語を扱えるエンジニアは存在しません。
例えば有名な言語のひとつに「C#」という言語がありますが、C#なら「Windows環境でのアプリ開発」によく使われます。
全てを網羅するのは難しいので、今回はその中でもこれからエンジニアを目指そうと考えている人が、特に知っておくべき言語であるOpen系言語の代表的言語について説明します。
Open系言語とは、「新しいシステムを動かすための言語」と解釈頂いても最初は特に問題ありません。Open系言語の前は「COBOL」に代表される汎用系言語と呼ばれていました。以前は、企業の業務システムを構築する際、セキュリティに考慮して、ほとんどの場合、オンプレミス(企業が独自にシステムを構築・運用すること)でのシステム構築を行っていました。しかし、オンプレミスのシステム構築では「すぐに最新のものに更新できない」「コストが高い」などの問題があり、コストでも優位なOpen系のシステム構築へ移行していきました。Open系であれば常に最新のものに更新されており、コストも比較的安く済むので、最近ではOpen系言語がコンピュータ言語の主流になっています。その中でも日本での需要が高い言語は以下の言語です。
<求人数ランキング>(弊社調べ)
No. | プログラミング言語 |
1 | Java |
2 | PHP |
3 | Ruby |
4 | C# / C#.net |
5 | JavaScript |
TOP3の言語は聞いたことがある人も多いと思います。上記ランキングで、求人の平均年収と求人数が記載されているので、求人需要と平均的な報酬水準を確認頂けると思います。
上記は平均値なので、その言語を使用できるエンジニア全員が平均年収の幅に収まっているわけではありません。実際には、システム構築のどの工程を担当している会社に所属しているのかに応じて、報酬額はかなり変動します。次からは、言語の特徴を説明します。
1. JAVA
Javaは一般に「様々な開発環境下でのアプリ開発」で用いられます。但し、その互換性と汎用性の高さからそれ以外にも広範囲に活躍できる言語です。
その汎用性の高さは開発言語で何を使えばよいのか迷ったら、「とりあえずJava」と考える人もいるくらいです。
例えばTwitterやEvernoteなどはJavaによって開発されています。
報酬についてお伝えすると、Javaは広く普及しているので、扱えるエンジニアの数も多く、相場はほぼ固定されています。未経験の方がすぐに高い報酬得ることを期待できる言語ではありません。しかし、活躍できる幅は最も広いので、マスターしておいて損はありませんし、少なくとも今後10年間は需要が冷え込むことなないことが予想できます。
習得難易度については5段階評価で「4」です。
Javaは各言語と比べても最も多く書籍が出版されているので、勉強法で困ることはないでしょう。一方で、コードが複雑で覚えることも多い言語です。さらに、業界に競合のエンジニアが数多くいることもあるので、「経験者」として選考されるためには、2~3年の業務経験が必要になることが多いです。
こんな方にJava習得をおすすめします。
- 安定的に働いていきたい方
- 突出した報酬を期待していないものの安定的な報酬を得たい方
- 将来的に様々なフィールドで活躍したい方
- ゆっくりコツコツとキャリアを積んでいきたい方
2. PHP
PHPは一般に「WEBサービスの開発」に用いられる言語です。広く普及、認知されていて、Web系言語の代表格として人気の言語です。
例えばFacebookは、元々PHPによって作られています。
Javaと同じく、Web系サービスの開発環境で、まずはPHPが最優先で採用される言語です。
報酬についてもほとんどJavaと変わりません。こちらも今後10年間は需要が冷え込むことが無いと思います。
習得難易度は5段階評価で「2」です。
PHPはコードが比較的簡単で覚えることもそこまで多くはありません。初めて開発を行う方の場合、ソースコードを書く前に開発環境を用意しないといけませんが、環境整備が最も簡単です。更に書籍も多く出版されているので勉強法についても困ることはほとんどありません。
こんな方にPHP習得をおすすめします。
- 安定的に働きたい方
- すぐにエンジニアとして活躍したい方
- WEB系で活躍したい方
- 突出した報酬を期待していない方
3. C++
C++は一般に「ゲームやスマホアプリ、大企業の業務システム開発」に用いられる言語です。その用途特性から、特に若い方に人気の言語です。
最近ではIoTの分野でも使用されている言語です。
例えば、Google社のChromeはC++で作られています。
報酬については、かなり習熟度に左右されます。C++は言語の中でも比較的難しい部類です。そのため、エンジニアとしての経験やノウハウが問われる言語です。
ゲーム開発のプロジェクト等では、報酬について大きく幅があり、100万円/月を超える報酬の仕事もあれば、かなり低水準の報酬も多く見かけます。
習得難易度は5段階評価で「5」です。
C++を扱うには基本となるC言語の学習の必要もあります。
ソースコードは複雑で開発環境を整えるのも初心者の方には難しいです。
その分Javaなどに比べて高速処理が可能でマスターすれば一人前ともいえるでしょう。
こんな方にC++習得をおすすめします。
- エンジニアとしての資質に自信がある方
- 高い報酬を期待している方
- すでにある程度のITスキルの素養がある方
- ゲーム開発などの分野で仕事を発揮したい方
4. Ruby
Rubyは一般に「Webサービス分野における開発」で使用されます。非常にシンプルで感覚的にも覚えやすい言語になので、プログラミング初心者の方に非常に人気の言語です。
例えば、「食べログ」「クックパッド」はRubyで作られています。
報酬については比較的高い報酬を得られる言語といえるでしょう。というのもRubyは国産の言語で開発者のまつもとゆきひろ氏が1995年にリリースした言語で、コンピュータ言語の中では、新しい言語に分類されます。よって、ベテランエンジニアでRubyを扱えるエンジニアは多くありません。良いプロジェクトにつくことができれば、他のエンジニアより高い報酬が期待できます。ですが、最近報酬水準や需要が減速している傾向なので、この状況が長らく続くことはないと筆者は考えています。
習得難易度は、5段階評価で「2」です。
記載した通り、国産の言語なので、日本人には理解しやすいと思います。
非常にシンプルで無駄がない「Ruby on rails」というフレームワークの登場で、さらに使いやすく進化しています。
こんな方にRuby習得をおすすめします。
- エンジニアとしての経験をこれから積もうと考えいている方
- すぐに高い報酬を得たい方
- Web系で活躍したい方
- 若い方が多い会社で働きたい方
5. Python
Pythonは、様々なアプリ開発の現場で使用されていますが、近年ではAI・機械学習の分野で用いられることが多い言語です。こちらも若い方に人気の言語で、近年注目が集まっている言語です。
例えば、「YouTube」「Instagram」などはPythonで作られています。
こちらも高い報酬を期待できます。ですが、これは飽くまで「AI・機械学習分野」での話です。世界的にAI・機械学習が今多くの投資をされているのでその分エンジニアへの対価も高くなっています。
エンジニア経験がない場合にはAI分野のプロジェクトに参画できるのは稀です。なので、一般的なアプリ開発のプロジェクトに参画する場合は、JavaやPHPと変わらない水準の報酬といえるでしょう。最近よく話題に上がる「データサイエンティスト」と呼ばれる方がよく使用している言語です。
習得難易度は5段階評価で「3」です。
Pythonは、1991年にオランダ人によって開発された言語で新しい言語のひとつです。コードも読みやすく、シンプルです。多くのフレームワークが使えるので、初心者の方におすすめの言語です。
こんな方にPython習得をおすすめします。
- 将来的にAI・機械学習の分野で活躍したい方
- 高い報酬を期待する方
- モダンな雰囲気の会社で働きたい方
- ハイレベルな環境で働きたい方
6. COBOL
COBOLはオープン系言語ではありませんが、一般に「汎用機のプログラム」に使用されている言語です。汎用機とは、PC以前の大型コンピュータエシステムのことを指しています。COBOLは、汎用系言語の代表格の言語で、1959年に開発されてオープン系が主流になる前に広く使われていた言語です。昔の言語なのであまり人気がなく、現在では使用出来るエンジニアはあまり多くありません。
報酬については安定的な報酬が期待できます。
現在、新たな開発プロジェクトを立ち上げる際に使用言語としては候補に挙がらない言語なので、今後の需要の伸びについては期待できません。大手企業では、昔のメインフレームが未だに多く使用されている事もあり、仕事自体はしばらくなくならないと思います。また、 COBOLを扱っているエンジニアは、安定的に稼働しているプロジェクトに参画する場合が比較的多いので、残業や休日出勤なども少ないという特徴があります。
こんな方にCOBOL習得をおすすめします。
- 残業をしたくない人
- それほど高い報酬を期待していない人
- 汎用機(要説明)に興味のある人
おすすめのIT系資格
資格は、エンジニアにとって、自分の知見を簡単に証明することができるという意味で非常に価値があります。基本的にどの工程を誰に任せるかはPM(プロジェクトマネージャー)などの上流工程を担当している方が決定します。決定の際に、資格を持っていると仕事を任されやすくなります。
ここでは、初心者の方が学ぶべき資格について記載します。
ITパスポート / MOS
IT業界未経験の人でおすすめの資格として、代表的なもので「ITパスポート」と「MOS」という資格があります。
ITパスポートは、国家資格である情報処理技術者試験の一つです。
「パスポート」と名にある通り、エンジニアを目指すうえで最低限の分野の学習をすることになります。MOSとは、Microsoft Office Specialistの頭文字をとってMOS(モス)と呼ばれている資格です。簡単にいえばExcelとWordの専門資格です。
スペシャリスト(一般級)とエキスパート(専門級)に分かれていて、エキスパートの資格はかなり難易度が高いですが、スペシャリストであれば初心者でも準備をすれば取得可能な資格です。エンジニアとして働いている方は、入社時に上記二つの資格を取得することを勧められた方も多いのではないでしょうか。
ITパスポート / MOSの資格取得をおすすめしたい方はこんな方です。
- PCをほとんど触ったことが無い人
- コンピュータ言語を勉強する前にまずは基本的なITスキルを身につけたい人
- 何も資格をもっておらず転職の際に何か武器を持っておきたい人
- 何から始めたらいいか考えてもわからない人
初心者の方向けの資格ですので、すでにある程度のスキルをお持ちの方は、次に紹介する資格を取ることを目指されてもよいかもしれません。
その他初心者が優遇されるIT系資格
以下に記載する資格を取得しておけば、IT企業に転職して最初に配属先を決める際に優遇される可能性が高いので、すぐに現場で活躍していきたい人にはお勧めの資格です。
- ITIL系資格
- CCNA系資格
- LinuC(旧称はLPIC)
- 基本情報技術者
上記4つの資格は、実際にキャリアを構築しはじめるのに有利な資格ですが、どの資格も勉強してすぐに取得できるような資格ではないので、言語の勉強も同時に取り組んだ方がいいと思います。実際にプロジェクトに参画した後、必要に応じて取得する方が効率は良いので、余裕のある方は挑戦してみてください。
まとめ
いかがでしたでしょうか。
現在、日本のIT業界は人材不足に悩まされているので、エンジニアに転職するのはそれほど難しいことではありません。一方で、エンジニアに転職した後のキャリアを充実させることができていないエンジニアはとても多いです。
「エンジニアになって手に職をつけたい」
という転職者の方は多く見てきましたが、エンジニアになっただけで、収入が保証されるわけではありません。エンジニアになった後に、新しい技術の知識習得に励み、自己研鑽を積むことが何よりも大切なことです。そのためには、適切な職場選びが重要です。ご自身の望むようなキャリアを描くことは、若手エンジニアや未経験の方にとっては、難しいことです。重要なのは「どのような働き方をしたいか」をよく考えて、自ら選択することです。進路に悩んでいらっしゃる方や、情報不足を感じられている方は、是非、弊社にお問合せ頂ければと思います。
麻生哲
㈱ガリバーインターナショナルでの営業経験を経て、IT業界へ転身。
独力でIT知識を勉強し独立系SIerに転職。同社にて営業・人事・子会社の立上げ等を経験し、現在はコンサルティングファームの設立のための組織構築を担当。