こんにちは、Kyoshin です。
暑い夏が急に去ってしまい寂しいので夏っぽさを出してみましたがどうでしょう。
今日は、突然ですが読者さんからの質問に答えていこうかと思います。
"こんにちは、私は現在日本で Java のプログラマをしています。経験は 3 年目で 400 万円くらいです。日本の残業体質が嫌だなと思い、できることならカナダへ移住したいと思っています…(中略)…カナダへ来れば、ワークライフバランスの改善は期待できると思うのですが、給与面はどれくらいになりそうでしょうか?ざっくり相場をお聞かせ頂けると嬉しいです。"
なるほど〜。凄いな〜日本。プログラマーがもの凄く安く買い叩かれてる。予想だけど、ザックリいってこっちの半分くらいじゃないかな…。カナダでの Java プログラマーの平均ちょっと調べてみよー。
どんっ。
"$110,000 The average Java Developer salary in Canada is $110,000 per year or $56.41 per hour. Entry level positions start at $60,000 per year while most experienced workers make up to $185,250 per year."
110,000 ドル。ゴクリ…。平均 11 万ドル。生活為替で考えると、ぶっちゃけ 1100 万円ですね。純粋な為替で計算すると違う結果になるだろうけど、実際こっちの生活感覚からしたら普通に 1100 万円。こりゃあ小金持ち。
しっかしエントリーレベルで 600 万かよ凄ぇな。そんで頑張れば 1850 万円。その辺のプロ野球選手より稼げるだろこれ。夢あるな〜。
そりゃそうだよ。Java って結構凄いことできるもん。そんで難しいし。(Jenkins とか何なんだよ一体。)貴重だよちゃんと Java 書ける人ってのは…もっと払おうよ日本。何が不満なの?もしかして Java プログラマーってのはその辺のおじさんみたいに沢山いるのかい?違うだろ?
次の質問。
どんっ。
"同じプログラマという仕事でも、日本とカナダで働き方は違う?"
うーん。日本プログラマーとして働いたことないので断言できないけど、絶対違うね(断言) 次。
どんっ。
"カナダでプログラマとして働くときの 1 日の流れ"
僕の現在の職場で説明しよう。
- 朝 9 時始業:まぁ始業と言ったが別に朝礼とかあるわけではない。大体この時間くらいに来て、静かに自分の席に着き、何故か数秒間ほど真っ暗なスクリーンを眺めた後、小さなため息を一つついてパソコンをブートアップ。何となくポチー、ポチポチーと始める。頑張って少し早めに出社するどころか、始業時間過ぎてからコーヒー入れに行ったり、落ち着いてウンコできそうな静かなトイレを求め旅立ったりする。
- 昼:同僚達とカフェテリア行ってランチ。毎日愛妻弁当。へへ。昼の休憩は 30 分ほどだが食事するだけなのでこれで十分。
- 夕方 5 時、ささっと帰宅。5 時半には建物から人が消える。
会議なんかは月、水、金の朝に 15 分ほど定期の電話ミーティングがあるだけで、その他の会議には一切お呼ばれしない。ずーっとパソコンの前に張り付いていられる。僕らプログラマーは会社のビジネスロジックとか信念とか全然知らないし、興味を示すことすら期待されてない。ただただコードと向き合って良い製品を書けば良いのだ。これが性に合う。
"カナダで転職するときに重視されることは何?"
必要とされてる技術の経験があることかな。経験とても大事。プログラマー志望だけど経験がない人なんかは、自分で何か色々作ってサーバーにアップロードしとくと良い。僕は web 系なので、初めての職探しでは自分のポートフォリオサイトを作っておいて、それで説得したよ。
"転職すると給与アップですか?高齢になった時には転職を続けることが難しくなりますか?"
給与アップする保証があるから転職するのだよ。給与上がらないのに転職する人はいないと思う。むしろ我々プログラマーにとって給与を上げる手段は転職しかないと言い切れる。
"日本では 50 歳くらいのプログラマでも、60 万、70 万くらいで現場常駐で仕事をしてる人が多くいます。たしかカナダでは年齢で人を差別するのはよくないから、あまり問題にならないとおっしゃっていたと思いますが、それは今も同じですか?"
年齢で雇用の可否を決めることはそもそも違法だし、それが国際的にもスタンダードなのです。履歴書に年齢も顔写真も載せないし性別の記載すらないのですよ。日本でも当然、雇用条件に年齢を含めることは完っ全っに違法なんだけど、それが全く浸透していない現状を持ってしてこの国は本当の意味で先進国ではないことを自ら証明していることに他ならないのです。 カナダでも普通に 50 代で第一線のプログラマーなんてザラにいるよ。日本と違い、優秀なプログラマーには当人のマネージャーよりずっと良い給料が払われる。プログラマーに対しマネージメントのポストをチラつかせるようなダサい会社は、逆にプログラマー達から切り捨てられてる。僕らはプログラミングしたいから会社来てるんだよ。
"日本では、大きい会社の客先常駐でプログラマをしていると、何をするにもまず確認、確認 8 割で仕事を進めています。こういうやり方をやってきている人が、カナダで仕事を進められるのかなと思っています。"
まぁこっちでも大手だと似たようなところがあるよ。極端な話、たった一行足すだけでも、他のプログラマー数人からのコードレビューを通さなきゃプロダクションにプッシュされることはないし。顧客から多少急かされても、こっちだって焦って変なものをアップロードしたくないからさ「当初のスケジュール通りで行きまーす。」みたいに融通きかなくなることもある。それでも「あ、そですか。」で大体済むのだが。 逆に僕の現在の職場は、そこそこ小さなチームでやってるからなのか、コードレビューは存在しないし、誰も(下手したら本人ですら)コミット内容を確認しないから、結構な無法地帯だね。なんかあったら個人に責任追求されるよ。そんで普通にクビ。
クビは結構あるね。僕がここで働いてから 1 年ちょっとになるけど、一緒に入った同僚は 9 ヶ月でクビになったし、その穴埋めで採用された人も 2 ヶ月後にはクビ。ボスに会議室に呼ばれて解雇を告げられ、二人ともその日の夕方には会社を去ってるってんだから。
なかなか生き馬の目抜いてますなー。
カナダで実際どれくらい稼げるのか。
じゃあ、本題であるカナダでの給与状況は実際どうなのって話をしよう。 僕の仕事はフロントエンドプログラマー。JavaScript だけ書く仕事(Java じゃないよ。)で週 35 時間働いて現在 80,000 ドル(800 万円)ほど。カナダでの JavaScript プログラマーの平均が現在 900 万(ホントか?)なので、あともう一押しといった感じ。現在フリーランスの身なので、勤め先からの福利厚生は全く無しだが、カナダは全国民が医療費無料なので全然問題無し。ありがとうカナダさん。
最初この世界に入ったときは、4 年前の 2015 年、当時はデザイナーだったけど、年棒 32,000 ドル(320 万)だったなぁ。激安。 で、1 年後にアパレルメーカーにフロントエンドとして転職。一気に 50 万アップの 37,000(370 万)、その 2 ヶ月後に昇給もらって 41,000(410 万)。そこでは 2 年働き、2018 年の 3 月に辞めた時は 43,400(434 万)だった。 その後、もう 1 社働いてから現在の職場に落ち着いたんだけど、まぁ転職すれば上がるね、上がるから転職するんだから。それに僕らは一つの技術にずーっと張り付いてると他のことができなくなっちゃうからさ、定期的に転職は必要だよ。
モントリオールで web 屋さんになってからの年棒は、ざっくり言うと以下のような感じかな。
- 2015 年〜2016 年 デザイナー:320 万
- 2016 年〜2018 年 インテグレーター(HTML, CSS メインの仕事):434 万
- 2018 年 4 月〜6 月(2 ヶ月)フロントエンド:520 万
- 2018 夏〜現在 フロントエンド:800 万
それ以前はと言うと、僕がカナダに来て最初の数年はセキュリティーガードしてたんだけど、その当時(2011 年〜2013 年)の年収は 300 万少し切るくらい。それでも住むところを選ばなかったので十分やって行けてたし、わずかながら毎月貯金もしてた。お金に困った記憶は特に無いなぁ。 まぁカナダは柔軟性のある国だよ。お金の無い人は無い人なりに幸せに生きられる。
最後に
そおそお、ついこの間ね web サービス立ち上げたんだよ。週 35 時間も働きつつ夕方や週末に自分家でカタカタして物作ってんスよ先輩。日本に居たら絶対こんなこと出来ないス。
JavaScript Best - online course reviews
JavaScript Best って言う JavaScript のオンラインコースのレビューを投稿できるサイトを作ったよ。僕は現在使ってる多くの技術をオンラインで学んできたから沢山見てきたんだけど、伝説的に良いコースってあるじゃん?あーこれはいいなっての。JavaScript Best でそれをシェアできるようにしたよ。もちろん世の中良くないコースってのもいっぱいあるから、そういうのもシェアして皆で地雷避けてこーぜってのも趣旨にある。
パフォーマンス
僕が何か作る時に重視するのは軽さ。パフォーマンス第一だよ。ページを軽くするためにファイルをミニファイして、gzip して、画像はアップロードに合わせてダイナミックに圧縮かけて、サーバーは Nginx にして…ゴニョゴニョ…等々とりあえず出来ることは全てやったよ。web サイトでローディングに数秒かかるなんて絶対何かどっかで間違ってるもんな。
さて、どんくらい速くなったかな…。時間計ってみよ。
Google が提供するスピード計測サービス PageSpeed Insights を使った。モバイルで 98 点。メチャクチャ速い。 難しいと言われるモバイルでこれならデスクトップは…
100 点出ました。初めて見た 100 点。満点出るんですねぇ。都市伝説だと思ってたよ。
この測定サイト随分甘いんじゃないの?
比較のために Google さん本体を計ってみよ。まずはモバイルから。さぞ速いんだべな。
89 点…何かの間違いでは。デスクトップではどうかな…
ち、やっぱ速ぇ。じゃ今度は Facebook さん計ってみよ。まずはモバイルから。
81 点。まだまだですな。じゃあ Facebook のデスクトップバージョンは…
ほとんど変わらず 82 点。もっと頑張れー Facebook。 じゃ、僕の去年まで働いていた会社のサイトはどうだろう。結構お金かけてチマチマやってたからな。
1 点て...これは酷い。もはや地球に存在しちゃいけないレベルでは。これでも一応カナダ最大手のアパレルなのだが…。
ここで確信。 Google さん、僕の背中を見て育って下さい。
凄い。もしかして JavaScript Best って世界一速いサイトなのでは…。
ライバルが欲しい…。
今日は週末だしお祝いします。
読んでくれてありがとう。質問してくれた人もありがとう。
したっけ。