狠狠撸

狠狠撸Share a Scribd company logo
エンジニアという仕事を?
「楽しみ続ける」ためのキャリア戦略
フリーランスiOSエンジニア
堤 修一
自己紹介
? フリーランスiOSエンジニア
? TwitterやGitHubのIDは shu223(ツーツーミー)
? ブログ『Over&Out その後』『その後のその後』
今日お话しすること
結構悩みました
? iOSの技術の話
- iOSエンジニア以外の方々には意味がない
- iOSエンジニアにもその技術を使わない人にはあまり意味がない
? 30代プログラマとしての遅咲きデビューの話
- これからプログラマになろうとしている人向け
- プロとしてバリバリのフェンリル社の方々にこの話をしても仕方ない
- 自分ではもう新鮮味を感じない。。
? フリーランスの話
- 呼んでいただいたフェンリル社に申し訳ない
今日のテーマ:
エンジニアという仕事を?
「楽しみ続ける」?
ためのキャリア戦略
今日のテーマ:
エンジニアという仕事を?
「楽しみ続ける」?
ためのキャリア戦略
キャリアの変遷
? 2003 ~ 2009 大企業社員時代(非プログラマ)
? 2010 ~ 2012 カヤック(30代でプログラマデビュー)
? 2013 半フリーランス(第1次海外指向)
? 2014 ~ 2016 フリーランス
? 2016.10 ~ 2018.1 Fyusion
? 2018.2 ~ フリーランス(兼 Fyusion)
会社の規模の変遷
0人
10000人
20000人
30000人
大企業A 大企業B カヤック 2013 フリーランス Fyusion フリーランス
10,000
30,000
120 3 1 30 1
20代の頃は大企業志向
会社の規模の変遷(対数)
1人
100人
10000人
大企業A 大企業B カヤック 2013 フリーランス Fyusion フリーランス
10,000
30,000
120
3
1
30
1
収入の変遷
大企業A 大企業B カヤック 2013 フリーランス Fyusion フリーランス
約5倍
半減
? グリーンカードを取得し、海外に移住したい
? いずれは起業し、世界を変えたい
? 技術で世界を良くしたい
??
??
??
どこを目指しているのか
今が最高
? エンジニアとして手を動かしてものづくりをする
のは楽しい
? やっている案件はどれもおもしろい
? 尊敬できる人たちと仕事している
? etc.
??
現状維持するだけ????
これがなかなか大変
? 時流や自分の興味は常に移り変わる
- つくることは楽しいが、同じことばかりやってると飽きる
- 技術や他のエンジニアは常に進化するので「現状維持」は相対
的には後退
- 新しい技術を次々と短時間でマスターするような天才でもない
? 同じ程度の成功では達成感を感じられない
- かといってより大きい成功をし続けるのは簡単ではない
- 自分のコードが動いた! → 簡単なアプリができた! → ストア
に出た! → 他人にDLされた! → ランキングに入った! …
「現状維持」?
(=楽しみ続ける)?
は簡単ではない
今日のテーマ:
エンジニアという仕事を?
「楽しみ続ける」?
ためのキャリア戦略
エンジニアという仕事を?
「楽しみ続ける」ためのアプローチ
1. 勉強を仕事に繋げる
2. “Searchable”になる
3. 「ポジショニング」を考える
4. 「許容できるリスク」を知る
1. 勉強を仕事に繋げる
命題:新しい技術をどうやって身につけるか?
? 新たな刺激のある仕事を獲得するために、新しい技術を習得する
必要がある
- 短時間でマスターするような天才ではない
- 必要に迫られてない勉強を継続することは難しい
→ 勉強したいことを仕事にする
- 「平日昼間のゴールデンタイム」をフルに使って経験を積める
- 仕事だから続けられる!
- 稼げる!
??
「勉強したい」=スキルがまだ足りてない
それで仕事が獲得できるのか?
10000時間の法則
? その道のトップレベルのスキルを身につけるために必
要な時間
? 土日に4時間ずつやって25年
? かなり大変
20時間の法則
? 20時間:未経験の人から見ると「すごい!」っていうぐら
いのレベルにはなる
? これぐらいでも仕事を獲得できる
- やれる人がいないところを狙う
- 自分の得意領域と組み合わせる
- 成功報酬を提案する
- とにかく依頼側にメリットがあり、損/リスクがなければ仕
事になる可能性がある
??
どうやって勉強を仕事に繋げるのか?
→ 勉強したことを発信する
自分の例:
ひたすらiOSアプリをつくってきて、さすがにちょっと飽きて
きた頃、ハードウェアの世界に興味を持った
? iBeaconデバイスを買い、自分で試してブログをいくつか書いた
→ それを見ていた人の紹介で案件獲得
? 同時期、iOS向けSDKを提供しているガジェットを試す連載を自
分で企画を持ち込んで開始した
→ konashiを使うR&D的な仕事を獲得
という感じで学んだことを発信しているうちに???
iOS × ハードウェアの制作実績の一部
Music for the Deaf denkiport
「勉強したいことに関わる仕事」は全力で取りに行く
? 報酬=お金 ではなく、報酬=お金+実績+スキル
- 報酬面で妥協したり、オーバーワークすることも「こ
こぞ」というときにはあり
自分の例:
「iOS 11 Programming」でARKit, Metalの章の執筆を担当
※Metal: iOSのGPUを制御するAPI
? この時点でARKitは触ったことなし、Metalはほぼ初心者
? ずっと興味があったARと低レイヤグラフィックスAPIにつ
てい本を書きながら学ぶチャンス!
? 会社(当時)の有休を全部使って、毎年恒例のOSSの制作
も見送って、書籍執筆にできる限りのリソースを投入
? 本を書きながら知識が付き、さらに「ARKit, Metalの本を
書いた堤さん」と、初心者から一気にちょっとした権威に
その後ARKit, Metalの仕事も獲得できるように
? Fyusion(アプリ, SDK, etc.): 画像処理、描画まわ
りは全面的にMetalを利用
? とある案件: ARKitの手書き機能+Metalシェーダでエ
フェクト
? とある海外案件: フェイストラッキングAR + Metal画
像補正 & エフェクト
1. 勉強を仕事に繋げる
? 独学を続けるより、お金を稼ぎつつフルタイムで経
験を積んだ方が遥かに早く?確実に新しい技術を習
得できる
? 仕事に繋げるために、勉強したことをアウトプット
する
? 報酬としてのお金にとらわれすぎないこと。スキル
や実績も報酬の一部と考え、「勉強したいことに関
わる仕事」は全力で取りに行く
2. “Searchable”になる
命題:おもしろい仕事が来るポジションにいるには?
? 興味のある技術やプロダクトに関わりたい
? 求人が出たり、プロダクトが話題になるタイミングで
自分からアクションするのでは遅い
- おもしろい人がおもしろいことを始めるタイミングで声
をかけてもらいたい
? BONX: プロダクト構想段階(CEO宮坂さんが起業するより
も前)から声をかけてもらっていた
? WHILL: アプリ連携機能の開発開始前に声をかけてもらった
? Music for the Deaf: BLEを使って無線化する際に声をかけ
てもらった
Music for the Deaf
Searchableになる
「自分が何ができる人で、何をやりたい人か」を示し、
それを必要とする人に見つけてもらえるようにする
? ブログ
? 勉強会、カンファレンス
? 口コミ(知り合いの紹介)
? GitHub
どうやって示すか
? 日々学んだ技術Tipsをブログに書く
- 分野を絞る
- 「やりたいこと」「できること」の両方のアピールになる
? GitHubでソースを公開する
- 「やりたいこと」「できること」の両方のアピールになる
- Star数が良し悪しを決めるものではないが、Star数が多いほうが
「見つけてもらう」チャンスは増える
? 「書籍」「講演」など、専門外の人にも響く「箔」を付ける
? Qiita
? GitHub
? 書籍
MetalBLE
「やりたいこと」「できること」を示すための技術発信
Core ML
海外から「见つけられる」には?
海外案件の実績
? @サンフランシスコ: Fyusion
? @バンベルク(ドイツ): iBeaconを使用した美術館向けアプリ
? @ベルリン: とある画像や動画を多用するアプリ
? from イスラエル: watchOSアプリ
? Metal, ARKit, BLE系は海外からの引き合い多数
海外から「見つけられる」ために:OSS
? トータル23,000スター以上
? スター数100以上のリポジトリが19個
? Trending #1 (=世界1位)多数
海外から「見つけられる」ために:海外カンファレンス登壇
? UIKonf (ドイツ)
? iOSCon (イギリス)
? AltConf (アメリカ?サンフランシスコ)
? 360iDev (アメリカ?デンバー)
? 外務省のプログラムでイスラエルで講演×4
2. Searchableになる
おもしろい仕事を獲得するために、自分が「で
きること」「やりたいこと」を示し、それを必
要とする人に見つけてもらえるようにする
3. 「ポジショニング」
を考える
命題:新しいことをやりたい
? 同じことをずっとやっていても飽きるので、新しい分
野もやっていきたい
? が、新しい技術を次々と短時間でマスターするような
天才ではない
? 早く仕事に繋げないと勉強が続かない
→ 得意領域に軸足を置きつつ、新しい分野にも関われ
るようなポジショニングを考える
例1:iOS飽きた。ハードウェア楽しそう
? Arduinoやラズパイ等、簡単に学び、試せるように
はなってきている
? が、やはりプロダクトレベルで魅力的なモノをつく
れるようになるまでは遥かに遠い
BLE
Firmware Engineer iOS Engineer
BLEをマスターすればハード側ができなくても
ハードウェアプロジェクトに関われる!
例2:機械学習すごい。自分も何かやりたい
? TensorFlowやKeras等、無料で使える高機能なツー
ルが公開されている
? 書籍やオンライン講座等、高品質な学習リソースも
多い
? とはいえ、その道での学位持ちや機械学習専任エン
ジニア等のガチ勢が大勢いる
「学習済みモデルをiOSで動かす」?
ところでポジション取り
制作実績
? まごチャンネル「子どもファインダー」
? とある著名iOSアプリへのTensorFlowモデル組み込み
? とある企業の機械学習を利用したiOS SDK開発
要素技術
? 機械学習の基礎、TensorFlowをちょこっと触った経験、C++ for
iOSの経験、MetalでiOSのGPUを制御する知識、etc… + iOSの経験
3. 「ポジショニング」を考える
興味のある新しいことをやるために、技術を次々
とマスターするのは大変。いきなりガチで軸足
を移すよりも、得意領域に軸足を置きつつ、新
しい分野にも関われるようなポジショニングを
考える
4. 「許容できるリスク」
を知る
命題:どう違いを出すか?
? 技術力だけ追い求めても上には上がいてキリがない
? 何か別のところで違いを出したい
「他人にはハイリスクでも自分にはローリスク」
なところを狙う
? 他人はなかなかやらない「ハイリスク?ハイリター
ン」な行動があるとして、そのリスクを自分は許容
できるのであれば、それは自分にとって「ローリス
ク?ハイリターン」な行動となる
→ リスクを取らずにリターンを得られる
例1: 海外のカンファレンスで英語で講演
? 許容したリスク:英語が話せない。恥をかくかもしれない
? なぜ許容できたか:
- ちゃんと話すべきネタと知見があった
- 入念に準備すればそこまでの大失敗にもならないはず
? 得たリターン:
- 海外での仕事
- 他のカンファレンスでの講演
- 海外で講演できるという自信
- 海外で講演したという箔
海外カンファレンスに登坛した顷の英语力
例2: 海外就職
? 許容したリスク:すぐに解雇されるリスク?
? なぜ許容できたか:
- 解雇された翌日からでも仕事をゲットできる自信がある
- もともと就職は目指してなかったのでむしろ早くフリーランスに戻りたい
? 得たリターン:
- 技術面で色々
- 海外就職という経験
- H-1Bビザ
- 英語慣れ
逆の例: 車の運転
? 許容できないリスク:
- 人を怪我させるかもしれないリスク
- 自分や同乗者を怪我させるかもしれないリスク
? 世の中の多くの人はこのリスクを許容できている
4. 「許容できるリスク」を知る
? 自分にとっては許容できるリスクを見極めて
行動することで、リスクなしでハイリターン
(技術?実績等)を得られることがある
? 何が許容できて、何が許容できないかは人そ
れぞれ。そこが武器になりうる
まとめ
? エンジニアという仕事を「楽しみ続ける」のは簡
単ではない
? 4つのアプローチ
- 勉強を仕事に繋げる
- “Searchable”になる
- 「ポジショニング」を考える
- 「許容できるリスク」を知る
??质问$

More Related Content

エンジニアという仕事を楽しみ続けるためのキャリア戦略