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
3
530
北米のソフトウェア開発
「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.2k
Introduction to Docker
mahata
0
64
Other Decks in Technology
See All in Technology
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.4k
実運用で考える PGO
kworkdev
PRO
0
150
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
190
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
2.8k
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
200
AI エージェントとはそもそも何か? - 技術背景から Amazon Bedrock AgentCore での実装まで- / AI Agent Unicorn Day 2025
hariby
4
1.1k
研究開発と製品開発、両利きのロボティクス
youtalk
1
470
ガチな登山用デバイスからこんにちは
halka
1
210
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
540
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
390
Oracle Cloud Infrastructure:2025年8月度サービス・アップデート
oracle4engineer
PRO
0
200
AWSで始める実践Dagster入門
kitagawaz
0
230
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Speed Design
sergeychernyshev
32
1.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Unsuck your backbone
ammeep
671
58k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
What's in a price? How to price your products and services
michaelherold
246
12k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
Designing for humans not robots
tammielis
253
25k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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!