ザ・ジェネラリスト #5000dai
TRANSCRIPT
kyon_mm 2015.07.25
Let’s Go Developer 555 Sendai #5000dai
ザ・ジェネラリスト
ソフトウェア開発を勉強し始めて6年でトップレベルになるために
やったこと
kyon_mm
Test Architect
TDD/BDD Expert
28 years old(ゆとり
Self Introduction
TDD/BDD超入門
システムテスト自動化標準ガイド
Self Introduction
ソフトウェア開発者としてのキャリアやスキルをどのように広げていくかについて悩むことは多いと思います。
kyon_mmが6年間という時間の中で、ソフトウェア開発者としてジェネラリストを選択した理由、ジェネラリストとしてやっていることなど。
具体的な経験を交えながらジェネラリストとしてソフトウェア開発に貢献する方法をお話します。
皆さんが今日聴いてみたいことは何ですか?
Today’s Theme2015年はkyon_mmが「ソフトウェア開発を勉強し始めて6年」になります。
どうやってkyon_mmはトップレベルのエンジニアに近づいたのかという話をします。
6 years
最初の2年間でスペシャリストを目指した
次の4年間でジェネラリストを目指した
Software Engineer
ソフトウェア工学の知見を活かして仕事する人たち
Top Level
既存の技術を作り直せる人
次のステップを作れる人
AgendaMotivation
Strategy for Cool Engineer
Input, Output
Concern
Motivation
Motivation
Always Cool Engineer
No Time Release
Cyber Punk
Always Cool Engineer最高のエンジニアに対して最高の評価をする人がいたらどうする?
評価できる人間が目の前に現れてからじゃ間に合わない。
備えよ常に。
No Time Release
要求を言われてから、リリースまでの時間をゼロ秒にしよう。
そのために必要なことはなんでもしよう。
Cyber Punk攻殻機動隊がキッカケでこの世界にはいった。
攻殻機動隊の世界をつくるために必要なスキルはなんでもほしい。経営、医療、開発、検証、マネジメント、広告。
AgendaMotivation
Strategy for Cool Engineer
Input, Output
Concern
Strategy For Cool Engineer
Strategy For Cool Engineer
Generalist or Specialist
Explicit Knowledge
Generalist or Specialist
ジェネラリスト : 万能
スペシャリスト : 特化
Specialist
ある程度プログラミングをできるようになって転職したが、転職先で一気に自信喪失した。
#なごやこわい を肌で感じる日々。
Thinking…どうやって最高の組織の一員になるか。
どうやってスペシャリストと渡り合うか。
86世代の化け物たちと話す方法。
Thinking…
トップレベルの人達と議論は難しいけど他分野につなげて使える。
ということを全ての分野において可能になれば、だいたい道が開けそう。
Why8:2の法則を使うと、スキルレベル全体の8割を満たす(上位20%の前後)まで達成するのは2割の時間でできる。
スペシャリストである上位10%に入るためにはめっちゃ時間が必要になるので、あきらめる。
Why
これらを全ての分野で行なうことが大切。
たいていの人は多くの分野を知ろうとしないし、つなげることもしない。
Explicit Knowledge
全ての分野で行なうための形式知は書籍などでたくさんある
みなさん1年でどれくらい読みますか?(技術書、論文)
Technical Book
ある程度の技術書1冊はあるコミュニティ3年間の歴史がはいっている。
技術書を年間に3冊読む人は1年で9年分の歴史を手にしている。
Technical Book僕は技術書(もしくはそれに類するもの)を年間に40冊以上読むことにしている。
これは1年で120年分の歴史を手にしている。
6年続けると前者は54年分、僕は720年分の歴史を手にしている。
実際の冊数を鑑みると930年分の歴史を手にしている。
Explicit Knowledge
愚者は経験に学び、賢者は歴史に学ぶ(自分の手痛い失敗より他人の失敗に学べ)
8:2の原則で割り切るから、続けられる。
AgendaMotivation
Strategy for Cool Engineer
Input, Output
Concern
Input, Output
Input, Output
Reading
Speaker, Blog , Article, Book
Reading
技術書は2周以上読むこと。1周目は必ず3日以内に読むこと、わからなくても問題ない。
Reading短期記憶と上手く付き合うこと。
言葉の使い方に慣れること。
書籍のクセ(構成、濃淡)を知ること。
Speaker, Blog, Article, Book
ブランディングについて考える機会をつくれる。
例えば、「きょん君が発表する/開催する勉強会とはどういった期待を持ってもらえるのか」についてとても考えたりする。
Output as Branding
実際にはこのような考えは組織やプロダクトをより良くするためにとても重要。
日本品質みたいなやつの、きょんくん版。
Host, Blog, Article
自分では気付かないことを知っている人と出会える。
世界の広さを知ることができる。いい面も悪い面も。
Speaker
自分を考えを整理するスキルを身につける時間をつくれる。
わかりやすく表現する(発表する、質問する、議論する)ことを積極的に取り組んで、多少の失敗が許される。
Masakari
基本は受けた側が痛いかどうかだけで、投げている側はマサカリだと思っていない。
素直に話しているだけ。
Masakari
#なごやこわい は ライオンのじゃれあい が殺し合いに見える的なあれだよ(冗談です
AgendaMotivation
Strategy for Cool Engineer
Input, Output
Concern
Concern
Concern
Scrum
BDD
MicroService with OO
Scrum
権限が十分にあるプロフェッショナルな小さなチームがリズムを保って動くことで、生産性がとても高くなることをうまくルールにしている。
BDD
フォーマルメソッドでは上手くいかない分野(つまりたいていのソフトウェア)でうまく開発するためのあたらしいプロセスを提案した。
MicroService with OO
PaaSとオブジェクト指向の出会い。これからどんどん世の中はSmalltalkのようになっていく。
テスト不可能よりも、エンドユーザーがサービスをつくる時代。
AgendaMotivation
Strategy for Cool Engineer
Input, Output
Concern
Conclusion
Conclusionジェネラリストになるということは、ある意味でソフトウェア開発におけるマニアというか研究者である。
なんでもできるやつが絶対強い。なら、なりましょう。なんでもできるように。
見せてやりますよ。本物のフルスタックとやらを。
Referenceテストエンジニアの品格
ソフトウェア開発を勉強し始めて3年間でやったこと
ソフトウェア開発を勉強し始めて3年間でやったこと-After-
QA