エンジニアへジョブチェンジし、転職をしたいとお考えですか?エンジニアと一言で言ってもその分類は多岐にわたり、どのような分類が存在し、これから必要とされるスキルは何か、またどのようなエンジニアが今後市場価値を伸ばしていくのかということを認識しなければいけません。
さらに、そのような人材になるためにはどのような準備をしておく必要があるのかということも重要になります。
この記事では、未経験者がエンジニアへのジョブチェンジを効率的に成功させ、適切な転職ができるように情報を解説していきます。
ニーズが高まるエンジニアとは?職種別に解説
まずはエンジニアにはどのような種類があり、どの種類に該当するエンジニアが今後ニーズが増加傾向にあるかを見ていきましょう。
エンジニアがプログラミングをする際にはプログラミング言語を使ってシステムを開発します。例えば、TwitterはRuby/Ruby on Railsを使って開発されていたことで有名で、現在はJavaを使っています。
FacebookはかつてPHPという言語を使っていました。InstagramやPinterestはpythonというアメリカで最もホットな言語を使って開発されています。また、iPhoneアプリはObjective-CまたはSwiftを使って開発され、AndroidアプリはJavaが主に使われています。
このようにサービスによって使用している言語はバラバラで、国によってもそのトレンドは異なります。まずはこのように色々な種類のプログラミング言語が存在することを頭に入れておきましょう。
次に、技術的なトレンドも頭に入れておく必要があります。例えば、日本ではiPhoneアプリ開発は未だ活発で、iOSアプリ開発エンジニアのニーズは強いです。一方、海外に目を向けた際には、欧州や東南アジアなどではAndroidアプリ開発の方が活発です。特に東南アジアなどは急成長マーケットであるため、日系企業も進出していることが多く、そういった理由からAndroidアプリ開発のエンジニアも貴重な存在です。
さらに注目すべき技術トレンドは「機械学習」です。機械学習とは「人工知能における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。- wikipediaより」とあるように、コンピュータが人間のように自律的に学習し、アウトプットを行う技術のことを指します。昨年からバズワードとなり、各種メディアにも取り上げられ、今年のホットトピックの1つとなっています。
第三に知っておくべき知識は、エンジニアの中での職種分類です。エンジニア未経験の方からするとどのエンジニアも同じような仕事をしているように見えるかもしれませんが、実は内容は大きく異なっています。具体的には、アプリケーションを開発することを主とするアプリケーションエンジニア、サーバー関連を主に扱うサーバーサイドエンジニア、システム全体のインフラを管理するインフラエンジニア、デザインなどに関わる部分を担当するフロントエンドエンジニアなどが存在します。
このような点を整理した上で、どのようなエンジニアが必要とされるかを見ていきましょう。
まず、プログラミング言語に関しては、RubyまたはPython、Swift、Javaのいずれかが未経験の方にとっては良い言語だといえます。
SwiftはiOSアプリ開発専門の言語ですが、アプリ開発は今後も活発に行われることが予想されるため、陳腐化しない言語でしょう。
JavaはAndroidアプリ開発に加え、その他のシステム開発にも使用されているため、一度身に付ければ幅広く使えるシーンがある言語です。
Rubyは日本で最も人気のある開発言語のうちの1つで、Webサイト開発やAPIの開発などに使用します。ネイティブアプリの開発が進む中、見落とされがちなのがAPI(サーバー)サイドの技術習得です。ネイティブアプリを作る際にはサーバーとの連携が必要な場合がほとんどで、その連携にはSwiftのような言語ではなく、Rubyのようなプログラミング言語が必要になります。Rubyを習得すればそのようなAPI開発も可能ですし、Webサイトの開発もできるため幅広く活躍することが可能になります。
最後にPythonについてですが、アメリカで現在最も人気のある言語で、機械学習にも使われている言語です。日本はアメリカから2〜3年の遅れを取っているため、今後日本でもPythonの人気は上昇していくことが予想されますし、機械学習の盛り上がりもこの流れを後押ししていくでしょう。ただし、現時点での求人案件数はRubyの方が多いため、転職時期を1年〜2年後においている場合にPythonは良いと思います。
次にエンジニアの中での職種分類については、未経験者の方は「アプリケーションエンジニア」を最初は目指しましょう。インフラやサーバーサイドは転職後などに身に付けていけば良いので、まずはアプリ開発ができるようになりましょう。
転職活動を有利に進めるために!身に付けておくべきスキル
エンジニア未経験者がエンジニアへのジョブチェンジを成功させるためには、転職応募前にある程度の技術を身に付ける必要があります。既存の仕事がある忙しい中、うまく技術習得を行う方法をご紹介します。
Rubyを習得したい場合だと、Progateというサービスが最も勉強しやすいツールです。Rubyと同時に必要となるHTMLやCSS、Ruby on Railsの知識も同時に学習することが無料でできます。SwiftやJavaなどには対応していないため、そういった場合には書籍を購入しましょう。Swiftなら『絶対に挫折しない iPhoneアプリ開発「超」入門 』、Androidアプリ開発なら『Android StudioではじめるAndroidアプリ開発の教科書』がおすすめです。
このようなツールや本を使って基礎部分を習得するのには、おおよそ1ヶ月から3ヶ月ほどを目安に見積もりましょう。平日の夜や休日を使うことになりますが、技術習得をするためにはそれなりの投資が必要になるので頑張る必要があります。
上記のステップが終了したら、今度は自分自身でオリジナルのアプリ開発を行いましょう。コンセプトやデザイン、システム設計全てをあなた自身が考え、構築していきます。このようなオリジナルアプリ開発をしておくと、技術向上はもちろん、転職活動時のポートフォリオとして提出することができる点がメリットです。単純に本を見て勉強しただけの状態と、ポートフォリオが1つある状態とでは面接時の印象が大きく異なります。こちらも3ヶ月程度を目安として完成させましょう。
スキル以外に必要な事前準備
エンジニアとしての転職には技術以外にも必要なスキルがあります。例えば、近年エンジニアマーケットはグローバル化をしていて、英語のスキルがあると大きな優位性になるケースが見受けられます。
英語でのコミュニケーションが可能なエンジニアはオフショア開発へのアサインなども考慮に入れられるため、
貴重な人材として扱われます。
また、「なぜエンジニアになろうと思ったのか」という点も非常に重要です。
プロダクトを作る人間としての資質を面接官にアピールできるような事前準備を怠らないようにしましょう。
おわりに
とにもかくにもまずは技術力を磨くことからはじめましょう。この記事で紹介した内容をまとめると、以下のようになります。
- iPhoneアプリ開発に興味がある→Swiftでアプリ開発
- Androidアプリ開発に興味がある→Javaでアプリ開発
- webサービス開発に興味がある→Rubyでアプリ開発
- 機械学習系アルゴリズムに興味がある→Pythonでアルゴリズム開発
上記の4つの技術スキルは今後数年陳腐化することが考えられにくい技術であるため、あとは自分自身の興味でスタートするのが良いでしょう。
実際のフリーランスの案件を見てみよう
最近では「クラウドワークス テック」などのフリーランス専門のエージェントサービスもありますので、まずは実際に募集のあるお仕事の事例をチェックしてみると良いでしょう。
登録をすると、Web上では非公開の案件もご紹介を受けることができます。まずは色々なエージェントサービスへ無料登録するところからスタートしてみましょう。
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)