どうもです。
ギリギリです。
ソフトウェア開発者としてオーストラリアの永住権を狙う人は未だに多いです。
ツイッターでも、プログラミングの勉強はじめました、永住権取得が目標!というアカウントをちらほら見かけます。
ソフトウェア開発をこれから始める人の中には、数あるプログラミング言語やフレームワーク、データベースなどの中からどれを勉強すればいいのかわからない、という人も多いはず。
そこで今日は、オーストラリアでソフトウェア開発者になるために何を勉強すればいいかについてまとめました。
以降、テクノロジーという言葉を使いますが、ここではプログラミング言語やデータベース、開発フレームワーク、IDEなどもろもろの総称としての意味で使います。
Index
人気のテクノロジーを学べば仕事を得られる可能性が上がる
市場調査でわかる人気のテクノロジー
オーストラリアで開発者になるには、当然仕事を得なければなりません。
そのためには就職活動に有利なテクノロジーを学ぶのが得策。
そこで、市場でより多く使われているテクノロジーを学べば、より多くの求人に応募できる=就職のチャンスが広がる、と言えます。
実際の就職はこんなに単純なものではないのは言わずもがなですが、ここでは求人数のみに注目します。
ここでは例としてプログラミング言語をとりあげます。
LinkedInで以下のように求人検索してみました(オーストラリア内の求人)。
- Software engineer javascript:1,748件
- Software engineer java:1,347件
- Software engineer c#:913件
- Software engineer python:749件
- Software engineer c++:447件
- Software engineer php:435件
- Software engineer ruby:209件
こう見ると、JavascriptとJavaを使う求人が圧倒的に多いことがわかります。
Rubyは日本やアメリカで人気だと聞いたことがありますが、オーストラリア(少なくともLinkedIn上)では求人数はかなり少ないですね。
求人数だけを考えれば、Javascript、Java、C#のどれかを学んだほうがより就職に有利と言えます。
ではここで、言語以外のテクノロジーで検索してみます。
- Software engineer angular:774件
- Software engineer react:978件
- Software engineer net core:100件
- Software engineer wordpress :107件
- Software engineer django:76件
- Software engineer mysql:302件
- Software engineer postgresql:176件
- Software engineer sql server:389件
- Software engineer oracle database:202件
AngularとReactを使った求人がかなり多いですね。
これらはどちらもJavascriptを使うフレームワークやライブラリ(AngularにはTypeScriptを使うが)。
プログラミング言語でJavascriptを使う求人が多いのは、これらのテクノロジーの人気度合いが高いことと相関関係があるからでしょう。
C#の人気とSQL Serverの人気にも、相関関係があると言えそうです。
このように、言語やデータベース、開発フレームワークなどを元に検索すると、現状のソフトウェア開発業界でどういうテクノロジーが多く使われているかが見えてきます。
この調査結果をもとにテクノロジーを選ぶと、就職により有利になると言えます。
興味のあるものを学ぶ
とはいえ、自分の興味を無視して市場の人気度だけを元に何かを学習するのは考えものです。
人間やはり興味がないと何をしていても長続きしないからです。
ましてやそれが仕事となればなおさらでしょう。
プログラムを書いて生計を立てようとしている人が、興味のかけらもないようなテクノロジーを選んでもすぐに嫌になるだけです。
特に、プログラミングという、動きが目に見えないものを書く作業は時として苦痛であり、だからこそ少しでも興味の持てるテクノロジーを選ぶことが重要です。
しかし、ソフトウェア開発をしたことのない人に「興味の持てるテクノロジーを選ぶべきだ」と言っても、「よくわからねえよそんなの」となってしまう。
その場合は、比較的とっつきやすいものから始めるといいでしょう。
オンラインなら何もいらず、いきなりプログラミングを学べる
今の時代、オンラインでプログラムを実行することができるので、簡単にプログラミングを始められます。
何も買わなくて済むし、何もインストールする必要もないのです。
例えばこのサイトでは各種プログラミング言語が学べます(リンク先はJavascript学習ページ。他の言語はページ内で選択可能)。
Learn the Basicsの下にあるリンクをたどればいきなりJavascriptのコードが書け、実際にそのプログラムを実行することも出来ます。
ここでは自分で好きなコードを実行できるので、例えばHello, World!という文を表示するのも、単に
console.log(“Hello, World!”);
と書くのではなく、
var helloFunc = () => console.log(“Hello, World!”);
helloFunc();
と書くことも出来ます。
このサイトが手狭になり、もっと多くのことを学びたくなったら、自分のコンピュータにJavascriptを実行できる環境を整え、さらに学ぶ。
それまではこういった”オンライン道場”で手軽に始められるプログラミング言語を学ぶといいでしょう。
利用者数が多いテクノロジーは学びやすい
初心者がテクノロジーを選ぶ上で他に注目する点として、テクノロジー利用者数もあげられます。
利用者が多いほどより多くの情報がネットに載るので、自分が解けない問題の解決策をネットで見つけやすくなります。
これ、すごく重要なんです。
プログラミングをしていて、自分一人では解けない問題に当たることはよくあります。
そんな時、ソフトウェア開発者はネット上で問題解決の糸口を探します。
利用者が少ない、または登場して間もないテクノロジーは参考になる情報が少ないため、解決に時間がかかったり、最悪わからないままということもあります。
こういう状況は、初心者がプログラミングへの興味を失う大きな理由の一つとなりえます。
助けが多ければ多いほど問題を解決しやすく、また、より効率のいいコードを学びやすくなります。
浅く広くより、狭く深く
オーストラリアの求人は、特定のテクノロジーに関する経験や知識があることと明確に指定するため、「浅く広く」学んでいるとスキルレベルが中途半端になってしまう可能性があります。
いくつかのテクノロジーに絞って集中して学ぶことで、就活を有利に進められるようになるはずです。
いろんなことに興味はある場合、いくつかメインで学ぶものを決めておくといいです。
しっかりとした”武器”を作ることで、オーストラリアで開発者としての一歩を踏み出しやすくなります。
オススメのテクノロジー
最後に、オレがおすすめするテクノロジーを紹介します。
まずは、Angular。
理由は、Angularはフレームワークであり、開発に必要なもののほぼ全てが簡単に準備できるから。
オーストラリアでもAngularを使った開発はかなり増えているので、就職にも有利でしょう。
また、フレームワークを使った開発になるので、ソフトウェア開発で当たり前の共同作業もAngularだとしやすい。
AngularはTypescriptというJavascriptを元にしたプログラミング言語を使うため、例えば後でReactに挑戦したいとなっても比較的ラクに移行することができるはずです。
プログラミング言語でオススメなのはJavaとC#。
マイクロソフトは無料でVisual Studioという開発ツールを提供しているので、これをインストールすればすぐにC#でプログラミングが可能。
また、多くのオンライン言語学習サイトでC#が利用可能なのも利点です。何もインストールすることなく、オンラインですぐに学習を始められます。
オーストラリアの求人に、C#を使ったものが多いのも学ぶ理由の1つになりえます。
Javaと似ているので、Javaを触ったことがある人なら理解しやすいでしょう。
オレは初めにJavaを学び、途中からC#に移行しましたが、構文などよく似た部分があるので簡単に理解できました。
Javaも無料で実行環境を簡単に作れます。
難点としては、どちらもオブジェクト指向言語で、これが初心者には少しハードルが高い。
ただ、今の時代オブジェクト指向プログラミング(OOP)は主流なので避けて通ることは難しく、また、避けていたら就職の可能性を自ら大幅に減らすことになります。
幸い世の中にはOOPを説明している多くのサイトがあるで、これらを利用すれば問題ありません。
データベースを学びたい人には、MySQLとSQL Server(Express)がおすすめ。
これらは無料で手に入り、すぐに使い始められるので、SQLやデータベースについて学びたい人におすすめです。
どちらのデータベースも人気でよく使われているため、求人にもよくでてきます。
フロントエンドかバックエンドか?
初心者にはフロントエンドの方がとっつきやすいと思います。
フロントエンドだと画面上に何かを表示するのがごく一般的なので、自分の書いたプログラムの結果が画面上に見えるため、わかりやすい。
HTMLやCSSを使えばなおさらです。色や形など、データ以外の部分の変化も目に見えてわかるため、見ていて楽しいし、モチベーションの維持や向上にも繋がります。
バックエンドはデータを処理するのが主な役割なので、正直いって地味です笑
当然好みの問題にはなりますが、動きのわかりやすいフロントエンドの方が、興味をよりそそりそうな気がします。
まとめ:人気のテクノロジーを集中して学ぶことで就職の可能性を上げ、やがて開発者に
ソフトウェア開発者としてオーストラリアでやっていくためには、市場で人気のテクノロジーの中からいくつかを選び、それらについて集中して学ぶことがカギです。
これにより、より多くの求人へ応募できるようになります。
また、いくつかのテクノロジーに絞って集中して学ぶことで、就活を有利に進められるようになります。
プログラミングやソフトウェア開発を始めたばかりの頃はわからないことが多くて、もう嫌だと思うことも少なくありません。
でもわからないことを1つずつ解決していくことはソフトウェア開発の日常であり、それを経ずに開発者にはなれません。
まずはオンラインでプログラムで遊んでみてください。
興味がでてくれば、問題があっても意外と苦ではなくなりますよ。
では!
1件のコメント