Slide 1

Slide 1 text

趣味駆動学習で スキルアップ suzuki_mar

Slide 2

Slide 2 text

自己紹介 経歴 過去 iOSアプリ開発者 → 体調を崩して休職した ↓ 現在 RubyとJavaScrptを得意としている プログラマを目指している 転職先探し中 よくいる場所 渋谷もくもく会 氏名 鈴木 将之 アカウント名 suzuki_mar

Slide 3

Slide 3 text

自己紹介 趣味 音楽を聞くこと/ライブに参加すること 個人活動 ライブ参加者(イベンター)としての活動 が楽になるようなシステムのEventerAgentという システムを作成しています 今回はEventerAgnetを開発している中で考えた趣 味駆動学習を説明します。

Slide 4

Slide 4 text

そもそも 趣味駆動学習とは チャプター1

Slide 5

Slide 5 text

趣味を有効活用していき学習する ためのモチベーションを保つ方法 趣味駆動 学習とは

Slide 6

Slide 6 text

なぜ趣味駆動学習を するようになったのか 趣味駆動 学習とは

Slide 7

Slide 7 text

本を読んだり、 Webで情報を収集する などのインプットは 行動をするための 敷居が低いので 簡単にできていた 趣味駆動 学習とは

Slide 8

Slide 8 text

しかし 趣味駆動 学習とは

Slide 9

Slide 9 text

仕事で扱わないような 技術を習得するには インプットだけではなく アウトプットをする必要がある 趣味駆動 学習とは

Slide 10

Slide 10 text

技術を習得するには チュートリアル以上のことを おこなう必要がある 趣味駆動 学習とは

Slide 11

Slide 11 text

自分で一からシステムを 作成することで 技術を習得できる 趣味駆動 学習とは

Slide 12

Slide 12 text

アウトプットをする必要性は わかっているが 敷居が高くてなかなかできない 趣味駆動 学習とは

Slide 13

Slide 13 text

作りたいアプリもないし どうするか悩んだ 趣味駆動 学習とは

Slide 14

Slide 14 text

自分はライブに いくことが趣味 趣味駆動 学習とは

Slide 15

Slide 15 text

ライブにいくためには いろいろなタスクがある 趣味駆動 学習とは

Slide 16

Slide 16 text

例 ライブのスケジュールの把握 ライブの情報収集 曲をあつめる 趣味駆動 学習とは

Slide 17

Slide 17 text

これらのタスクを 自動化するためのシステムを 作成するればいいのではないか 趣味駆動 学習とは

Slide 18

Slide 18 text

システムを作成しはじめた 趣味駆動 学習とは

Slide 19

Slide 19 text

結果 趣味駆動 学習とは

Slide 20

Slide 20 text

● モチベーションが回復する ● 勉強したい・実装してみた い内容ができて,挑戦欲がで きる ● 仕事・勉強へのモチ ベーションになる ● 開発したい内容ができ る 趣味 仕事 趣味駆動 学習とは

Slide 21

Slide 21 text

いい流れができた 趣味駆動 学習とは

Slide 22

Slide 22 text

今は何をつくっているのか 趣味駆動 学習とは

Slide 23

Slide 23 text

メールをパースして パース内容に応じたリマインダーを するシステム 趣味駆動 学習とは

Slide 24

Slide 24 text

● 技術を習得するには自分でシステムを 作成する必要があるが敷居が高い ● システムを作成するモチベーションに 趣味を使用すればいい ● 趣味に関連したシステムを作成するこ とでモチベーションを保ちながら技術 を習得できている 趣味駆動 学習とは チャプター1のまとめ

Slide 25

Slide 25 text

趣味駆動学習で 気をつけていること チャプター2

Slide 26

Slide 26 text

大きすぎるシステムの場合は、 システム開発の途中で 挫折してしまう可能性が高い 趣味学習で気を つけていること

Slide 27

Slide 27 text

機能単位で小さい モジュールの集合体で システム作成する 趣味学習で気を つけていること

Slide 28

Slide 28 text

具体的には 趣味学習で気を つけていること

Slide 29

Slide 29 text

特定のサイトを スクレイピングするだけの モジュール APIとAPIをつなぐモジュール 例えば メールとカレンダーを連携する 趣味学習で気を つけていること

Slide 30

Slide 30 text

機能単位の小さいモジュール の集合でひとつの サービスを開発する ライブ参加者システム リマインダー ライブ情報 スクレイピング 趣味学習で気を つけていること

Slide 31

Slide 31 text

なぜそうするのか 趣味学習で気を つけていること

Slide 32

Slide 32 text

途中でシステムの開発に 飽きてやめたとしても 損失はすくない 趣味学習で気を つけていること

Slide 33

Slide 33 text

機能単位でシステムを 作成しない場合 趣味学習で気を つけていること

Slide 34

Slide 34 text

大規模なシステムの場合は、 完成するまでの期間が長期間になり 挫折してしまう可能性が高い 趣味学習で気を つけていること

Slide 35

Slide 35 text

途中でやめたら開発した 時間が無駄になってしまう 事が考えられる 趣味学習で気を つけていること

Slide 36

Slide 36 text

モジュール単位で 作成したら 趣味学習で気を つけていること

Slide 37

Slide 37 text

途中でシステム開発を やめたとしても、 完成した部分は使用できる 趣味学習で気を つけていること

Slide 38

Slide 38 text

ライブ参加者システム リマインダー ライブ情報 スクレイピング リマインダー以外は 挫折したが、 リマインダーは 使用できる 趣味学習で気を つけていること

Slide 39

Slide 39 text

また開発を再開したくなったら 違うモジュールを作成して心機一転 するという選択肢もとれる 趣味学習で気を つけていること

Slide 40

Slide 40 text

● 一度に大規模な開発をしてしまうと挫折する 可能性が高くなる ● モジュール単位で作成することにより挫折す る可能性が少なくなる ● モジュール単位で作成することにより、挫折 しても再度開発を再開しやすくなる チャプター2のまとめ 趣味学習で気を つけていること

Slide 41

Slide 41 text

モジュール単位で 作成すると学習が効率的 チャプター3

Slide 42

Slide 42 text

プライベートでの開発の 学習面の問題 モジュール単位で 作成すると学習が効率的

Slide 43

Slide 43 text

時間がとれないため採用した技術が 古くなってしまうことが考えられる モジュール単位で 作成すると学習が効率的

Slide 44

Slide 44 text

使用している技術のせいで モチベーションが下がって 開発したくないということに なってしまう モジュール単位で 作成すると学習が効率的

Slide 45

Slide 45 text

モジュール単位でシステムを 作成している場合は モジュール単位で 作成すると学習が効率的

Slide 46

Slide 46 text

一個一個のモジュールの 開発範囲は小さくできる モジュール単位で 作成すると学習が効率的

Slide 47

Slide 47 text

その結果 モジュール単位で 作成すると学習が効率的

Slide 48

Slide 48 text

モジュールごとに違う 技術を使用できる モジュール単位で 作成すると学習が効率的

Slide 49

Slide 49 text

リマインダーはRubyで開発する スクレイピングはNode.jsで 開発をする モジュール単位で 作成すると学習が効率的

Slide 50

Slide 50 text

プライベートプロジェクトでも 技術トレンドに対応できたり 勉強したい技術を使用できる モジュール単位で 作成すると学習が効率的

Slide 51

Slide 51 text

具体的には モジュール単位で 作成すると学習が効率的

Slide 52

Slide 52 text

最近のフロントエンド(JS)は 技術トレンドの変化が激しい モジュール単位で 作成すると学習が効率的

Slide 53

Slide 53 text

Riot.jsが流行っているので 今度開発するモジュールでは Riot.jsを使用してみよう モジュール単位で 作成すると学習が効率的

Slide 54

Slide 54 text

JSは静的型付けのほうが いいと思うので TypeScriptを試しに使用してみる モジュール単位で 作成すると学習が効率的

Slide 55

Slide 55 text

プライベートな活動かつ 開発範囲が小さいので 試してみたものの 合わないライブラリーや フレームワークでも損失は少ない モジュール単位で 作成すると学習が効率的

Slide 56

Slide 56 text

失敗を恐れずに モジュール単位で 作成すると学習が効率的

Slide 57

Slide 57 text

興味があったり 勉強する必要がある 技術を積極的に試して いくことができる モジュール単位で 作成すると学習が効率的

Slide 58

Slide 58 text

流行に乗り遅れない モジュール単位で 作成すると学習が効率的

Slide 59

Slide 59 text

● モジュール単位で開発をしていくことにより 興味のある技術を積極的に使用できる ● 失敗してもプライベートかつ開発範囲が小さ いので失敗しても大丈夫 チャプター3のまとめ モジュール単位で 作成すると学習が効率的

Slide 60

Slide 60 text

● 趣味がモチベーションとなってスキルアップ をしていくことができる ● 挫折しないようにするために大規模な開発は せずにモジュール単位で小さく開発をしてい く ● モジュール単位で開発することにより習得し たい技術を積極的にしようできる セッションのまとめ

Slide 61

Slide 61 text

ご清聴ありがとうございました