Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
北米のソフトウェア開発
Search
mahata
July 21, 2017
Technology
3
540
北米のソフトウェア開発
「BPStudy#119」の発表資料
mahata
July 21, 2017
Tweet
Share
More Decks by mahata
See All by mahata
Developer Tools
mahata
0
110
本番環境と開発環境で使える コンテナイメージ運用 / Kubernetes Meetup Tokyo #2
mahata
2
4.3k
Introduction to Docker
mahata
0
67
Other Decks in Technology
See All in Technology
Kiro を用いたペアプロのススメ
taikis
1
180
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
490
シニアソフトウェアエンジニアになるためには
kworkdev
PRO
3
180
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
220
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
5
1.3k
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
13
11k
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.9k
Python 3.14 Overview
lycorptech_jp
PRO
1
120
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
100
生成AIを利用するだけでなく、投資できる組織へ / Becoming an Organization That Invests in GenAI
kaminashi
0
110
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
750
Featured
See All Featured
Music & Morning Musume
bryan
46
7k
Six Lessons from altMBA
skipperchong
29
4.1k
Speed Design
sergeychernyshev
33
1.4k
How to Ace a Technical Interview
jacobian
281
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
Designing for Performance
lara
610
69k
Faster Mobile Websites
deanohume
310
31k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
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!