Scalaエンジニアとして転職したい!
でもどうやって学習すればいいんだろう?
この記事をご覧のあなたは、そんな疑問を抱いているのではないでしょうか?
未経験から独学でScalaエンジニアになる事はできますが、適切な学習ステップを踏まなければ途中で挫折してしまう可能性が高いのが事実です。
そこでこの記事では、未経験者が独学でScalaエンジニアになる為に知っておくべきことを解説していきたいと思います。
Scalaエンジニアの仕事内容やその難易度、転職に成功する為のコツなども紹介するので、ぜひ参考にしてください。
まずはScalaの基礎知識を深めよう
そもそもScalaとはどのような特徴があるのでしょうか?まずはScalaの基礎知識をおさえておきましょう。それでは、Scalaの概要やScalaを使ってどんなものが作れるか解説していきます。
そもそもScalaとは
Scalaとは、オブジェクト指向と関数型プログラミングの両方が使えるプログラミング言語です。オブジェクト指向とは、プログラミング言語の中でも主流のものであり、モノを組み立てるようにしてコンピュータを動かす仕組みのことです。
一方、関数型プログラミングとは、関数を組み合わせてつくるものとなります。
Scalaではどんなものが作れるのか
Scalaで作れるものは様々です。世界的に有名なサービスだと、TwitterやLinkedinはScalaが使用されています。国内だと、ChatworkやビズリーチなどがScalaを使用して作られています。
また、Scalaを使って人工知能を実装することも可能です。
これからScalaエンジニアを目指す未経験者が知るべきこと
Scalaを扱えるエンジニアはまだ少ないですが、将来性の高いプログラミング言語として注目を集めています。未経験者がScalaのエンジニアを目指すその前に、知っておくべきことをまとめました。
Scalaをとりまく環境や需要を把握しておきましょう。
Scalaエンジニアの仕事内容
Scalaを使ってできることは多岐にわたるため、その仕事内容も様々です。例えば、マーケティングオートメーションサービスの実装やスマートフォンアプリ情報サービスの開発、デジタル広告における自社開発などが挙げられます。
Scalaはまだマイナーな技術のため、大規模な案件よりも少数精鋭で行う小規模な案件が多い傾向にあります。一方、大規模な案件では、Scalaと互換性のあるJavaを補完する内容が多くなっています。
Scalaエンジニアの年収
求人検索エンジン「スタンバイ」が発表したプログラミング言語別平均年収ランキング(2017年)によると、Scalaは第1位に選ばれ、626万となっています。10位のPHPとは100万円以上もの年収のひらきがあります。
Scalaは高い生産性をもったプログラミング言語ではあるものの、扱える人材が少ないことから、市場価値が高くなっています。
Scalaエンジニアの需要
レバテックキャリアによると、Scalaの公開求人は21件(2018年7月6日時点)です。Javaの公開求人が205件であることを踏まえると、国内におけるScalaの求人数は少ないといえます。
現時点での求人数は少ないですが、今後需要が増えていく可能性を秘めたプログラミング言語でしょう。
Scalaエンジニアの将来性
Scalaは、先ほど求人数の際に比較したJavaとの互換性のある言語となります。また、言語の特性として、バグが少ない、開発納期の短さ、変更が容易など、他の言語よりも優れた特徴をもっています。
そのため、他言語からScalaに切り替える企業も増えてきています。例えば、先ほど紹介したChatworkもPHPからScalaに切り替えました。Scalaエンジニアは将来性があるといえるでしょう。
未経験からScalaを学ぶことは本当にできるのか?
Scalaがプログラミング言語として優れているポイントやその将来性については理解できたでしょう。Scalaエンジニアを目指すメリットが明確になったところで、「未経験からScalaを学ぶことができるのか」について具体的に解説していきます。
未経験からのScalaを学ぶ難易度
結論から言うと、未経験からScalaを学ぶ難易度は高いです。というのも、Scalaの要素である「オブジェクト指向」が複雑であり、理解するまでに時間を要するためです。オブジェクト指向自体に明確な説明はなく、ひとつの「概念」となります。
そのため、ただ知識をインプットするのではなく、「概念」を自分の頭の中で咀嚼する必要があります。ここではオブジェクト指向についての詳しい解説はしませんが、基礎的な考え方からしっかり理解しなければ、Scalaを扱えないことを理解しておきましょう。
Scalaを学ぶのに年齢制限があるのか
基本的にScalaを学ぶのに年齢制限はありませんが、30代後半になると未経験からエンジニアとして転職するのは非常に難しくなります。新卒および第二新卒として採用される20代前半であれば、未経験でもScalaエンジニアとして転職できる可能性は高いでしょう。
採用する企業としては、将来を見据えた「育成」を前提として採用するためです。Scalaエンジニアを目指すのは、できるだけ早いに越したことはありません。
文系でもScalaを学ぶことはできるのか
文系でもScalaを学ぶことは可能です。いまは無料でScalaを学べる学習サイトや書籍がたくさんあるので、自分のレベルに合わせて学習することが可能です。
先ほども説明したように難易度は高いプログラミング言語ではありますが、文系でも習得は可能となります。Scalaエンジニアをはじめ、未経験からエンジニアになるケースは少なくありません。
未経験からScalaエンジニアの仕事を獲得するには
未経験からScalaエンジニアの仕事を獲得する方法はいくつかあります。自分のレベルと目的に合った方法を活用して、Scalaエンジニアを目指しましょう。
独学で学ぶ場合
独学でScalaを習得することは可能です。ただし未経験でScalaエンジニアになるのはいくつかの条件をクリアする必要があります。
独学での学習は挫折する人が多いのが事実です。今回紹介するポイントを把握して、独学でScalaエンジニアを目指してください。
ポートフォリオを充実させる
ポートフォリオとは「作品集」のことです。学習サイトや書籍で学んだ知識を使い、自分でWebサービスやアプリを開発して、ポートフォリオの中身を充実させましょう。
Scalaエンジニアとして採用される際、必ずといっていいほどポートフォリオが確認されます。ただ知識を増やすのではなく、アウトプットの数を増やし、ポートフォリオを充実させましょう。
転職エージェントを活用する
国内には、ITエンジニアに特化した転職エージェントが数多く存在します。転職エージェントは無料で利用できるので、積極的に活用していきましょう。
各転職エージェントごとに求人数の質やコンサルティングの内容が異なりますので、複数の転職エージェントを併用するのがオススメです。準備したポートフォリオを専門家が分析し、転職可能な企業を判断してくれます。
地方ではなく都内で仕事を探す
当然ですが、Scalaエンジニアの求人数は地方よりも都内の方が多くなっています。特にScalaは、2013年に発表された新しいプログラミング言語ということもあり、地方でScalaエンジニアの仕事を見つけるのは難しいでしょう。
求人数の多い都内で仕事を探した方がScalaエンジニアになれる確率は上がります。
コミュニティーに参加する
ひとりでScalaの学習を続けるには、モチベーションの維持が難しいでしょう。同じくScalaエンジニアを目指す人やScalaエンジニアとして働いている人が所属するコミュニティーに参加することで、「仲間」ができます。
また、Scalaエンジニアの先輩からアドバイスを受けることで、学習効率が高まるでしょう。実際に対面するコミュニティをはじめ、オンライン上のコミュニティはたくさんあります、興味をもった方は調べてみてください。
スクールで学ぶ場合
ここまで独学でScalaを学ぶ方法を紹介してきましたが、挫折してしまう人が多いのも事実です。独学が苦手な方や独学に挑戦するも失敗してしまった方はプログラミングスクールに通うのがおすすめです。
とはいえ、プログラミングスクールは数多くあります。どのスクールを選べば良いのか迷うことでしょう。プログラミングスクールを選ぶ際は以下で説明することをひとつの基準にしてください。
転職サポート付きのスクールで学ぶ
数あるプログラミングスクールの中でもおすすめなのが転職サポート付きのスクールです。転職サポート付きのスクールでは、Scalaエンジニアになるための基礎知識から実際に転職先とのマッチングまで対応しています。
プログラミングスクールに通うには費用がかかりますが、独学よりも転職できる確率は高まります。転職できるまでの時間を考えると、独学よりもリーズナブルといえるでしょう。またスクールと提携している企業があれば、より転職先が見つかりやすくなります。
まとめ
今回は
未経験からScalaエンジニアになる為に知るべきことをステップ形式で解説しました。
独学でScalaエンジニアになるイメージは湧いたでしょうか? プログラミングの独学は挫折率が高いですが、しっかりとしたステップを踏めば習得することは可能です。
もちろん、プログラミングスクールを利用すると、Scalaエンジニアとして転職しやすいのは間違い無いので、独学だと不安な方はうまくスクールを利用するといいでしょう。
この記事がきっかけで、Scalaエンジニアになる為の学習が捗れば幸いです。