Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
北米のソフトウェア開発
Search
mahata
July 21, 2017
Technology
570
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
北米のソフトウェア開発
「BPStudy#119」の発表資料
mahata
July 21, 2017
More Decks by mahata
See All by mahata
Developer Tools
mahata
0
130
本番環境と開発環境で使える コンテナイメージ運用 / Kubernetes Meetup Tokyo #2
mahata
2
4.4k
Introduction to Docker
mahata
0
76
Other Decks in Technology
See All in Technology
「休む」重要さ
smt7174
7
1.8k
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
1.1k
AI工学特論: MLOps・継続的評価
asei
11
2.9k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
コンテナ・K8s研修【MIXI 26新卒技術研修】#2
mixi_engineers
PRO
1
280
信頼できるテスティングAIをどう育てるか?
odan611
0
130
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1.4k
キャリアLT会#3
beli68
2
280
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
4
1k
Git 研修【MIXI 26新卒技術研修】#2
mixi_engineers
PRO
1
380
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
550
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.1k
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
500
Producing Creativity
orderedlist
PRO
348
40k
How to Talk to Developers About Accessibility
jct
2
440
Technical Leadership for Architectural Decision Making
baasie
3
450
Designing Experiences People Love
moore
143
24k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
350
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Color Theory Basics | Prateek | Gurzu
gurzu
0
400
Paper Plane
katiecoart
PRO
2
52k
Designing for humans not robots
tammielis
254
26k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
Transcript
北米のソフトウェア開発 (BPStudy#119) 真幡 康徳 @スマートニュース株式会社
お品書き 1. 北米でソフトウェア開発者として働く方法 2. 北米のエンジニアリング文化 3. 地理的に分散した開発拠点を作る方法
自己紹介
略歴 • 2005年: Yahoo! Japan 入社 (新卒) • (転職3回) •
2010年: VOYAGE GROUP 退社 • 2011年: 渡加 (BC州バンクーバー) • 同年: Hootsuite, Inc. 入社 • 2015年: Hootsuite, Inc. 退社 • 2017年: SmartNews 入社
略歴 • 2005年: Yahoo! Japan 入社 (新卒) • (転職3回) •
2010年: VOYAGE GROUP 退社 • 2011年: 渡加 (BC州バンクーバー) • 同年: Hootsuite, Inc. 入社 • 2015年: Hootsuite, Inc. 退社 • 2017年: SmartNews 入社 気持ちの変化
気持ちの変化 • 国内に「転職したい」企業がなくなった • シリコンバレーへの憧れが強くなった
気持ちの変化
お品書き 1. 北米でソフトウェア開発者として働く方法 2. 北米のエンジニアリング文化 3. 地理的に分散した開発拠点を作る方法
北米とは • すなわち「アメリカ合衆国」
北米とは • すなわち「アメリカ合衆国」 • そして「カナダ」
北米とは • すなわち「アメリカ合衆国」 • そして「カナダ」 • さらに「メキシコ」
北米とは • すなわち「アメリカ合衆国」 • そして「カナダ」 • さらに「メキシコ」 今回お話する対象
None
None
シリコンバレー
シリコンバレー
バンクーバー
えっ... • シリコンバレーで働きたいのでは?
えっ... • シリコンバレーで働きたいのでは? • そうなんです (´・ω・`)
唐突ですが
北米で働くために必要なのは?
北米で働くために必要なのは? • もちろん英語力
北米で働くために必要なのは? • もちろん英語力 • ...ではなく、就労許可証 (就労ビザ)
就労ビザを取得する正攻法 • 現地の企業にスポンサーしてもらう ◦ 1. 日本支社 (本社?) からの転勤 ◦ 2.
日本から現地企業への転職 • 現地の大学を卒業する • 現地国籍の配偶者を作る
就労ビザを取得する正攻法 • 現地の企業にスポンサーしてもらう ◦ 1. 日本支社 (本社?) からの転勤 ◦ 2.
日本から現地企業への転職 • 現地の大学を卒業する • 現地国籍の配偶者を作る 全部難しくないですか... (´・ω・`)
簡単にビザを 手に入れたい
ご存知ですか? ワーキングホリデー • 海外で「ワーク」と「ホリデー」を楽しめる制度 ◦ ワーク: 「就労ビザ」 ◦ ホリデー: 「観光ビザ」
• (言い換えると...) 高性能ビザ発行制度
なにそれ 最高じゃん?
ワーキングホリデーの実際 • 年齢制限あり (おおむね30才) • ワーキングホリデー協定参加国のみで有効 ◦ カナダ ◦ オーストラリア
◦ イギリス ◦ etc.
ワーキングホリデーの実際 • 年齢制限あり (おおむね30才) • ワーキングホリデー協定参加国のみで有効 ◦ カナダ ◦ オーストラリア
◦ イギリス ◦ etc. アメリカ合衆国は対象外
ワーキングホリデーの実際 • 年齢制限あり (おおむね30才) • ワーキングホリデー協定参加国のみで有効 ◦ カナダ ◦ オーストラリア
◦ イギリス ◦ etc. 当時は消極的な選択だった
ちょっと待ってほしい • 年齢オーバーなんだが... (´・ω・`)
(再掲) 就労ビザの取得方法 • 現地の企業にスポンサーしてもらう ◦ 1. 日本支社 (本社?) からの転勤 ◦
2. 日本から現地企業への転職 • 現地の大学を卒業する • 現地国籍の配偶者を作る
最短で大学を攻略 • 社会人向けの短期コース ◦ がんばれば9ヶ月で卒業可能 ◦ e.g. UC Berkeley Extension
復習 しましょう
北米で働くために必要なのは? • もちろん就労許可証 (就労ビザ)
北米で働くために必要なのは? • もちろん就労許可証 (就労ビザ) • ...だけではなく、英語力
英語学校の選び方 • 総合大学付属の語学学校がオススメ ◦ 各専攻の学生と仲良くなるチャンス ▪ 技術的な文章を添削してもらえるかも
英語学校の選び方 • 総合大学付属の語学学校がオススメ ◦ 各専攻の学生と仲良くなるチャンス ▪ 技術的な文章を添削してもらえるかも 英語の先生が 必ずしも技術用語に 明るいわけではない
英語学校の選び方 • 総合大学付属の語学学校がオススメ ◦ 各専攻の学生と仲良くなるチャンス ▪ 技術的な文章を添削してもらえるかも
お品書き 1. 北米でソフトウェア開発者として働く方法 2. 北米のエンジニアリング文化 3. 地理的に分散した開発拠点を作る方法
ソフトウェア技術者は 尊敬の対象 • 例)「俺、プログラマやってるんだ」
ソフトウェア技術者は 尊敬の対象 • 例)「俺、プログラマやってるんだ」 ◦ 日本: 「そっか、大変だね... (´・ω・`)」 ◦ 北米:
「すごい! カッコいい!!」 (一部誇張あり)
ソフトウェア技術者 in 北米 • 難しいことを理解していると思われている ◦ いわゆる文系プログラマは少ない ◦ (一般に) 採用ハードルは高い
▪ 新卒一括採用もない • インターンからの入社はありえる • 高給取りだと思われている
北米企業のつらいところ • 解雇が非常にカジュアル ◦ 生存戦略が必要 ▪ 自身の成果を周囲にアピール ▪ 替えのきかない仕事の選択
北米企業のつらいところ • 解雇が非常にカジュアル ◦ 生存戦略が必要 ▪ 自身の成果を周囲にアピール ▪ 替えのきかない仕事の選択
私の Hootsuite でのロールの変化 • 2011~2012: アプリケーション開発者 (PHP/JavaScript) • 2012~2014: ローカライズ技術者
(Python) • 2015: DevOps エンジニア
私の Hootsuite でのロールの変化 • 2011~2012: アプリケーション開発者 (PHP/JavaScript) • 2012~2014: ローカライズ技術者
(Python) ◦ (少なくとも) 二ヶ国語の理解が必須 ◦ (社内で) 非主流のプログラミング言語の理解が必須 • 2015: DevOps エンジニア
私の Hootsuite でのロールの変化 • 2011~2012: アプリケーション開発者 (PHP/JavaScript) • 2012~2014: ローカライズ技術者
(Python) • 2015: DevOps エンジニア ◦ 色々な “歴史的経緯” の理解が必須
北米企業の給与 • (基本的に) 交渉しなければ昇給しない ◦ 例えば 1 on 1 などで主張する
• 入社時の給与交渉も普通に行われる
私の北米時代の給与の変遷 • (オフレコ)
北米の技術チームの典型的構成 • プロダクトマネージャ • エンジニアリングマネージャ • ソフトウェアエンジニア ◦ テックリード ◦
シニア / ジュニア
北米の技術チームの典型的構成 • プロダクトマネージャ • エンジニアリングマネージャ • ソフトウェアエンジニア ◦ テックリード ◦
シニア / ジュニア ディレクター相当? チームリーダー相当?
北米の技術チームの典型的構成 • プロダクトマネージャ ◦ プロダクトに責任を追う • エンジニアリングマネージャ • ソフトウェアエンジニア ◦
テックリード ◦ シニア / ジュニア
北米の技術チームの典型的構成 • プロダクトマネージャ • エンジニアリングマネージャ ◦ チームビルドに責任を負う • ソフトウェアエンジニア ◦
テックリード ◦ シニア / ジュニア
北米の技術者採用 • スキル要求がかなり限定的 ◦ 日本: 「要プログラミング経験3年」 ◦ 北米: 「要Rails経験3年」 ▪
チームごとに採用するため
北米の技術者採用 • カバーレター文化 • リファラル文化 • 電話文化
北米の技術者採用 • カバーレター文化 ◦ 画一的なレジュメでは相手にされない ◦ 募集要項に即したレターを書く • リファラル文化 •
電話文化
北米の技術者採用 • カバーレター文化 • リファラル文化 ◦ 人気企業はリファラルがないと面接にたどり 着けない ◦ Meetup
などであらかじめツテを作る • 電話文化
北米の技術者採用 • カバーレター文化 • リファラル文化 • 電話文化 ◦ 現地面接の前に電話でふるいにかけること が普通
北米の技術者採用 - 事例紹介 • (オフレコ)
北米の技術者面接 • ほぼ間違いなく技術者が面接する ◦ 入社したら同僚になる人間 ◦ 入社したら上司になる人間 • ほぼ間違いなく技術的なトピックが聞かれる •
かなり時間をかけて面接される ◦ まるまる数日かけて選別されることもある
北米の技術者面接 • ホワイトボードコーディングはある程度のパター ンがある
北米の技術者面接
北米の技術者面接 (例) • 一般的なスタックのように、push() と pop() が可 能で、さらにスタック中から最大の要素を返却す る getMax()
が実装されたスタッククラスを作成し てください。なお、getMax() は O(1) で動作する ものとします。
お品書き 1. 北米でソフトウェア開発者として働く方法 2. 北米のエンジニアリング文化 3. 地理的に分散した開発拠点を作る方法
大前提 • 開発拠点の分散は とても 難しい • 前職でも開発拠点は分散させていない
開発拠点を分散させる難しさ • 言語の壁 • タイムゾーンの壁 • 空気感 (?) の壁
開発拠点間の言語の壁 • 歯を食いしばってがんばるしかない
開発拠点間の言語の壁 • 歯を食いしばってがんばるしかない • ...が、仕組みでカバーできる部分も
SmartNews の最近の取り組み
まだ道半ば • たとえば、ボットはどうローカライズする?
まだ道半ば
開発拠点間の時差の壁 • Google Calendar は優秀 ◦ 設定次第でかなり時差を吸収できる
開発拠点間の時差の壁
開発拠点間の時差の壁
常に相手のタイムゾーンを意識 • たとえば Clocker
便利ツールまじ便利 • とはいえ... ◦ 同じ空間を共有する方が相互理解は深まる ▪ 交流を促す仕組みが求められる
None
今日お話したこと 1. 北米でソフトウェア開発者として働く方法 2. 北米のエンジニアリング文化 3. 地理的に分散した開発拠点を作る方法
今日お話したこと 1. 北米でソフトウェア開発者として働く方法 2. 北米のエンジニアリング文化 3. 地理的に分散した開発拠点を作る方法 道半ば (´・ω・`)
一緒にやって いきましょう
まずは気軽にランチでも
None
Thanks!