ザ・ジェネラリスト #5000dai

50
kyon_mm 2015.07 .25 Let’s Go Developer 555 Sendai #5000dai ザ・ジェネラリスト ソフトウェア開発を勉強し始めて 6年でトップレベルになるために やったこと

Upload: kyon-mm

Post on 13-Aug-2015

3.239 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: ザ・ジェネラリスト #5000dai

kyon_mm 2015.07.25

Let’s Go Developer 555 Sendai #5000dai

ザ・ジェネラリスト

ソフトウェア開発を勉強し始めて6年でトップレベルになるために

やったこと

Page 2: ザ・ジェネラリスト #5000dai

kyon_mm

Test Architect

TDD/BDD Expert

28 years old(ゆとり

Self Introduction

Page 3: ザ・ジェネラリスト #5000dai

TDD/BDD超入門

システムテスト自動化標準ガイド

Self Introduction

Page 4: ザ・ジェネラリスト #5000dai

ソフトウェア開発者としてのキャリアやスキルをどのように広げていくかについて悩むことは多いと思います。

kyon_mmが6年間という時間の中で、ソフトウェア開発者としてジェネラリストを選択した理由、ジェネラリストとしてやっていることなど。

具体的な経験を交えながらジェネラリストとしてソフトウェア開発に貢献する方法をお話します。

Page 5: ザ・ジェネラリスト #5000dai

皆さんが今日聴いてみたいことは何ですか?

Page 6: ザ・ジェネラリスト #5000dai

Today’s Theme2015年はkyon_mmが「ソフトウェア開発を勉強し始めて6年」になります。

どうやってkyon_mmはトップレベルのエンジニアに近づいたのかという話をします。

Page 7: ザ・ジェネラリスト #5000dai

6 years

最初の2年間でスペシャリストを目指した

次の4年間でジェネラリストを目指した

Page 8: ザ・ジェネラリスト #5000dai

Software Engineer

ソフトウェア工学の知見を活かして仕事する人たち

Page 9: ザ・ジェネラリスト #5000dai

Top Level

既存の技術を作り直せる人

次のステップを作れる人

Page 10: ザ・ジェネラリスト #5000dai

AgendaMotivation

Strategy for Cool Engineer

Input, Output

Concern

Page 11: ザ・ジェネラリスト #5000dai

Motivation

Page 12: ザ・ジェネラリスト #5000dai

Motivation

Always Cool Engineer

No Time Release

Cyber Punk

Page 13: ザ・ジェネラリスト #5000dai

Always Cool Engineer最高のエンジニアに対して最高の評価をする人がいたらどうする?

評価できる人間が目の前に現れてからじゃ間に合わない。

備えよ常に。

Page 14: ザ・ジェネラリスト #5000dai

No Time Release

要求を言われてから、リリースまでの時間をゼロ秒にしよう。

そのために必要なことはなんでもしよう。

Page 15: ザ・ジェネラリスト #5000dai

Cyber Punk攻殻機動隊がキッカケでこの世界にはいった。

攻殻機動隊の世界をつくるために必要なスキルはなんでもほしい。経営、医療、開発、検証、マネジメント、広告。

Page 16: ザ・ジェネラリスト #5000dai

AgendaMotivation

Strategy for Cool Engineer

Input, Output

Concern

Page 17: ザ・ジェネラリスト #5000dai

Strategy For Cool Engineer

Page 18: ザ・ジェネラリスト #5000dai

Strategy For Cool Engineer

Generalist or Specialist

Explicit Knowledge

Page 19: ザ・ジェネラリスト #5000dai

Generalist or Specialist

ジェネラリスト : 万能

スペシャリスト : 特化

Page 20: ザ・ジェネラリスト #5000dai

Specialist

ある程度プログラミングをできるようになって転職したが、転職先で一気に自信喪失した。

#なごやこわい を肌で感じる日々。

Page 21: ザ・ジェネラリスト #5000dai

Thinking…どうやって最高の組織の一員になるか。

どうやってスペシャリストと渡り合うか。

86世代の化け物たちと話す方法。

Page 22: ザ・ジェネラリスト #5000dai

Thinking…

トップレベルの人達と議論は難しいけど他分野につなげて使える。

ということを全ての分野において可能になれば、だいたい道が開けそう。

Page 23: ザ・ジェネラリスト #5000dai

Why8:2の法則を使うと、スキルレベル全体の8割を満たす(上位20%の前後)まで達成するのは2割の時間でできる。

スペシャリストである上位10%に入るためにはめっちゃ時間が必要になるので、あきらめる。

Page 24: ザ・ジェネラリスト #5000dai

Why

これらを全ての分野で行なうことが大切。

たいていの人は多くの分野を知ろうとしないし、つなげることもしない。

Page 25: ザ・ジェネラリスト #5000dai

Explicit Knowledge

全ての分野で行なうための形式知は書籍などでたくさんある

みなさん1年でどれくらい読みますか?(技術書、論文)

Page 26: ザ・ジェネラリスト #5000dai

Technical Book

ある程度の技術書1冊はあるコミュニティ3年間の歴史がはいっている。

技術書を年間に3冊読む人は1年で9年分の歴史を手にしている。

Page 27: ザ・ジェネラリスト #5000dai

Technical Book僕は技術書(もしくはそれに類するもの)を年間に40冊以上読むことにしている。

これは1年で120年分の歴史を手にしている。

6年続けると前者は54年分、僕は720年分の歴史を手にしている。

実際の冊数を鑑みると930年分の歴史を手にしている。

Page 28: ザ・ジェネラリスト #5000dai

Explicit Knowledge

愚者は経験に学び、賢者は歴史に学ぶ(自分の手痛い失敗より他人の失敗に学べ)

8:2の原則で割り切るから、続けられる。

Page 29: ザ・ジェネラリスト #5000dai

AgendaMotivation

Strategy for Cool Engineer

Input, Output

Concern

Page 30: ザ・ジェネラリスト #5000dai

Input, Output

Page 31: ザ・ジェネラリスト #5000dai

Input, Output

Reading

Speaker, Blog , Article, Book

Page 32: ザ・ジェネラリスト #5000dai

Reading

技術書は2周以上読むこと。1周目は必ず3日以内に読むこと、わからなくても問題ない。

Page 33: ザ・ジェネラリスト #5000dai

Reading短期記憶と上手く付き合うこと。

言葉の使い方に慣れること。

書籍のクセ(構成、濃淡)を知ること。

Page 34: ザ・ジェネラリスト #5000dai

Speaker, Blog, Article, Book

ブランディングについて考える機会をつくれる。

例えば、「きょん君が発表する/開催する勉強会とはどういった期待を持ってもらえるのか」についてとても考えたりする。

Page 35: ザ・ジェネラリスト #5000dai

Output as Branding

実際にはこのような考えは組織やプロダクトをより良くするためにとても重要。

日本品質みたいなやつの、きょんくん版。

Page 36: ザ・ジェネラリスト #5000dai

Host, Blog, Article

自分では気付かないことを知っている人と出会える。

世界の広さを知ることができる。いい面も悪い面も。

Page 37: ザ・ジェネラリスト #5000dai

Speaker

自分を考えを整理するスキルを身につける時間をつくれる。

わかりやすく表現する(発表する、質問する、議論する)ことを積極的に取り組んで、多少の失敗が許される。

Page 38: ザ・ジェネラリスト #5000dai

Masakari

基本は受けた側が痛いかどうかだけで、投げている側はマサカリだと思っていない。

素直に話しているだけ。

Page 39: ザ・ジェネラリスト #5000dai

Masakari

#なごやこわい は ライオンのじゃれあい が殺し合いに見える的なあれだよ(冗談です

Page 40: ザ・ジェネラリスト #5000dai

AgendaMotivation

Strategy for Cool Engineer

Input, Output

Concern

Page 41: ザ・ジェネラリスト #5000dai

Concern

Page 42: ザ・ジェネラリスト #5000dai

Concern

Scrum

BDD

MicroService with OO

Page 43: ザ・ジェネラリスト #5000dai

Scrum

権限が十分にあるプロフェッショナルな小さなチームがリズムを保って動くことで、生産性がとても高くなることをうまくルールにしている。

Page 44: ザ・ジェネラリスト #5000dai

BDD

フォーマルメソッドでは上手くいかない分野(つまりたいていのソフトウェア)でうまく開発するためのあたらしいプロセスを提案した。

Page 45: ザ・ジェネラリスト #5000dai

MicroService with OO

PaaSとオブジェクト指向の出会い。これからどんどん世の中はSmalltalkのようになっていく。

テスト不可能よりも、エンドユーザーがサービスをつくる時代。

Page 46: ザ・ジェネラリスト #5000dai

AgendaMotivation

Strategy for Cool Engineer

Input, Output

Concern

Page 47: ザ・ジェネラリスト #5000dai

Conclusion

Page 48: ザ・ジェネラリスト #5000dai

Conclusionジェネラリストになるということは、ある意味でソフトウェア開発におけるマニアというか研究者である。

なんでもできるやつが絶対強い。なら、なりましょう。なんでもできるように。

見せてやりますよ。本物のフルスタックとやらを。

Page 49: ザ・ジェネラリスト #5000dai

Referenceテストエンジニアの品格

ソフトウェア開発を勉強し始めて3年間でやったこと

ソフトウェア開発を勉強し始めて3年間でやったこと-After-

Page 50: ザ・ジェネラリスト #5000dai

QA