どうもです。
ギリギリです。
この前ブログの読者から質問をもらいました。
良い質問なので、他の読者にもわかるようブログ上で回答することにしました。
まずは質問から。
ギリギリさん
初めまして。
いつもブログやtwitterで情報発信してくださり、誠にありがとうございます!
私はオーストラリアへの移住を目指しているものです。
オーストラリアで職が得やすいのではないかという考えと、エンジニアの勉強をして楽しかったので、(日本で)エンジニアのお仕事につきました。
言語として、オーストラリアでの求人数が一番多そうだったJavaを使用しています。
お手数をおかけしてしまい誠に申し訳ございませんが、もしよろしければお伺いさせていただけたら大変幸いに存じます。
- 研修期間は職歴に含まれるのでしょうか?座学もOJTもオーストラリアの転職時においてはカウントされないのではと思っています。
- 「Java」を使用する企業は比較的大企業であることが多く、VISAを出してくれる可能性が高いと聞いたことがあります。しかし、2~3年後には、kotlinやscala、他のPython等の言語が取って変わっていっている可能性もあると思います。ギリギリさんがオーストラリアの言語の流行り廃りについて予測されるとしたら、どのような予測をお持ちになりますでしょうか。
- オーストラリアでのプログラミング言語の流行り廃りは、どのようにチェックするのが良いのでしょうか。以前ギリギリさんが「面接官になって分かった、オーストラリア就職で必要なこと」の記事でおっしゃっていた、Linkedin、SEEK、CareerOne、Indeed、Jobsearch.gov.au、GradConnectionなどの求人数を例えば、月に一度確認するような方法以外に何か良い方法はございますでしょうか。
- オーストラリアでエンジニアになるためには学位が必要とされることが多いと聞いたのですが、求人の検索で調べたところ、下記のスクリーンショットのようにseek上の全土のJavaの求人数の約25%の求人のキーワードに「学位(「degree」「bachelor」 )」と「修士(Master)」がヒットしました。実際にこのキーワードの検索のかけ方で正しいのでしょうか。また、肌感覚として、ギリギリさんが感じられるのもこれくらいの感覚ですか。
- 大学院に行くことは、ギリギリさんがブログでおっしゃっていたようにメリットが多いと思います。しかし、家族の都合上、大学院に行く貯金が出来ないまま渡航しなければいけない場合、 ワーホリでお金を稼いでから大学院に行く手段を取り、ワーホリとしてIT系の仕事を見つけることも選択肢として考えています。ワーホリは地方が多いと思うのでIT系の職種の競争率はとても高いと思いますが、どれくらい難しいかご存じだったりしますでしょうか。
- オーストラリアでエンジニアとして働いていらっしゃった方に、オーストラリアでフィンテックが盛んだと聞いたので、次に転職するとしたら、フィンテックの会社や伸びている、モダンな環境で開発している会社さんなどを検討しています。その業界独特の開発の仕方などもあるかと思うのですが、どのような業界で今後、DXが進んでいくか、や、どのような業界で経験を積んでおくと市場価値の高い人材になれるか、など、ギリギリさんの感覚でご存知でしたらお教えいただけたら嬉しいです。
- 2~3年後にオーストラリアで転職活動を始めたいと思っているのですが、ギリギリさんなら、どのような転職や経験を積むための自主開発などをされますでしょうか。
- アジャイル開発の仕事に転職する時期として、いつがいいのか。研修期間を含まない/含む1年間は一つ目の会社で働いたほうがjob hopperの印象を与えなくて、オーストラリアでよいのでしょうか。または、日本のアジャイルの企業の技術レベルを満たすレベルになれば、実務経験数か月でも転職してもよいのでしょうか。オーストラリアの市場の視点からお教えいただけたら嬉しいです。
- 留学の費用やスキルアップのため、フリーランスも考えているのですが、 アメリカの永住権を取得されたエンジニアの方から、フリーランスはVISAを与える上で少し信用が落ちる、とお伺いしました。 オーストラリアでも同じでしょうか。
永住VISA取得までの具体的なステップについて
- 企業に就職してから、「永住VISAをスポンサーしましょうか?」というようなお声がけをいただけるまでの期間は、ギリギリさんはどれくらいでしたか?また、その期間について、要望を伝えることもできましたか?(もし他の事例もご存知でしたらお伺いしたいです)
- 永住VISAをスポンサーをしてくれる可能性のある企業に就職したいのですが、面接ではそのことを聞かないと聞きました。聞いてしまうと、印象が悪いのでしょうか。もし聞くのがあまり良い方法ではない場合、求人検索で検索をする以外にどのように見極めればよいですか?
順番に答えていきます。
Index
研修期間は職歴に含まれるか?
研修期間は職歴に含まれるのでしょうか?座学もOJTもオーストラリアの転職時においてはカウントされないのではと思っています
オレがビザやスキルアセスメントを申請した時は、職歴から研修期間は除けといった記述はなかったし、ビザエージェントにも何も言われませんでした(オレは研修期間なかったが)。
多分ですが、企業に従業員として勤めていて、給料を貰っていれば仕事をしているとみなされるからじゃないかと思います。
ただ、研修内容、職業や業界などによっては違う可能性があります。
業種が違うだけでビザ取得の難易度や面倒くささがかなり違います。
また、職歴やフルタイムの定義などは、申請するビザの種類(189、190、186、491ビザなど)等によっても変わることがあります(例:あるビザでは週20時間以上働いている=フルタイムとみなす一方、別のビザでは週35時間以上働いている=フルタイムとみなす)。
こればっかりは自分の研修内容や選択する職業や狙うビザの要件を読み込むしかないです。
それでもわからない場合は、プロ(ビザエージェント)に聞いたほうがいいでしょう。
オレが言うのもなんですが、ブログの言うことを鵜呑みにしないようにしてください。
いくら永住ビザを取った人だからって、自分自身に同じことが当てはまるとは限りません。
参考にするのはいいですが、必ず裏を取るようにしましょう(移民局のサイトをみる、ビザエージェントに聞くなど)。
プログラミング言語の流行り廃りについて
「Java」を使用する企業は比較的大企業であることが多く、VISAを出してくれる可能性が高いと聞いたことがあります。しかし、2~3年後には、kotlinやscala、他のPython等の言語が取って変わっていっている可能性もあると思います。ギリギリさんがオーストラリアの言語の流行り廃りについて予測されるとしたら、どのような予測をお持ちになりますでしょうか。
言語が人気なのは関連するものが人気だから
流行り廃りなんてしたことないですが、これを機に考えてみましょう。
なぜ特定の言語が流行るかは、その時に流行っている手法やサービスや何らかの製品などによって変わるように思います。
例えば、アンドロイドOSが出てからは、アンドロイドアプリの開発案件でJavaの使用が増えましたよね。
最近だとJavaScriptやTypeScriptがかなり多く使われていますが、これはReactやAngularが流行っているからだと思います。
昔だったらサーバ側の処理やWebアプリ開発はJavaやPHPがかなり多かったと思いますが、今はC#やPythonなども使われています。
C#については、言語が使いやすくなったことの他に、マイクロソフトAzure上でいま主流のマイクロサービスを構築、CIサーバでビルドからリリースまでが容易にできるようになったことがあると思います。
オレはPython嫌いなので人気の理由を考えたくもないですが(笑)、読みやすい、ライブラリが豊富、AI開発に使われるなどの理由があるようです。
そう考えると、手法やサービスや何らかの製品などが人気になり、それを使うために利用される言語の人気が必然的にあがる、ということが言えそうです。
それを踏まえて予測すると、今後もPython人気は上がる気がします。
Pythonが2から3に上がってかなり使いやすくなったこと、ライブラリの豊富さ、AIなどの開発でも使えること、これら理由によりより多くの企業がPythonを採用していることなどが理由です。
今はJavaScriptやTypeScriptが人気ですが、AngularやReactがWebアプリ開発の主流として使われる以上はこの2言語も人気を維持するのではないでしょうか。
マイクロサービス開発やCI/CD (継続的インテグレーション/継続的デリバリー) が当たり前になった今、それを可能にするプラットフォームとサービスを提供するマイクロソフトAzureは今後も採用されると思います。となればC#が自然と選ばれるので、C#の人気も維持されそうです。
また、オーストラリアで今後スマホアプリの開発が増えるようであれば(おそらく増えると思う)、スマホアプリ開発で主流の言語も人気が高まりそうです。
Javaについて、その人気はそう簡単には下がらないでしょう。
かなり広く使われている言語だし、開発のためのツール(IDEなど)が豊富、コミュニティ数もその人口も多い。
Javaほど普及した言語なら、突然取って代わられるようなことはないはずです。
人気があがるかはわかりませんが、突然失速することもないでしょう。
予想としてはこんなところです。
今後さらに便利なものが出てくれば、当然この限りではありません。
そしてその可能性は大いにあるでしょう。
ソフトウェア業界は移り変わりが速いですから。
ちなみに、オレがPythonが嫌いな理由はPythonの構文が嫌いだから。
インデントが構文の一部に組み込まれている、クラス名やメソッド名のあとにコロンを使う、コメント開始がシャープ(#)、行最後にセミコロンがいらない、変数の型指定がない(データが型を持つ)、true、falseが大文字で始まる、アンダースコア2つ繋げると特別な意味をもつなどなど。
一部の特徴は他の言語と大きく違うので、コード書く時イライラしてしょうがない。
流行り廃り以外にも目を向けて選択を
「Java」を使用する企業は比較的大企業であることが多く、VISAを出してくれる可能性が高いと聞いたことがあります。
この文を読むと、オーストラリアへの移住やオーストラリア内での就職の可能性を高めるために、人気のある言語を選んでいるようにみえます。
求人数がより多い言語やテクノロジーを覚えることで、オーストラリアでの就職の可能性は上がると思います。
ただ、求人数や人気だけでなく、少しでも自分の興味のあることができる言語を選ぶことも同じくらい、またはそれ以上に重要です。
興味を持って取り組めることは、それが何であれ人はすすんでそれを学ぶし、より多くを学び、結果としてそれらが自分のスキルアップにつながるからです。
スキルがあることは就活の成否に最も関わる要素であることは言うまでもありません。
どちらかというと、どんなソフトウェアを作ってみたいか、どんなソフトウェアに興味があるかを考え、それを開発するためによく使われる言語を選ぶほうが自然でしょう。
自分が興味のあることを実現するために、最適な言語やテクノロジーを選ぶ。
オレとしてはこの方がしっくりきます。
ただ、プログラミング初心者や作りたいと思えるものがない人もいるでしょう。
そういう時は、例えばフロントエンドやバックエンドのどちらに興味があるかを考えてもいいでしょう。
以前、オーストラリアでソフトウェア開発者になるために何を勉強すればいいかを書いています。読んでない人はどうぞ。
参考:オーストラリアでソフトウェア開発者になるために何を勉強すればいいか
オーストラリアのプログラミング言語の流行り廃りをどう調べるか?
オーストラリアでのプログラミング言語の流行り廃りは、どのようにチェックするのが良いのでしょうか。以前ギリギリさんが「面接官になって分かった、オーストラリア就職で必要なこと」の記事でおっしゃっていた、Linkedin、SEEK、CareerOne、Indeed、Jobsearch.gov.au、GradConnectionなどの求人数を例えば、月に一度確認するような方法以外に何か良い方法はございますでしょうか。
求人サイト以外で調べるなら、「programming languages popularity australia」とかでググってみてください。
例えばこういったサイトが出てきます。
こういう検索だと、流行り廃りと言うか、いままたは今後人気が出そうな言語を調べるという感じですかね。
プログラミング言語や関連テクノロジーはアメリカから始まって世界に伝搬することがほとんどなので、アメリカで流行っているものはある程度オーストラリアでも流行ると思います。
いまだとJavaScriptやTypeScriptがそうですね。
ただ、Rubyはオーストラリアであまり聞かないです。
アメリカでは結構使われているようですが。
言語自体の人気だけでなく、アメリカやオーストラリアでの傾向、流行りの開発手法やフレームワークなどを調べることで、それに深く関わる言語が人気があるかどうかわかるんじゃないでしょうか。
他に似た言語を覚えると学習内容の汎用性が高まる
どの言語をメインにしたらいいかわからないなら、似たような言語が多い言語を選ぶといいかもしれません。
構文や概念が似た言語を選ぶことで、あとで別の似た言語に鞍替えしたい時に移行がスムーズだからです。
オレは新人の頃Cを少し触り、その後Javaでの案件で本格的にソフトウェア開発に関わり、その後C#へ移っていきました。
CからJavaに移った際はかなり苦労しました。
この2つは全く違う言語だからです。
さらにプログラミング初心者だったのもあり、オブジェクト指向の概念を覚えるのに苦労したのも理由の1つです。
一方JavaからC#への移行はかなりスムーズでした。
構文はそっくりだし、Cでは当たり前のメモリ確保などの面倒なことも必要ない。
メソッドの名前なども似ているし、両言語とも英語として意味の通じるようなメソッド名が多いので、理解しやすい。
どちらもオブジェクト指向言語なので、一度オブジェクト指向が理解できればどちらでも通用します。
当然ながら細かい言語の仕様の違いはありますが、JavaとC#どちらかを覚えれば、もう一方を覚えることはそこまで難しくはないです。
そういった観点からも言語選びをしてみてはどうでしょうか。
今回はここまでにして、残りの質問は次回以降に答えます。
では。
4件のコメント