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
shu223
December 19, 2018
Education
0
4
エンジニアという仕事を「楽しみ続ける」ためのキャリア戦略
2018.12.19、フェンリル社で行った講演スライドです。
記事版:
エンジニアという仕事を楽しみ続けるためには
shu223
December 19, 2018
Tweet
Share
More Decks by shu223
See All by shu223
GPT-4o with iOS
shu223
0
29
WhisperKit がだいぶ良いので紹介する
shu223
0
95
Animating Shapes with Simple Equations
shu223
0
17
ローカルLLM on iOS の現状まとめ
shu223
0
52
ARKit in visionOS
shu223
0
7
Core ML版Stable DiffusionをiOSで快適に動かす
shu223
0
52
iOSではじめるフォトグラメトリ #iOSDC
shu223
0
18
MLOps for Core ML #iOSDC 2022
shu223
0
11
slidify-sample
shu223
1
1.2k
Other Decks in Education
See All in Education
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.7k
Design Guidelines and Models - Lecture 5 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
690
1113
cbtlibrary
0
260
Semantic Web and Web 3.0 - Lecture 9 - Web Technologies (1019888BNR)
signer
PRO
1
2.5k
HTML5 and the Open Web Platform - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
1
2.6k
寺沢拓敬 2024. 09. 「言語政策研究と教育政策研究の狭間で英語教育政策を考える」
terasawat
0
200
Medicare 101 for 2025
robinlee
PRO
0
240
Flinga
matleenalaakso
2
13k
AWS All Certが伝える 新AWS認定試験取得のコツ (Machine Learning Engineer - Associate)
nnydtmg
1
570
1030
cbtlibrary
0
300
セキュリティ・キャンプ全国大会2024 S17 探査機自作ゼミ 事前学習・当日資料
sksat
3
850
Qualtricsで相互作用実験する「SMARTRIQS」入門編
kscscr
0
320
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
Done Done
chrislema
181
16k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Teambox: Starting and Learning
jrom
133
8.8k
Code Reviewing Like a Champion
maltzj
520
39k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
It's Worth the Effort
3n
183
27k
Docker and Python
trallard
40
3.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Transcript
エンジニアという仕事を 「楽しみ続ける」ためのキャリア戦略 フリーランス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 • 書籍 Metal BLE 「やりたいこと」「できること」を示すための技術発信 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”になる
- 「ポジショニング」を考える - 「許容できるリスク」を知る
🙋🙋質問$