SlideShare a Scribd company logo
1 of 50
Download to read offline
長く生きのこる話
(ジェネラリスト編)
@ysugimoto
agatsuma.survive #5
Yoshiaki Sugimoto
RichMedia inc.
Backend / Frontend Engineer
@ysugimoto
@sugimoto1981
名古屋で約7年
東京に来て約2年
沖縄にハマって約3年
1. 地方→都会に移った所感
2. 今日まで生きのこるために
3. この先生きのこるために
✖ フルスタック
○ ジェネラリスト
ジェネラリスト    スペシャリスト
地方→都会に
移った所感
Nagoya
PHP + JavaScriptの受託をメインにCMSを開発したり
サーバ・インフラ・PM・ディレクション・etc...
規模的に一人が多方面をカバーする体系 (あるよね)
このままで良い?
特定分野への専門性が得られないことへの 藤
新しい技術スタックへの追従不足への焦燥
サーバーサイド?フロントエンド?
年齢的にも決断が迫られる
Tokyo
フロントエンド専業を求めてブラウザゲーム開発を
数人規模→数千人規模、数十人規模のProject
ネイティブへのシフト / 基盤SDKの開発
C++ / Objective-C / Golang / Rust / etc...
フロント…エンド…?
(再)このままで良い?
Tokyo vol.2
Webサービス開発のバックエンドへ
PHPとの再会、フロントエンドをもう一度
古いコード再生と新しいコード創出のバランス
東京に来て、どう?
• チームビルディングの難しさ・達成感
• スキルセットのばらつきをどう担保するか
• 属人化の排除と技術的負債の返済計画
• 体重が増加するのは何人にも止められなかった
学び
(技術的な)
需要と供給のバランス
• いわゆる”凄腕”の方のコードを見る機会
• エンジニアの政治事情
• 情報の感度と鮮度
• 歳を取ったら落ち着いてきた
etc
今日まで生きのこるために
学習計画を立てる
• 遊びなら失敗してもいい、知見を得るのが目的
• 既存技術と関連付ける
• 採用される / 採用できるように根回し(アピール)
趣味から業務に還元
but
• ツールや技術に振り回されないこと
• プロダクトをゴールにした方針設計と手段
• 適材適所の判断力を養う
目的を履き違えない
“数万通りのHowを学ぶより、
たったひとつのWhyを知れ"
How = 問題を解決するための手段 (= Hack, Library)
Why = そもそもの問題と技術スタック
• 言語そのもの、低レイヤー、アルゴリズム
• 昔も今も普遍的 == 生きのこっている
• 新しい技術スタックに対しても学習コストは下がる※
※ Drasticなものは除く
e.g.
“銀の弾丸はない”
できること、手数を増やしておく
技術の波に流されない錨を下ろす
属人化しない、させない
“ショットガンならある”
週3でバーに行けるくらい生きのこっています
半年に一度沖縄に行けるくらい生きのこっています
now
この先生きのこるには
自分のポリシー
vs 新しい技術スタック
• 流行ってるなら業務で使うチャンスないとおかしい
• 大抵は既存の技術・言語に乗っかっている
• 少しやれば使えるくらいに地力と知識をつける
全部やろうとしない
しっかり土台作りを
(土台ばかり立派にしてもダメ)
vs 枯れた or 枯れ始めた
技術スタック
• ドキュメント・テストのない実装
• 開発当初から継ぎ足された秘伝のほげほげ
• あちらを直せばこちらがデグレる
• リファクタリング工数、そんなものはない
古いコードは を向く
• 誰かに / 何かに極端に依存し過ぎない
• 数年後(特に自分以外が)噛み付かれないために
• Githubにあげる / OSSにするのは有効な手段
コードを手懐ける
人の目に触れさせることで、
腐敗は遅くなる
まとめ
「古臭いことやってるなぁ」と思うこと、ありますよね
きっと数年後も同じこと思う人がいます
古いコードの面倒を見る技術と需要もあるということ
※ いわゆる界隈の有名人になりたいのでなければ。 の道
新しさと古さのバランスを保ちましょう
ジェネラリスト編でした
Thank you!
https://flic.kr/p/iXsBSY
https://flic.kr/p/jABFM1
https://flic.kr/p/58KGb4
https://flic.kr/p/7kFgYt
https://flic.kr/p/eVJyjn
https://flic.kr/p/59ngDA
https://flic.kr/p/p6g6rD

More Related Content

What's hot

Sac201903 presentation document
Sac201903 presentation documentSac201903 presentation document
Sac201903 presentation documentYoshitaka Okada
 
木下是雄『理科系の作文技術』の紹介
木下是雄『理科系の作文技術』の紹介木下是雄『理科系の作文技術』の紹介
木下是雄『理科系の作文技術』の紹介Ryo Ishigaki
 
IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015
IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015
IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015Kohei MATSUSHITA
 
TensorFlow Liteを使った組み込みディープラーニング開発
TensorFlow Liteを使った組み込みディープラーニング開発TensorFlow Liteを使った組み込みディープラーニング開発
TensorFlow Liteを使った組み込みディープラーニング開発Makoto Koike
 
Uec.R#3 YjdnJlpを使ってみた
Uec.R#3 YjdnJlpを使ってみたUec.R#3 YjdnJlpを使ってみた
Uec.R#3 YjdnJlpを使ってみたAtsushi Hayakawa
 
IoTLT長野 vol.1 SORACOM Air for Cellarer の plan-D/plan-K を試してみた
IoTLT長野 vol.1 SORACOM Air for Cellarer の plan-D/plan-K を試してみたIoTLT長野 vol.1 SORACOM Air for Cellarer の plan-D/plan-K を試してみた
IoTLT長野 vol.1 SORACOM Air for Cellarer の plan-D/plan-K を試してみたKoichiro Oki
 
個人で30本スマホアプリリリースしたときのコツ5つを紹介してみるよ(LT編
個人で30本スマホアプリリリースしたときのコツ5つを紹介してみるよ(LT編個人で30本スマホアプリリリースしたときのコツ5つを紹介してみるよ(LT編
個人で30本スマホアプリリリースしたときのコツ5つを紹介してみるよ(LT編Makoto Nishimoto
 
Developers.IO 2016 | 疎結合で非同期なチーム開発
Developers.IO 2016 | 疎結合で非同期なチーム開発Developers.IO 2016 | 疎結合で非同期なチーム開発
Developers.IO 2016 | 疎結合で非同期なチーム開発Motokatsu Matsui
 
「IoTをビジネスの力に」IoTデータ伝送プラットフォーム "Plat'Data Processing"
「IoTをビジネスの力に」IoTデータ伝送プラットフォーム "Plat'Data Processing"「IoTをビジネスの力に」IoTデータ伝送プラットフォーム "Plat'Data Processing"
「IoTをビジネスの力に」IoTデータ伝送プラットフォーム "Plat'Data Processing"Kohei MATSUSHITA
 

What's hot (9)

Sac201903 presentation document
Sac201903 presentation documentSac201903 presentation document
Sac201903 presentation document
 
木下是雄『理科系の作文技術』の紹介
木下是雄『理科系の作文技術』の紹介木下是雄『理科系の作文技術』の紹介
木下是雄『理科系の作文技術』の紹介
 
IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015
IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015
IoT時代のデータ伝送とインフラに求められている機能 Developers.IO 2015
 
TensorFlow Liteを使った組み込みディープラーニング開発
TensorFlow Liteを使った組み込みディープラーニング開発TensorFlow Liteを使った組み込みディープラーニング開発
TensorFlow Liteを使った組み込みディープラーニング開発
 
Uec.R#3 YjdnJlpを使ってみた
Uec.R#3 YjdnJlpを使ってみたUec.R#3 YjdnJlpを使ってみた
Uec.R#3 YjdnJlpを使ってみた
 
IoTLT長野 vol.1 SORACOM Air for Cellarer の plan-D/plan-K を試してみた
IoTLT長野 vol.1 SORACOM Air for Cellarer の plan-D/plan-K を試してみたIoTLT長野 vol.1 SORACOM Air for Cellarer の plan-D/plan-K を試してみた
IoTLT長野 vol.1 SORACOM Air for Cellarer の plan-D/plan-K を試してみた
 
個人で30本スマホアプリリリースしたときのコツ5つを紹介してみるよ(LT編
個人で30本スマホアプリリリースしたときのコツ5つを紹介してみるよ(LT編個人で30本スマホアプリリリースしたときのコツ5つを紹介してみるよ(LT編
個人で30本スマホアプリリリースしたときのコツ5つを紹介してみるよ(LT編
 
Developers.IO 2016 | 疎結合で非同期なチーム開発
Developers.IO 2016 | 疎結合で非同期なチーム開発Developers.IO 2016 | 疎結合で非同期なチーム開発
Developers.IO 2016 | 疎結合で非同期なチーム開発
 
「IoTをビジネスの力に」IoTデータ伝送プラットフォーム "Plat'Data Processing"
「IoTをビジネスの力に」IoTデータ伝送プラットフォーム "Plat'Data Processing"「IoTをビジネスの力に」IoTデータ伝送プラットフォーム "Plat'Data Processing"
「IoTをビジネスの力に」IoTデータ伝送プラットフォーム "Plat'Data Processing"
 

Similar to agatsuma.survive#5

Code for Japan Summit フェロー大集合プレゼン資料 浪江町編
Code for Japan Summit フェロー大集合プレゼン資料 浪江町編Code for Japan Summit フェロー大集合プレゼン資料 浪江町編
Code for Japan Summit フェロー大集合プレゼン資料 浪江町編Takayuki Yoshinaga
 
オープンデータディ2017(講演)
オープンデータディ2017(講演)オープンデータディ2017(講演)
オープンデータディ2017(講演)Hiroyuki Ichikawa
 
アジャイルジャパン2018 参加レポート
アジャイルジャパン2018 参加レポートアジャイルジャパン2018 参加レポート
アジャイルジャパン2018 参加レポートnaoto teshima
 
ここがスゴい(変だ)よ!Git lab!
ここがスゴい(変だ)よ!Git lab!ここがスゴい(変だ)よ!Git lab!
ここがスゴい(変だ)よ!Git lab!Naoharu Sasaki
 
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみNaoyuki Yamada
 
オープンプロセスで変える調達改革
オープンプロセスで変える調達改革オープンプロセスで変える調達改革
オープンプロセスで変える調達改革Hal Seki
 
オープンプロセスで変える調達改革
オープンプロセスで変える調達改革オープンプロセスで変える調達改革
オープンプロセスで変える調達改革Code for Japan
 
開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話Ito Takayuki
 
近江八幡市オープンデータ講習会(20171110)
近江八幡市オープンデータ講習会(20171110)近江八幡市オープンデータ講習会(20171110)
近江八幡市オープンデータ講習会(20171110)Hiroyuki Ichikawa
 
2016 03 05_yokohama_north
2016 03 05_yokohama_north2016 03 05_yokohama_north
2016 03 05_yokohama_northRyo Tomidokoro
 
Scratchを使った CaT的脳トレのすすめ
Scratchを使った CaT的脳トレのすすめScratchを使った CaT的脳トレのすすめ
Scratchを使った CaT的脳トレのすすめMasao Niizuma
 
Go conference 2021 autumn
Go conference 2021 autumnGo conference 2021 autumn
Go conference 2021 autumnmasahiko ito
 
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」Takashi Uemura
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
福岡のIT系勉強会情報
福岡のIT系勉強会情報福岡のIT系勉強会情報
福岡のIT系勉強会情報健人 井関
 
デジタルが切り開く未来ビジネス
デジタルが切り開く未来ビジネスデジタルが切り開く未来ビジネス
デジタルが切り開く未来ビジネスOsaka University
 
クラウド移住で地方に住むということ
クラウド移住で地方に住むということクラウド移住で地方に住むということ
クラウド移住で地方に住むということTakehito Tanabe
 
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考えるSwiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考えるTakuya Kitamura
 
JEPA2017年年末イベントパネルディスカッション資料
JEPA2017年年末イベントパネルディスカッション資料JEPA2017年年末イベントパネルディスカッション資料
JEPA2017年年末イベントパネルディスカッション資料馮 富久
 
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介Sakae Saito
 

Similar to agatsuma.survive#5 (20)

Code for Japan Summit フェロー大集合プレゼン資料 浪江町編
Code for Japan Summit フェロー大集合プレゼン資料 浪江町編Code for Japan Summit フェロー大集合プレゼン資料 浪江町編
Code for Japan Summit フェロー大集合プレゼン資料 浪江町編
 
オープンデータディ2017(講演)
オープンデータディ2017(講演)オープンデータディ2017(講演)
オープンデータディ2017(講演)
 
アジャイルジャパン2018 参加レポート
アジャイルジャパン2018 参加レポートアジャイルジャパン2018 参加レポート
アジャイルジャパン2018 参加レポート
 
ここがスゴい(変だ)よ!Git lab!
ここがスゴい(変だ)よ!Git lab!ここがスゴい(変だ)よ!Git lab!
ここがスゴい(変だ)よ!Git lab!
 
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ
浪江町タブレットで採用した、 Cordovaで作るHTML5のAndroidアプリのしくみ
 
オープンプロセスで変える調達改革
オープンプロセスで変える調達改革オープンプロセスで変える調達改革
オープンプロセスで変える調達改革
 
オープンプロセスで変える調達改革
オープンプロセスで変える調達改革オープンプロセスで変える調達改革
オープンプロセスで変える調達改革
 
開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話開発者からサポートエンジニアにジョブチェンジした話
開発者からサポートエンジニアにジョブチェンジした話
 
近江八幡市オープンデータ講習会(20171110)
近江八幡市オープンデータ講習会(20171110)近江八幡市オープンデータ講習会(20171110)
近江八幡市オープンデータ講習会(20171110)
 
2016 03 05_yokohama_north
2016 03 05_yokohama_north2016 03 05_yokohama_north
2016 03 05_yokohama_north
 
Scratchを使った CaT的脳トレのすすめ
Scratchを使った CaT的脳トレのすすめScratchを使った CaT的脳トレのすすめ
Scratchを使った CaT的脳トレのすすめ
 
Go conference 2021 autumn
Go conference 2021 autumnGo conference 2021 autumn
Go conference 2021 autumn
 
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
福岡のIT系勉強会情報
福岡のIT系勉強会情報福岡のIT系勉強会情報
福岡のIT系勉強会情報
 
デジタルが切り開く未来ビジネス
デジタルが切り開く未来ビジネスデジタルが切り開く未来ビジネス
デジタルが切り開く未来ビジネス
 
クラウド移住で地方に住むということ
クラウド移住で地方に住むということクラウド移住で地方に住むということ
クラウド移住で地方に住むということ
 
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考えるSwiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考える
 
JEPA2017年年末イベントパネルディスカッション資料
JEPA2017年年末イベントパネルディスカッション資料JEPA2017年年末イベントパネルディスカッション資料
JEPA2017年年末イベントパネルディスカッション資料
 
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介
 

agatsuma.survive#5