新加坡マスオさん日記

シンガポールで働くソフトウェアエンジニアが想う日々の徒然

パンデミックの中、シンガポールのスタートアップで人生初のレイオフを経験し、別のスタートアップへの転職を果たした

f:id:legoboku:20200610125834j:plain

昨今のコロナ禍の景気悪化により、欧米での大規模なレイオフ(雇用主都合の解雇)や失業者急増のニュースがメディアを騒がせています。シンガポールでは、政府によるサーキットブレーカ(商業や私的活動の制限)が発動されたものの、平和に自宅勤務を経験していた私ですが、なんと4月中旬に突然、勤務先のスタートアップをレイオフされてしまいました。

30代後半で、もはや中年に差し掛かり、日本でも再就職が徐々に厳しくなるお年ごろで、しかも英語が大してうまい訳でもないのに海外で大ピンチを迎えました。人生で最も厳しい、絶望的な2ヶ月を過ごしましたが、6月上旬にローカル企業2社からデータエンジニアのポジションでオファーをいただき、そのうち1社であるローカルのFinTech系スタートアップからのオファーを受諾しました。

本記事では、将来的に海外(特にシンガポール)で就職を希望されている方向けに、私がコロナ禍による不況下のシンガポールで体験した転職活動の現実、それを踏まえた海外就職への心構えなどを紹介したいと思います。

今回のコロナ禍での経済活動の制限や景気後退は100年に1度と言われており、私の体験は、かなり極端な例かもしれません。また、私自身がスタートアップで働くソフトウェアエンジニアのため、内容がスタートアップやソフトウェアエンジニア向けにかなりよっている部分が多々あります。よって人によっては参考になる部分、ならない部分あると思います。

ただ、極力、他の状況の人、職種でも参考になるように書いたつもりです。本記事が皆様のキャリア形成や海外転職の参考になると嬉しいです。

筆者の略歴

文脈をはっきりさせるべく、筆者の簡単な経歴を紹介しておきます。私は、高い学歴もありませんし、GAFAなど米系超大手IT企業への勤務経験もありません。筆者の経歴に興味のない方は読み飛ばしてください。

  • 2007年、地方国立の大学院情報工学専攻を修了。海外留学経験はないが、フランスの大学との交換インターン制度を利用し、フランスにある半導体製造装置の会社で3ヶ月のインターンシップに参加。流体力学系のシミュレーションやデータ集計などの業務を担当。日本企業に就職するよりも先に、多国籍・多民族な職場で、英語が公用語の1つである仕事を経験した。
  • 2007〜2017年の10年間は、日本の中堅SIerに勤務。キャリアの最初は組込みソフトウェアエンジニアを経験。2013〜2014年、サンフランシスコのパートナー(BIソフトウェアベンダー)に出向し、製品開発および主に国際化対応のQAを経験。帰国後は、バックエンドエンジニアに転向。IoT向けの製品開発および主に製造業のお客様のPoCプロジェクトで技術支援を経験。
  • 2017年〜2018年は、データエンジニアとして日系のグローバル小売企業に転職。主に物流や在庫管理向けのプロジェクトに参画し、データ分析基盤を構築・運用した。
  • シンガポール人の妻の希望もあり、2018年、シンガポールへ移住。同企業グループ内のシンガポール現地企業に転籍。
  • キャリア上の行き詰まりもあり、2019年にローカルのMarTech系スタートアップに転職するも、勤務開始2ヶ月後に、コロナウィルスのパンデミックが発生。コロナ禍の投資・ビジネス環境の悪化に伴い、2020年4月に勤務先から人生初のレイオフ宣告を受ける。
  • 無職でもシンガポールに合法的に滞在するため、妻をスポンサーとして長期滞在ビザ(Long Term Visit Pass)を取得する。
  • 2ヶ月の転職活動で、2社からオファーをいただき、そのうち1社(ローカルのFinTech系スタートアップ)のオファーを6月中旬に受諾した。

突然のレイオフに目の前が真っ暗になった

ここからは、実際に私が経験したレイオフや転職活動について紹介していきます。

米国株価の暴落および東南アジアからの資本逃避が報道され始めた3月時点で、全社ミーティング(自宅勤務中のためZoomで実施)で経営陣から給与削減策を含む対策が発表されていました。これは予定していた資金調達がほぼ絶望的になり、事業継続性が急速に不透明になってきたためです。

大半のスタートアップは、ほぼ出血しながら走っているようなもので、収益が安定するまでは定期的に輸血(資金調達)することで、なんとか事業を存続させている状態です。急に売り上げが途絶えたり、資金調達ができない場合、手元のキャッシュが枯渇して数ヶ月で倒産する企業もザラにあります。

経営陣からは、「従業員を10人レイオフするより、全員で痛みを共有する(給与削減)策を選んだ。これらの対策を講ずることで1年間、事業を継続できる。追加のレイオフや給与削減は予定していない。」などの説明があり、従業員との間でかなり率直な意見交換があり、私自身は、この時はレイオフが回避されたと一安心していました。

しかし、実際には、この発表の後も投資家とはつなぎ融資に向けた協議を続けており、結果としては、融資の条件として、以下が決まってしまったようです。

  • まだ収益が確立していない機械学習を使った新機能の開発を中止する。
  • また、主に新機能開発のために直近で採用した人員を解雇する(エンジニア2名、ビジネス系3名で合計5名)。
  • 代わりに営業を若干名だけ採用し、契約を増やすための営業活動を強化する。

そして、4月上旬の月曜日朝に突然、CEO・CFO・VP of EngineeringからZoomミーティングに呼び出され、レイオフを宣告されました。CEOの説明は、非ネイティブな私が普段使わないような、非常に丁寧で、かつ遠回しな言い方であったため、正直、最初は何を言っているのかよく分からず、混乱しましたが(笑)、落ち着いて聞き直し、ようやくレイオフされることを理解しました。

レイオフの宣告の後、受けた説明内容は次のようなもの。

  • レイオフ宣告を受けた月曜日が実質的には勤務最終日。
  • 解雇通告の猶予期間(Notice Period)は1ヶ月のため、1ヶ月後に雇用契約は停止する。この1ヶ月は通常通りの給与は支払われる。
  • 引き継ぎを迅速に行なった後に速やかに各種アカウントは停止するので、メールもGithubもSlackも見れなくなる。レイオフ通告翌日以降は、職探しに専念してよく、仕事をする必要はない。
  • 雇用契約の最終日に貸与品(laptopなど)やEP(Employment Pass: 就労ビザ)を返却し、その場でEPはキャンセルする。
  • 次の仕事を見つけるための支援はできる限りする(私と同じ職種を募集している会社を紹介するなど)。

CEOとVP of Engineeringはアメリカ人だからか、日本では考えられないスピードで迅速にアカウント停止を行うことに驚きました。アメリカでは、レイオフを宣告されたら、自席に戻れずそのままオフィスの外に追い出されるみたいな話を聞いたことありますが、そこまで酷くはないにしろ、手続きがめちゃ早く、あっさりした終わり方にびっくりです。

Engineering Managerは、事前にVP of Engineeringから話を聞いていたらしく、レイオフ通告の直後にチーム全員のWhatsappグループを作成し、Google Meetで最後のチームミーティングを実施しました。先週までは普通に働いていたのに、自宅勤務中にこんな終わり方をしたことに驚きましたが、「くよくよしてもしょうがないので、転職を頑張ろう!」とレイオフ組でお互いの健闘を祈りました。

同僚とのミーティングでは気丈に振る舞ったつもりですが、1歳になる娘がいるのに失業してしまい、家族に申し訳なく非常に落ち込みました。しかし、嫁さんが地元の安定企業で働いており、貯金もたくさんあり、嫁実家に居候しているので、生活費も安いので、嫁さんからは「まあ、落ち込まないで。シンガポールではレイオフはよくあるから、あなたのせいでもない。すぐに生活に困らないので、まあゆっくり次を探せば良いよ。」と言ってもらえて、ようやく気持ちが落ち着く、よしすぐに転職先を見つけてやろうと決意しました。

レイオフでビザが失効すると、最悪、国外退去になる

シンガポールは、就労ビザ(Employment Pass)が雇用主に紐づいているため、レイオフされた場合、勤務最終日にEPをキャンセルします。

EPがキャンセルされると、その場で有効期間1ヶ月の短期滞在ビザ(Short Term Visit Pass)が発行されます。STVPが有効な間は、合法的にシンガポールに滞在できますが、STVPが失効すると不法滞在になるため、シンガポール国外に退去する必要があります。

つまり、失業した後もシンガポールに残りたい場合は、Notice Period(契約によって異なる)およびSTVPが有効な2ヶ月程度のかなり短い期間に、滞在許可を取得し直する必要があります。

可能性がある手段としては、以下のようなものがあります。

  • 配偶者がシンガポール人もしくはPR保有者の場合は、長期滞在ビザ(Long Term Visit Pass)を取得する(私の場合はこれに該当)。
  • 配偶者がEPを保有している場合は、被扶養者ビザ(Dependent Pass)を取得する(私の同僚はこちら)。
  • 転職先を見つけて、EPを取得する。

平常時ならともかく、今回のような景気後退期に転職先を見つけるのは非常に困難なため、配偶者がシンガポール人・PR・EP保有者でない場合は、時間切れとなり、最悪、国外退去になってしまいます(今回は非常事態なので多少の猶予があり、日本政府の支援での帰国になったかもしれません)。

人は常に正常性バイアスを持っており、自分だけはレイオフに合わない、問題なくシンガポールで輝くキャリアが築けると考えがちですが、コロナが来なくてもレイオフされる可能性は誰にでもあります。特に駐在員ではなく、現地雇用で勤めている場合、常にレイオフなどにより滞在許可が失効してしまうリスクと隣り合わせにいることを自覚する必要があります。2ヶ月はあまりにも短すぎるため、おそらく配偶者が市民権・PR・EPを保有していない場合、かなりの確率で、失意の中、無職の状態で日本に帰ることを決断せざるを得なくなります。

これは家族を帯同してシンガポール現地企業に就職する際、大きなリスクになります。失業した場合に何が起きるのか理解し、事前に帰国までの手続きを把握しておいた方が良いでしょう。

一般的な転職活動の流れ

ここからは、実際の転職活動の流れを紹介します。

以下はよくあるパターンを記載しています。実際には、順番が違う・宿題がない・同僚あるいはエンジニアリングマネジャーレベルの面接が複数回ある、などプロセスが異なる可能性があります。

1. エントリー

企業に対して選考を受けたい旨を伝えます。エントリー先は、企業によって異なります。LinkedInのようなSNS・採用サイト、企業のキャリアサイト、リクルータのWebサイトなど様々です。

自分が把握している業界や企業以外にも転職のチャンスがあるかもしれません。積極的にリクルータに登録して、業界・企業、あるいは具体的なポジションを紹介してもらうと良いでしょう(今回、私はリクルータ経由で仕事を見つけました)。

エントリーで必須の提出物はCV(職務経歴書)のみが多いですが、任意でカバーレター(志望動機など書いた文書)、ポートフォリオなども提出できる場合があります。個人的には、CVが提出できる場合は、ちゃんと書いて提出するべきだと思います。

応募が殺到するような企業は普通に受けても、面接すらまともに呼んでもらえません。もし元同僚などで該当企業に働いている人がいる、働いている人を知っている場合は内部推薦をお願いしてみた方が良いでしょう。

なお、一定期間内での二重エントリーを禁止している企業があり、いったん、自分でエントリーした後に内部推薦付きでエントリーできなくなるケースもあるので注意しましょう。

2. 採用担当によるCV(レジュメ)スクリーニング

LinkedInなどで採用広告を掲載すると大量のエントリーがあるため、リクルータや採用担当が1次面接に招待する候補者を取捨選択します。

大量に応募がある企業の場合、特に目立った経歴・学歴・資格・内部推薦などないと無視される可能性が高いです。

1次面接に呼ばれないと何も始まらないため、CVを見てもらう、1次面接に呼んでもらうための工夫が必要です。

3. 1次面接(HR or リクルータ)

後続の面接に変な候補者を送らないため、電話など使い、採用担当によるスクリーニングが行われます。

内容は以下のようなものです。

  • 経歴や志望動機の確認といった一般的な質問
  • 要件を満たしているか確認のための質問(Pythonの経験は何年ですか?など)
  • 業務に関連する一般知識(ソフトウェアエンジニアであればコンピュータサイエンスなど)
  • 日本人の場合、英語が話せない可能性が高いので、英語圏の大学を卒業していない限りは、英語でまともにコミュニケーションができるか確認されます^^;

また、オファーを出す場合の報酬を決定する材料として、前職の給与パッケージ(各種手当を含む)、および期待する給与パッケージの確認が行われます。最終面接終了後に、迅速にオファーレターを出してもらうためには、ここではっきりと希望条件を合意しおく必要があります。最終面接の後に、オファー内容の内示が行われる際に、1次面接と違う内容を言い始めるとオファーレター発行まで時間がかかる可能性があります。

4. Home Assignment(宿題)

2次面接に呼んでも良いくらいの技術スキルがあるか確認するような宿題が事前に出題される場合があります。 これは1次面接を通過しても、実際は全くコーディングできない人、業務で必要なスキル・知識がない人が大量に2次面接を受けることを防止する目的で行われていると思われます。

内容は、当該分野で2-3年くらい経験があれば、早ければ3時間、長いもので2週間以内に提出できるような難易度・量が一般的です。

私の場合、Data Engineerなので、基本的に業務で実際に出くわすような知識・スキルとして、データ処理・SQL・ETL・モデリング・データウェアハウスの設計などのスキルを問う内容です。基本的にPythonSQLのコードを書かされます。 インフラ・DevOpsなどのスキルが期待されている場合、一連のアプリケーションが期待通りに動くことを確認できるようDockerイメージにまとめ、Kubernetesクラスタで動作を確認できるよう求められることもよくあります。

5. 2次面接(シニアエンジニア / エンジニアリングマネジャー)

2次面接は、同僚や上司になる人が登場し、現場視点で一緒に働ける人物かどうかの見極めが行われます。

基本的に質問内容は、過去の経歴の確認(プロジェクトの詳細や経験のある技術など)、チームで働く上で必要となる基本的な技術知識を持っているかどうかの確認といったものが多いです。

Home Assignment 無しの場合、ここでコーディング面接が課される場合があります。内容はデータ構造やアルゴリズムに関するもの(配列や文字列・木構造の探索など)、あるいはSQLやデータモデリングに関するものが多いです。

データ構造やアルゴリズムについては、情報工学系の学部生であれば十分解けるレベルの物が多かったので、事前にLeetCodeやHackerRankなどのWebサイトでインタビューで出題されやすい分野を練習しておけば十分解けそうでした。

6. 最終面接(VP of Engineering / CTO)

最終面接の面接官は、エンジニアリング部門の予算権限を持っている人が登場します。通常は、VP of EngineeringやCTOクラスが多いです。大きな企業になると、Lead Engineeringレベルの人に最終判断が移譲されているケースもありました。

2次面接で技術スキルが評価されているので、ここでは技術スキル以外の部分としてソフトスキル(コミュニケーションやリーダーシップ)や企業文化との相性が評価されます。実際に入社した後に、同僚たちと高いパフォーマンスで働けるか、ビジネスへ高い貢献をしてくれるかが問われています。

質問内容は以下のようなものが多いです。

  • 過去のプロジェクトの経験を問うもの
  • 今後のキャリアプラン
  • ビジネスや業界に関する知識
  • 企業文化やプロジェクトとの性質との相性
  • 経営層が具体的に直面している問題の解決方法

具体的な例は以下の通り。

  • 過去のプロジェクトで、一番困難だった経験について話してください。また、その困難をいかに解決しましたか?
  • チームメンバーと意見の衝突が起き、解決した経験はありますか?衝突した背景や理由、解決した方法を説明してください。
  • なぜ、あなたを採用するべきか説明してください。
  • ビジネスに対して具体的にどのような貢献ができますか?
  • 入社後にどんなキャリアを築きたいと考えていますか?
  • 現在、データ分析基盤の強化に取り組んでいます。現状はXXXでYYYという制約があります。その範囲内であればどういう手段でも良いので、データ分析基盤プロジェクトの進め方について助言してもらえますか?

7. オファー内容の内示

最終面接を通過した場合、HRの採用担当から口頭での条件での内示およびオファー受諾の確認が行われます。 オファーレターの発行には、内部の承認プロセスを通す必要があるため、事前に双方で合意した内容を文書化することで、オファーレター提示の後に希望条件の食い違いでオファーが拒否されることを防ぐためです。

8. Reference Check

内示された条件で合意できた場合、オファーレターの提示とほぼ同時にReference Checkが進められます。

Reference Checkとは、採用担当者から候補者の元同僚や元上司へ連絡し、CVに記載された経歴や面接で話した内容に虚偽がないか、過去の働きぶりに問題がなかったか確認を行う作業です。

候補者の背景に問題ないか事前に確認することで、入社してからのトラブルを未然に防止する目的で行われます。よほど問題のある形で退職していない限り、ここで落とされることはないと思います。

Reference Checkをお願いすることになるので、転職する場合は円満に退社することを心がけましょう。

9. オファーレターの提示および承認

Reference Checkと同時にオファーレターが提示され、条件面(ポジション、給与、健康保険、有給の数、トレーニング費用など)の詳細が提示されます。 問題なければサインして、提出します。最近は、AdoboやDocuSignで電子署名するケースが多いようです。

11. 就労ビザの取得

PRがない場合は、働くためにはMoM(労働局)で就労ビザの取得(EP)を取る必要があります。オファーレターにサインしたとしても、ここで許可が下りなかった場合は、合法的に働けませんので、オファーも失効します。よって最後の難関です。

通常は2週間くらいで許可されると、晴れて次の職場で働けることになります。

私の場合は、事前に妻をスポンサーにLTVP、および pre-approved LoC という就労許可も取得していたため、雇用主がやることはLoCのアクティベーションだけでした。これはかなり迅速に行えるので、LTVPが取得できる人はEPより全然楽だと思います。

12. (レイオフでない場合)前職の退職

オファーレターをもらっても就労許可が出るとは限りません。レイオフではなく、前職に勤務した状態で転職する場合、実際に就労許可が出てから、前職に退職の意思を伝えましょう。

最悪の場合、就労許可が降りず、オファーが失効し、前職も退職して、無職になることもあり得ます。

転職活動の結果:不況下の就活はマジで厳しい

転職活動の流れが把握できたところで、私自身の転職活動がどうだったのか結果の概要について説明します。なお、主にエントリーしたポジションは、直近数年で経験のあるデータエンジニアです。

  • 転職活動期間: 2020年4月12日〜2020年6月9日(約2ヶ月)
  • エントリーポジション数: 135(一部、会社に複数ポジションにエントリーしたため、企業数としては約130社)
  • CVスクリーニングの段階でrejectされた数: 103(103/135 = 76.3%、このうち10社のみ結果通知ありで、93社は返事なし)
  • 1次面接に進めた数: 32(32/135 = 約23.7%)
  • 最終面接まで進めた数: 4(4/135 = 約2.96%)・・・オファープロセスに入ったため途中で辞退した企業もあり。
  • オファープロセスまで進めた数: 2 (2/135 = 約1.48%)

転職活動を始めて気づいたのは、大半のエントリーで面接にすら辿り着けないということです。実際、企業の採用側がどういう状況なのかは完全には把握できていませんが、レイオフされた勤務元、嫁の現勤務先、リクルータなどから聞いた話から推測すると、シンガポールの転職市場が次のような状況になっていたと推測しています。

  • 前提としてパンデミック発生前からEP(外国人一般的に取る就労許可)の要件が厳しくなっていたため、市民権やPR(永住権)を保有しない外国人の採用が絞られる傾向にあった。これはEPを申請しても許可までに時間がかかり、かつ、許可されないケースがあるため。
  • さらにパンデミックの発生により、景気不透明感が強まる中、シンガポール政府がサーキットブレーカ(商業・私的活動の制約)を発動。ただし、ゲーム・EC・物流・その他収益源がディジタル化できていた企業は、コロナの影響を相対的に受けづらい、あるいはむしろ需要が伸びたため、採用を増やしている企業もあるが、総体としては、多くの企業が採用を絞り始めた。
  • スタートアップなど財務基盤が安定していなかった企業に勤務する外国人を中心にレイオフがあり、求職者が増加した。
  • 採用が絞られる中、LinkedInなどの求人サイトに求職者が殺到。採用担当者が処理しきれない数のため、PRや市民権を持っている、社内の推薦がある、該当分野の経験がある、といった条件に基づいてCV(レジュメ)のスクリーニングを機械的に行なっている。

現在は、サーキットブレーカも緩和傾向にあり、景気が戻りつつあるので、転職市場も改善しつつあるかもしれません。

また、仮に最終面接を良いムードで終えても、オファーが貰えないことはザラです。あなたの力が及ばないところで、意思決定が行われるので、もし結果がよくなかったとしても、気を取り直して次の面接を頑張りましょう。

  • もしかすると自分より優れた人も同時期に最終面接を受けて降り、別の人にオファーを出すことになったのかもしれません。
  • 企業側が、ずば抜けて優秀であれば、無理して取りにいこうと思い、最終面接に呼んだけど、そこまでの評価は得られなかったのかもしれません。
  • あるいは、オファーを出す寸前のところで、採用活動が停止されてしまうこともあります。

転職活動をスムーズに進めるには事前に何を準備すれば良いか?

ここでは転職活動をスムーズに進めるための準備について私の考えを紹介します。一部は、転職活動を始めてからできるものもあれば、常日頃から準備しておいたほうが良いものもあります。

1次面接に呼ばれやすくする(CVやLinkedInを整理しておく)

まず1次面接に呼ばれることが重要です。それがないと何も始まりません。

もし、すでにシンガポールに滞在している人であれば、どこかの段階で以下のいずれかを取得することを検討すべきです。これらがあると、EPなしで合法的に働けるので、エントリーできるポジションが増え、1次面接に呼ばれる可能性が増えます。

  • PR(永住権)
  • シンガポール人あるいはPRの配偶者の場合は、LTVP(長期滞在ビザ)とpre-approved LoC(就労に必要な書類)

なお、被扶養者ビザ(Dependent Pass)の場合、EP保有者である配偶者が失業すると、家族全員のビザが失効するので、可能であれば夫婦ともにEPを目指した方が良いです。

次に採用担当者から見て魅力的に見える経歴やスキルセットを日頃から獲得しておきましょう。常日頃から技術動向は調査し、可能であれば世間でよく使われていて転職市場で評価される技術を業務で実践し、習得できる機会を増やした方が良いと思います。自分のスキルセットがポジションの要件に合致すると、面接に呼ばれやすくなります。

さらに事前にLinkedInプロファイルとCVを採用担当者から見て魅力的に見えるよう整えておくと良いでしょう。

英語表現に問題があるとバカだと思われて、無視される可能性が高くなります。正しい英語表現であり、読みやすいCVになっていることを確認するため、ネイティブ(可能な限り同業者もしくはリクルータ)に見てもらい、事前に改善しておきましょう。

エンジニアが陥りがちな間違いの代表例として、CVに使った技術とやったことを書きすぎることがあります。それだけだと、技術バックグラウンドのない採用担当、あるいは投資に責任を負うVP of EngineeringやCTOに人材価値を認めてもらえないので、経歴にはやったことではなく、ビジネス価値の視点での業績を中心に書きましょう。例としては、アーキテクチャ改善や自動化といったタスクだけでなく、インフラやオペレーションのコストをX%削減したといったビジネス価値のある業績を中心に書くと良いと思います。

技術系面接の準備:普段から利用している技術の仕組みを勉強しておく

各種フレームワークAPIを知っていることや、サンプルレベルの小さいアプリを作れることと、大量データを使う大規模システムで高いスケーラビリティやパフォーマンスを実現することには大きな違いがあります。シニア向けのポジションで、チームをリードすることを求められるため、当然ですが、後者の知識があるかを問われることが多いです。

いろんな角度から質問をされる可能性があるので、短期間に網羅的にこの手の知識を習得するのは難しく、常日頃から使っている技術の仕組みを理解しておかないと対処できないと思います。正しい論理の順番としては、日頃から技術の仕組みを学び、スケーラビリティやパフォーマンスの設計でチームをリードしていれば、シニア向けのポジションでオファーがもらえる可能性が高まるということだと思います。

私の場合、Data Engineerに応募したので、Spark、Kafka、KubernetesといったData Engineeringでよく使われる技術の内部的な仕組み、およびパフォーマンス上の問題に出会った際に改善する方法を問う質問が多かったです。日頃からコミュニティで評価の高く、内容が充実した書籍で勉強しておいた方が良いと思います。

コーディング系事前課題や面接の準備:事前に時間をかけてアルゴリズム系の問題を練習しておく

口頭の面接以外に、事前課題あるいは面接の場でコーディングを要求されるケースがあります。

すでに書いた通り、事前課題は週末に時間をかけて取り組めば良いですし、難易度的にも2-3年働いてたたら数時間〜数週間で解けそうなものが多かったので、こちらは比較的取り組みやすいと思います。具体的な問題の例としては、以下のような問題がありました。

  • DWHの知識を問う問題
    • MySQLのテーブルからダンプされたCSV形式のファイルが与えられ、これをロードする対処のHiveテーブルを設計する。またデータをロードしたり、データを集計するクエリやスクリプを実装する。
    • BigQueryのGIS機能を使って、与えられた地点から直線距離で近い地点の一覧を取得する。
  • ストリーミングデータの処理に関する知識を問う問題
    • GoogleがPubSubに常時流しているタクシーの乗車データを集計し、乗車数などのサマリをBIの地図上にマップする。
    • ECを訪問する顧客のアクセスログのストリームデータをセッション単位でWindow集計した結果に変換する。
  • コンテナ技術に関する知識
    • アプリケーションはDockerイメージにパッケージングし、かつKubernetesクラスタにデプロイし、可用性が高い構成にする。

多くの人にとって問題は、コーディング面接の方でしょう。これは面接の場でいきなりお題(データ構造とアルゴリズムなど)が与えられ、面接官がモニタリングする中、オンラインエディタもしくはローカルのIDEを画面共有しながら回答をコーディングすることを求められます。

私が受けた企業のアルゴリズム系の問題は、基本的にバイナリツリーの基本的な探索や、配列や文字列の操作といった、情報工学系の学部卒業レベルで十分解けるような内容でした。しかし、大学時代に一度勉強していたとしても、普段、仕事でこの手の問題を実装する機会があまりない場合、練習が不足していたらなかなか解けない人も多いと思います。私の場合、HackerRankの Interview Preparation Kit というインタビューで出題されやすい問題をまとめたサイトを使い、空き時間にEasyとMediumレベルの問題を解いて練習しました。

また、Data Engineerの場合、分析系のSQLあるいはデータウェアハウスのモデリングの問題が出題されることがあります。ここで言う分析系のSQLとはウィンドウ集計など、モデリングはファクトテーブル・ディメンションテーブルなどの設計などです。普通は最低限知っているであるレベルのものが多く、むちゃくちゃ高度なことを問われる訳ではないです。

分析系のSQLについては、以下の書籍を以前購入してたので、復習がてら苦手な分野を読み直しました。

私は元々ソフトウェアエンジニアからデータエンジニアに来ており、データウェアハウスむけのモデリングの経験が非常に乏しく苦手意識を持っていました。この分野のグルの書籍をチラ見したところ、文字ばっかりでちょっと無理だったので、日本人が書いた勉強会資料や日系企業や公開しているWebページで手短に復習するのが吉かもしれません。。

ソフトスキル系面接の準備:事前に面接で聞く質問をまとめておく。キャリアの振り返りをし、よくある質問の回答を事前にまとめておく。

採用担当との1次面接、CTOやVPとの最終面接では、技術的なことというより、企業やポジションに対する高いモチベーションがあるか、入社したら成果を出せそうか、コミュニケーション面を見る傾向にあります。

質問される内容は企業や人によって様々ですが、ある程度、傾向が予想できるので、事前にExcelシートなどに書き出しておき、いざ面接で聞かれた時はスムーズに答えられるようにしておきましょう。

また、この作業をやることは、これまでのキャリアを振り返り、今後のキャリア形成について考える良い機会にもなります。

なお、よく聞かれるとしては以下があります。

  • 今回、なぜ転職を考えたか?
  • なぜうちに入りたいか?入って何をしたいか?
  • 過去に転職経験がある場合は、それぞれ転職した理由は?
  • 直近の達成した業績の詳細、自分の役割や貢献内容など
  • 困難に直面した経験、どうやって克服したか?
  • 同僚と意見の衝突があった場合、どう対処したか?

また、面接の後半に質問する時間が設定されています。必ず質問して疑問を解決するとともに、高いモチベーションがあることを理解してもらいましょう。

私がよく質問したものは次のようなもの。

  • 現在のビジネス状況について。コロナ禍でどういう影響があるか?
  • 現在、直面しているビジネス上の課題、技術上の課題は何か?どう解決しようとしているか?
  • 現在、このポジションを採用している理由、どういうプロジェクトにアサインしようとしているか?
  • 資金調達のニュースがあった場合、部外者が聞ける範囲で自分に関係する部分での投資先や内容
  • エンジニアリングチームの構成、プロジェクトが始まる時の一般的なプロセス
  • 技術やクラウドサービスを選択する際に大事にしているポリシー
  • もし参画することになった場合、どういうプロジェクトに参加するか?また、どのような技術を利用するか?

まとめ: 海外就職の現実とリスクを理解し、積極的にチャンスをつかめ!

ここまで自分のレイオフや転職活動について書いてきました。シンガポールで転職活動について理解していただけたと思います。

最後に、これからシンガポールで働いてみたいという方に向けて、これまで自身の体験から学んだ心構えについて皆さんにお伝えしたいと思います。

それは、海外就職には、日本での就職とは違った厳しい現実、避けがたいリスクがあります。それを理解した上で、もし海外就職が自分のキャリア形成や人生設計に大きな恩恵を与えるのであれば、積極的にチャンスを掴みにいってほしいと思います。

現実: 自分より優秀な人はいくらでもいる。しかも英語力でネイティブに絶対勝てない。

シンガポールでの就職の場合、職務経歴書や面接などのコミュニケーションは全て英語になるため、言語の面で非常に不利な状況にありながら、英語のネイティブあるいはネイティブと同等レベルの水準にある人と競争することになることを自覚する必要があります。

私の場合、トータルで4年くらいコミュニケーションがほぼ英語の環境で仕事しており、仕事上のやり取りはあまり困りません。それは同じ人たちと、はっきりした文脈の中で、限定的な語彙だけで意思疎通が可能である、というかなり特殊な環境下で働いているので問題ないだけで、英語力が高いかというとそうではない訳です。

就職活動で一旦、外の世界に出ると自分の英語力不足に気づき始めます。同じポジションにエントリーをしているライバルは、自分よりスゴイスキルや経歴を持っている上で、さらに英語のネイティブであるという人がゴロゴロいるので、普通に戦っても勝てない訳です。どこで勝負するべきか常に考え続ける必要があります。

リスク = 外国人はあくまでも雇用の調整弁である(景気が悪い時は真っ先にレイオフされる)

海外で就職する場合、現地政府が経済活動や国家財政に貢献してくれると判断した外国人に対して、限定した期間だけ、就労する許可を与えているだけであるという現実を理解する必要があります。一旦、コロナ禍のような景気後退期に入った場合、現地政府に外国人の雇用を守る義務はありません。

景気が良い時は、政府はローカル人材だけでは調達できない専門性を外国人に求めます。一方で、景気が悪くなると、政府ローカルの人には各種給付を与え、生活を支援し、雇用助成金を払って雇用を守りますが、外国人は真っ先にレイオフの対象になりやすいという事実があります。

リスクの許容度が大きい、若い人はどんどん海外で挑戦して欲しいと思う一方、チャンスを掴むため、家族を帯同してシンガポール現地企業で働くベテランの方は、レイオフなど状況によっては一家で路頭に迷うリスクがあることを理解する必要があります。

もし海外で現地雇用で就職をする際は、事前にどのようなリスクが発生しうるのか、どこまでリスクを許容できるのか理解し、家族と同意した上で働くべきでしょう。

チャンス = 日本や日本語だけに閉じない、多様なバックグラウンドの人材とグローバルなビジネスを経験できる

ただし、厳しい現実や避けがたいリスクだけではありません。シンガポールには、キャリアや人生設計に大きな影響を与えるチャンスもあります。

シンガポールは、アジアで数少ない英語圏であり、日本に負けないくらい清潔で安全であり、金融およびビジネス環境が発達し、多数のグローバル企業のリージョナルHQが設立されている、ソフトウェアエンジニアの仕事もたくさんあり、日本人にとっては働きやすくチャンスに満ちた都市です。

今後、東南アジアの経済発展に伴い、シンガポールで就職を希望する日本人のソフトウェアエンジニアが多数出てくると思います。ぜひ海外就職の現実やリスクを理解し、果敢に挑戦し、チャンスをつかんでほしいと思います。

最後に

長くなりましたが、これで本ブログは終わりです。 本記事が読者のみなさまのキャリア形成や海外就職の参考にあると嬉しいです。もし質問などありましたら、コメントなどいただけると嬉しいです!

Long Term Visit Pass(家族ビザ)を取得した

昨今のCOVID-19の影響もあり、2019年12月から勤めていたスタートアップからレイオフされてしまいました。退職すると退職日に保有しているEmployment Pass(就労ビザ)が失効し、1ヶ月の猶予を置いて、国外退去になってしまうため、急遽、シンガポール市民権あるいはPR保持者の家族向けビザである Long Term Visit Pass(LTVP)に切り替えました。この記事では、LTVPの概要や他のビザとの違いなどを書きたいと思います。

Long Term Visit Passとは?

Long Term Visit Passは、ICA (Immigration and Check point Authority) のWebサイトにある通り、シンガポール市民権あるいはPR保持者がスポンサーとなり、その家族をシンガポールへ長期的に滞在させるためのビザです。なお、あくまで家族であることが条件なので、もしスポンサーである配偶者と離婚したりするとビザも失効することになるので、家庭の平和に気をつけましょう。

https://www.ica.gov.sg/pass/LTVP/pass_LTVP_apply

You will be eligible to apply/renew for Long Term Visit Pass if you are a:

Spouse of a Singapore citizen (SC)
Spouse of a Singapore permanent resident (PR)
Child (aged under 21) of a Singapore citizen (SC) or Singapore permanent resident (PR)
Parent of a Singapore citizen (SC) or Singapore permanent resident (PR)
Graduate from an Institute of Higher Learning seeking employment in Singapore
Mother or Grandmother of a child or grandchild studying in Singapore on a Student’s Pass
Visitor seeking permission to give birth in Singapore

Dependent Passとの違い

リクルータと話をする際にLTVPを保持していると言っても、Dependent Passと勘違いされますが、LTVPとDPは別物です。

https://www.mom.gov.sg/passes-and-permits/dependants-pass/key-facts

  • LTVPはシンガポール市民またはPR保有者の家族向け、DPはEPあるいはSpass保有外国人の家族向けです。
  • また、DPは配偶者か未成年の子供にしか発行できないようですが、LTVPは親などより幅広い範囲の家族に適用できるようです。

LTVP のメリット

  • LTVPの有効期間の間(最長で2年間)は、無職でも合法的にシンガポールで滞在できます。
  • LTVPを申請する際に働きたい旨の意思を表明すると(チェックボックスにチェックを入れるだけ)、LTVP 発行時にMoM (Ministry of Manpower) から Pre-approved Letter of Consent という文書が発行され、合法的に働けるようになります。

就労に関してEPとの違い

EPは、外国人従業員比率に制限があるのに対し、LTVPはその制限がありません。ICAのWebサイトにも「No foreign worker levy or quota required」とあります。この外国人雇用数の制限は企業にとっても頭痛の種です。小売など大量の外国人を雇用する業務形態の会社の場合、例え、EPを取得したとしても配偶者がシンガポール人だと分かるとLTVPに切り替えてくれないか相談されることがあります。

なお、Dependent Passも外国人就業者数の制限に含まれません。https://www.mom.gov.sg/passes-and-permits/dependants-pass/key-facts

LTVP の申請方法

ICA | Spouse of a Singapore Citizen (SC)

こちらは、申請者がシンガポール市民あるいはPRの配偶者の際の申請方法です。 提出するものは、だいたいEPやPRの時と同じです。申請者が働いてなくても、申請できるので、申請者むけの書類は多少少ないですね。

From the foreign spouse (applicant)
- Passport biodata page
- Disembarkation/ Embarkation (D/E) card
- Your recent passport-sized, digital, colour photograph taken within the last three months. Please click here for photo guidelines.
From the Singapore citizen spouse (sponsor)
- Identity Card
- Income Tax Notice of Assessment for the past three years, and Central Provident Fund (CPF) Statement showing monthly CPF contributions for the past 12 months
- Letter of employment, stating date of commencement, designation and monthly salary. For those who are self-employed, a valid registration certificate from the  Accounting and Corporate Regulatory Authority (ACRA) and the company’s Profit and Loss Statement for the past 12 months.

From both spouses (applicant and sponsor)
- Certificate(s) showing highest level of academic qualification
- Marriage certificate
- Divorce certificate(s), if either or both of you have been married before
- Letter of Long-Term Visit Pass Eligibility (LLE), if applicable.

LTVP の受け取り

オンラインで申請した後、2週間以内で審査結果がメールで送られてきます。申請が許可されていたらIn principle Approval(IPA)という書類をダウンロードできます。 この時点ではあくまで仮の許可です。ICAにLTVP受け取りの予約を入れ、実際に申請してLTVPのカードを受け取ると晴れて許可されたとなります。

オンライン申請で許可されていれば、基本的にLTVP受け取り時に拒否されることはないと思います。オンライン申請時に出した書類を紙で再提出させられるので、その点は不備がないようにしましょう。仮に不備があって受け取りできなくても、IPAの有効期限を延期することは可能なので、慌てなくても大丈夫です。

終わりに

この記事では、レイオフに伴うEPの失効でLTVPに切り替えたこと、またLTVPの概要について紹介しました。 現在、失業中で転職活動やっていますので、別途、シンガポールでの転職活動についても紹介したいと思います。

ISYE6501x: Introduction to Analytics Modeling を無事に修了した

f:id:legoboku:20200517172524p:plain
Certificate of Completition

5ヶ月かかって無事にGeorgia Tech Universityの“ISYE6501x: Introduction to Analytics Modeling”を修了しました。このコースは、同大学がEdXで提供している “Analytics: Essential Tools and Methods MicroMasters program”のうちの1つ目のコースです。

Analytics Modellingとは

ここでいう「Analytics Modelling」とは、分析対象を数学的にモデル化したり、振る舞いを理解したり、将来の状況を予測して、意思決定を支援する学問分野です。機械学習だけでなく、統計モデル、確率分布、シミュレーション、最適化など様々な手法について解説されています。

コースのアウトライン

1週目から12週目は各手法について、産業界での事例、数学的理論(の直感的な理解方法)、手法を適用する上での注意点、演習(Rでモデルを構築・評価)と進みます。 13〜15週は、ケーススタディとして、電力会社・小売・データのマネタイズといった実際に仕事で出会いそうなケースについて自分で提案書(利用するデータ、モデルの組み合わせ)を書きます。 なお、課題は全てピアレビューで評価されます。

  • Week 1 Introduction, Classification
  • Week 2 Validation, Clustering
  • Week 3 Basic Data Preparation, Change Detection
  • Week 4 Time Series Models
  • Week 5 Basic Regression
  • Week 6 Advanced Data Preparation
  • Week 7 Advanced Regression, Tree-based Models
  • Week 8 Variable Selection
  • Week 9 Design of Experiments, Probability-based Models
  • Week 10 Missing Data, Optimization
  • Week 11 SPRING BREAK
  • Week 12 Optimization, Advanced Models
  • Week 13 Discussion Cases – Power Company Case
  • Week 14 Discussion Cases – Retailer Case
  • Week 15 Discussion Cases – Monetization Case

コースを受講した動機

元々は、私自身がデータエンジニアを4年近くやっていて、今後のキャリアではデータ分析や機械学習など分析よりにシフトすることを考え、その目的にふさわしいコースを探していたところ同コースを見つけました。同大学は、Business AnalyticsのOnline Masterのコースも提供していますが、そちらは2-3年、学費で100万近くかかります。入門だけに抑えたMicroMasters programは、1年未満でもっと安いので、とっかかり安いと考え、コースを受講して見ました。

受講して感じた感想

このコースは伝統的・古典的な手法を中心に扱っており、どちらかというとアナリスト向けな印象は受けるものの、機械学習を含むAnalytics Modelingの原理が理解できます。流行りものの機械学習の動向を追いたい人のためのコースではなく、あくまで普遍的な数学的な理論、原則(モデル評価の考え方)を知りたい人向けだと感じました。 これまで受けたDeep LearningやTensorflowのコースは、コードを動かすことを主眼に置かれていて、モデルの原理をあまりよく学べないという不満を感じていました。それに比べると、こちらのコースは、私の嗜好に合っていたと思います。

受講上の注意点

課題で利用する言語がRであり、開発環境やRの言語に慣れていないと冒頭はかなりつまづきます。全体的にサンプルコードが提供されていない状態でいきなり分類モデルを作れと言われるため、最初はかなり焦ります。 事前にチュートリアルを実施し、簡単な文法を理解してから受講した方が良いと思います。また、書籍もいくつか手元にあった方が良いと思います。私は、以下をよく参照しました。

最後に

さて、“Introduction to Analytics Modeling”については以上です。次のコースとして、”Data Analytics for Business コースのもすでに受講中です。修了したら、またブログで紹介したいと思います。

シンガポールでの就労ビザの申請手順 2019年版

海外で合法的に働くには、その国の就労ビザが必要になります。また、携帯の契約や銀行口座の開設など生活のあらゆる場所で身分証明書が必要になるため、生活の基盤にもなります。

この記事では、私が2019年10月にシンガポール就労ビザを申請した際の手順について紹介します。

(注)ビザ申請の手続きは、シンガポール国内の法律改定や、申請者の状況によって変わります。実際のビザ申請方法は、人事やエージェントに確認してください。

(参考)2018年に申請した際の日記はこちら。

sgdiary.hatenadiary.com

就労ビザの種類

就労ビザの種類はMOM(Ministry of Man power)のウェブサイトに記載されています。

https://www.mom.gov.sg/passes-and-permitswww.mom.gov.sg

様々な種類がありますが、日本人に関係するのが主に以下の2種類です。ビザによって申請可能な要件が異なり、ビザの種類によってシンガポールでできることも変わってきます。詳しくはリンク先を参照ください。

  • Employment Pass: For foreign professionals, managers and executives. Candidates need to earn at least $3,600 a month and have acceptable qualifications. (専門家、マネジャーまたはエグゼクティブ向け。最低月収は3600ドル。その資格を満たしている者。)

  • S pass: For mid-level skilled staff. Candidates need to earn at least $2,200 a month and meet the assessment criteria.(ミドルレベルの技能のスタッフ向け。最低月収は2200ドル。評価記述に合致するもの。)

エンジニアなどは普通EPの方ですが、上記のページは非常に曖昧な書き方していて、本当にどっちなのか判断が付きづらいです。どっちの資格を満たしているか知りたい方は、シンガポール政府が無料のアセスメントサービスを公開しているので、こっちで検索してみてください。

https://www.mom.gov.sg/eservices/services/employment-s-pass-self-assessment-toolwww.mom.gov.sg

シンガポール就労ビザの注意点

シンガポール就労ビザの注意点は、日本と違ってビザと会社が紐付いている点です。会社がスポンサーとなってビザが発行されるので、退職すると一定期間をおいてビザが失効し、国外退去となってしまいます。

例えば、雇用主が外資系でシンガポールから撤退を発表し、オフィスを閉じて従業員を解雇するみたいな事になった場合、しばらくするとビザも無効になります。

国外退去とならないためには、就労ビザが有効な間に次の就職先を決め、就労ビザが発行されている必要があります。

PR(永住権)の場合は、会社と紐付いているわけではないので、退職してもビザは執行せず、自由に転職活動もできます。

申請手順と申請に要する期間

申請手順は以下の通りです。

  • 雇用主からオファーレターをもらう。
  • IPA (In-principle approval) 申請に必要な書類を用意する(2週間程度)
  • IPAを申請する(申請から発行まで約2 - 3週間程度)
  • (初めての仕事の場合)シンガポールに入国する
  • (転職の場合)前職の退職手続きおよび前の就労ビザのキャンセル
  • IPAで指示された場合のみ)シンガポールで健康診断を受ける(結果取得までに5日程度)
  • MOMで就労ビザを申請する(1時間程度)
  • カードが届く(登録後、5営業日)

申請手順

雇用主からオファーレターをもらう

まずは、就職先を見つけるところから。

  • 転勤の場合は、人事発令が内定した段階で会社からオファーレターが出ると思います。
  • 現地企業に直接雇用してもらう場合は、採用面接を受けて、内定をもらいます。シンガポールの会社は、リモートでの面接だけで内定を出す会社もあるようです(どれくらい一般的かは不明)。

IPA (In-principle approval) 申請に必要な書類を用意する(2週間程度)

このIPAは、シンガポールから「あなたに、こういう要件での就労ビザを発行しますよ」と許可をもらった証拠となる文書です。就労ビザそのものではないので、シンガポールに入国して、IPAとその他必要書類をMOM(Ministry of Mon power)に提出して、実際の就労ビザを発行して貰う必要があります。

https://www.mom.gov.sg/passes-and-permits/work-permit-for-foreign-worker/sector-specific-rules/in-principle-approvalwww.mom.gov.sg

IPA申請に必要な書類は、MOMのWebサイトに記載がありますし、会社から転勤で行く場合は、人事やエージェントが色々教えてくれるのでそれに従ってやればOKです。

私の場合、以下を提出しました。オンライン申請なので全てPDFにして提出します。

  • 記入済み申請書
  • オファーレター
  • パスポート
  • 学歴証明(大学が発行する卒業証明書の英語版)

IPAを申請する(申請から発行まで約2 - 3週間程度)

IPAの申請・受取りはMOMのWebサイトでオンラインです。私が約5年近く前にアメリカのJ1ビザ(研修用)を取得した際は、大使館で紙の申請でしたが、シンガポールは効率的です。

ここの手続きは人事またはエージェントがやってくれるので、特にすることはないと思います。 通常は、申請から約2-3週間でIPAが発行されます。

私の場合、申請後、1週間程度後に追加のドキュメントとして、なぜか卒業証書を要求され、提出後、さらに3週間近く待ちました。最初から出しておくのが無難です。

ここでIPA就労ビザの種類が確定し、EPなのかS passなのか判明します。

(初めての仕事の場合)シンガポールに入国する

これがシンガポールで初めての仕事の場合は、IPAが出た時点でシンガポールへ入国します。

以前、アメリカので短期間働いた経験がありますが、アメリカの場合、日本国内の大使館でビザが発行されます。一方、シンガポールIPA(ビザ発行の許可書)が出た段階で、渡航し、現地の政府オフィスでビザを申請して初めてビザが発行されます。

IPAが発行されると、通常、約1ヶ月以内にMOMで就労ビザの申請をする必要があります。IPAがいつ発行されるのか分からないのに、発行されたら1ヶ月以内にシンガポールで申請しないといけないので大変です。

よほどのことがない限り、IPAは1ヶ月程度出でるので、渡航時期を計算して、引っ越し準備をしておく必要があります。

(転職の場合)前職の退職手続きおよび前の就労ビザのキャンセル

転職の場合、次の職場で就労ビザの発行を申請する前に、前職の就労ビザをキャンセルする必要があります。

前述のIPAはあくまで「ビザを申請しても良いですよ」という政府からの案内であって、正式なビザではありません。正式のビザは、後述のMOMに行って申請して初めて発行されます。

この前職の修正ビザのキャンセルは、退職日の後、1週間以内に雇用主が行います。 もし前職の退職日を月末、次の職場の勤務開始日を月初にした場合は、次の職場の勤務開始してから前職のビザをキャンセルして、後述の就労ビザを申請する手続きになり、手順がちょっとチグハグな感じになります。これを考慮すると、前職の最終出社日と次の職場の勤務開始費日は1-2週間開けておくと良いでしょう。なお、前職のビザキャンセルとともに短期滞在ビザ (Short term visit pass)が発行され、30日間発行されますので、その間に次のビザを申請できます。 詳細は以下に記載ありますので、参照ください。

https://www.mom.gov.sg/passes-and-permits/employment-pass/cancel-a-pass

https://www.mom.gov.sg/passes-and-permits/s-pass/cancel-a-pass

IPAで指示された場合のみ)健康診断を受ける(結果取得までに5日程度)

ビザ申請時の要件として、就労ビザ用の健康診断結果があった場合は、MOMに行く前に健康診断を受けておく必要があります。

通常、初めてのビザ申請の場合は、健康診断を受ける必要があります。2回目以降は免除される場合があります。

病院は就労ビザの健康診断をサポートしている病院であれば、どこでも良いそうです。

なお、この健康診断は、HIVなど重い病気になっていない確認するためで、血液検査・X線・医師の問診で終わりです。だいたい5営業日程度で結果が出ます。

MOMで就労ビザを申請する(1時間程度)

健康診断の結果が出ると、MOMで就労ビザの申請ができるようになります。申請は予約制なので、事前にオンラインで予約しましょう。

予約が取れたら、予約日に必要な書類を一式そろえて、申請すると、顔写真撮影・指紋登録を終えて、就労ビザの申請が完了。だいたい待ち時間含めて1時間程度で終わりました。

カードが届く(登録後、5営業日)

だいたい申請から5営業日くらいで就労ビザであるカードが届きます。カードには、QRカードがついており、専用のアプリ SGWorkPass でQRコードを読むとビザの詳細(職種、会社、有効期限など)が閲覧できます。

https://www.mom.gov.sg/eservices/sgworkpasswww.mom.gov.sg

以上で、就労ビザ申請が終わりです。 だいたいは、書類を用意して、提出して、待つの繰り返し。スケジュールが完全に確定できない中、ビザ申請と引っ越しが平行して走るので、ちょっと不安な気持ちになりますが、無事に発行されて働き始めると晴れ晴れとした気分になります。

本記事がこれからシンガポールで働くかもしれない人の参考になれば幸いです。

PyCon SG 2019にて ”Building a Data Pipeline using Apache Airflow (on AWS / GCP)” について発表しました

f:id:legoboku:20191115201720j:plain
PyCon SG 2019

4月にPyCon APAC 2019で発表した時の記事を公開しましたが、今回は、地元シンガポールで2019年10月に開催されたPyCon SG 2019で発表しましたので、その際の模様を共有します。

前回、PyCon APAC 2019に参加した時の記事はこちら良ければご覧ください。

https://softwareengineernote.hatenablog.jp/entry/2019/04/17/223739softwareengineernote.hatenablog.jp

PyCon SG 2019での発表の模様

主催であるPyCon User Group Singaporeの皆さんが、発表時の動画を公開してくさってます。非常にありがたいです。

発表資料はこちらです。

発表の動機 = 地元シンガポールで発表したい!

現在、シンガポール在住なので、シンガポールで発表したいと思っていました。 PyCon APAC 2018がシンガポール開催だったので、2019もシンガポールで!と思っていましたが、実際はマニラ開催だったので、ようやく家の近所のイベントに参加できて大助かりです^^

発表の概要 = AWSGCPの両方でAirflowを使った場合の違いを紹介

APACでの発表時は、AWS上でAirflowのクラスタを構築して、初めて本番環境でAirflowを使い始めた時のことを紹介しました。 今回は、当初、APACで質問を受けたSparkとの連携について話するつもりで申し込みまでしましたが、実際はここ最近、Sparkを全く使わなくなったので、タイトルをイベント開催前に変更しました^^;

最近はもっぱらGCPでAirflowを使っており、バッチ系のパイプラインはComposer(Airflowのマネージドサービス)で、ストリーム系はDataflowを使っています。

そういう背景もあり、Airlowの簡単な紹介をした後は、AWS上で自作クラスタを構築・運用してた時の経験、GCP上でマネージド・サービスを使った場合との比較を紹介しました。個人的には、データエンジニアリングをやる上では、インフラ周りはマネージドサービスに移譲できて、ビジネス価値に専念できて、GCPの方が楽だという感想です。

発表後の質疑応答では、Airflowそのものの質問というより、Airflowをどうやってデプロイするか、可用性の高いクラスタを構築するか、という話ばかりでした。発表が終わってからも10人くらいに囲まれて質問者もまじえての議論をしてました。皆さん、十分なインフラエンジニア・DevOpsエンジニアが確保できず、苦労しているんだなという印象でした ^^;

自分でやる余裕がない、スキルが足りない人には、GCPのCloud Composerを使うのが楽だと思います。

余談:gihyoの参加レポートに登場してました!

イベント前の日本人懇親会(元PyCon JPスタッフ同窓会も兼ねている)からPyCon SG 2019のイベントの模様まで、PyCon JPスタッフの鈴木さんが記事を公開されています。私も登場しています。ありがとうございます。

gihyo.jp

次回予告:FOSSASOA Open Tech Summit SingaporeへKubernetesネタを投稿!

来年3月にオープンソース系のイベント、FOSSASOA Open Tech Summit シンガポールで開催されるようです。 募集のトピックに、Kubernetesが入っていたので、仕事でKafkaをGKEにデプロイした時の経験について発表申し込みをしてみようと思います。 無事に受領された場合、登壇後にブログで参加報告を書きたいと思います。

PyCon APAC 2019 で "Building an Analytics Workflow using Airflow" について発表しました

表題の通り、2019/2/23/〜24に開催されたPyCon APAC 2019にてAirflowを使ったアナリティクスワークフローについて発表しました。

www.youtube.com

www.slideshare.net

PyCon APACとは

PyCon APACは、PythonユーザコミュニティによるPythonに関するカンファレンスで、その名の通り、毎年Asia Pacificのいずれかの国で開催されています。 元々は、PyCon Singaporeの方が始めたこともあり、シンガポールでの開催が多いようです。2018年もシンガポールで開催、2019年は初のフィリピン・マニラでの開催でした。

PyConでは、言語自体のセッションはもとより、Webだけでなく、最近ではデータサイエンスやデータエンジニアリングの分野でPythonが活用されていることもあり、データ関係のセッションが増えているようです。

参加の理由

ここ1年半ほどはデータエンジニアリングの仕事をしていて、PySparkでのデータ処理やAirflowでのデータ分析用のワークフロー構築など、主にPythonを活用している機会が多かったため、いつかPyConで発表してみようと思っていました。

また、半年前くらいからSingaporeで働いているため、東南アジアでPyConが開催されておりには発表を申し込んでやろうと思っていたところ、ちょうどマニラでの開催で決まったので応募しました。マニラはシンガポールから4時間ほどと、まあそれほど近くはないですが、日本から行くよりは近いので^^; 応募してみました。

初マニラの感想

実は、マニラに行く前は、東南アジアで行ったことあるのはシンガポールだけだったので、嫁さんからは「お前は本当の東南アジアを知らない」とバカにされていましたが、マニラに来て圧倒されました。 ものすごい大渋滞、ビジネス街ですらあちこち道が壊れてていて、ボロボロの家があったり、やはり日本とは全く違う雰囲気です。

しかし、フィリピン自体は大手ベンダー(欧米系やら東南アジアなど)が開発拠点を作るなど、東南アジアでのソフトウェアエンジニアの仕事のアウトソース先としてかなり発展してきているそうです。500人近くの参加者の中で、地元の人が過半数。皆、若くて、これから頑張ってやろうと野心にみなぎっていました。まずは、いい仕事について、シンガポールなど発展した仕事を見つけるため、やる気満々です。この辺は成熟した日本とは少し違うかなと思いました。

発表内容 "Building an Analytics Workflow using Airflow"

発表では、以下を紹介しました。要はここ1年くらい私のチームが辿った軌跡を良かったこと、悪かったことをふまえなぞり、今ならComposer1択ですとおすすめして締めました。発表中には1個だけ質問もらいましたが、降壇した後も4-5人から質問されて、Airflowの盛り上がりを感じると共に発表してよかったなと思いました。

  • データ分析用のワークフローの定義や簡単な例
  • Airflowの概要と使い方
  • プロダクションで使う際のAirflowクラスタの構築と課題
  • Composer(最近、GCPがリリースしたマネージドのAirflowサービス)の概要と簡単な使い方

発表に至った経緯を説明すると、私の所属するチームでは、Python使いが多いため、Pythonでワークフローを書け、どこの環境でも動かせるOSSということで、Airflowを選び、1年以上プロダクションでも活用しています。私も1年ほどAirflow職人をやっていますが、非常に使い勝手がよく、良い選択をしたと満足感があります。

ただし、やはりクラスタを管理するにはインフラ寄りのスキルセットを持った人の時間をインフラ管理に投資する必要があります。しかし、最近ではインフラ管理よりもビジネス価値に直結するアプリ寄りに時間をさく方が良いと考え、マネージドサービス(Composer)を活用しています。やはり生産性が全く違うので、非常に満足しています。

次はPyCon Singapore 2019!

https://pycon.sg/

次は地元シンガポールでPyCon Singapore 2019が2019年10月に開催されます。今回の発表でのフィードバックを受け、いくつか改良点(Sparkを使う方法など)を加えて、再度、発表を申し込もうと思います。

あるいは、最近、Apache Beam(Dataflow)も活用しているので、こちらのサービスのPythonでの利用について発表するのも良いかなと思います。

以上、続報をご期待ください。

シンガポールの祝日 - 民族・宗教に配慮されて決められている

f:id:legoboku:20190204115348j:plain
Chinese new year
Photo by mentatdgt from Pexels

中華系が民族的多数派であるシンガポールでは、今週は旧正月休暇の週です。中華系の同僚(中国、マレーシア、シンガポール)は皆さん、今週いっぱい休暇をとって、帰省している人が多いようです。

ということで、今回はシンガポールの祝日について紹介します。以下は2019年の祝日です。

  • 他民族国家ということで、最大の盛り上がりを見せるのは独立記念日です。これはアメリカと同じ。
  • 歴史的に多様な民族(中華系・マレー系・インド系)が一緒に暮らしているだけあって、それぞれのそれぞの民族の宗教上重要なお祝いの日を祝日としているなという印象。
  • キリスト教のお祝いがあるのは元々英連邦に属していたからだと思います。
  • 日本と比べると祝日の数が少ないですが、シンガポールでは有給の取得率が高く、有給とは別に病気休暇(sick leave)が存在するので、実際の休暇数は日本より多いと思われます。
日付 祝日 文化 由来
1/1 New Years Day -
2/5 Chinese New Year 中華 旧暦の正月。中華系の国では旧暦の正月でお祝いすることが多い。前日の2/4が半日勤務になる会社もあるようです。
2/6 Chinese New Year Holiday 中華 同上
4/19 Good Friday キリスト教 復活祭前の金曜日。感謝祭の祝日はないらしい。
5/1 Labour Day - 英国・米国にもある労働者の日、いわゆるメーデー
5/19 Vesak Day 仏教 釈迦の誕生、成道、入滅を記念する日。
5/20 Vesak Day Holiday 仏教 同上
6/5 Hari Raya Puasa イスラム イスラム教徒が断食明けに家族と食卓を囲み、神の恵みに感謝する日。
8/9 National Day シンガポール マレー連邦からの独立を記念する日
8/11 Hari Raya Haji イスラム 預言者イブラーヒームの神に対する忠誠心と全幅の信頼を称える日。
8/12 Hari Raya Haji Holiday イスラム 同上
8/27 Deepavali ヒンドゥー教 正義が邪悪に勝利したことを祝い日。光の祭りと言われている。
8/28 Deepavali Holiday ヒンドゥー教 同上
12/25 Christmas Day キリスト教 キリストの生誕を祝う日。