Rabbit Slide Show

SEゼミ2015 - OSS Hack Weekend - 1日目の概要

2015-07-11

Description

2015年のSEゼミの「プログラミングが好きな学生のための勉強会 - OSS Hack Weekend」の1日目のイベント概要と進め方の説明。

Text

Page: 1

概要
須藤功平
株式会社クリアコード
SEゼミ2015 - OSS Hack Weekend
2015-07-11
概要
Powered by Rabbit 2.1.7

Page: 2

SEゼミの立場一覧
✓ 参加者(みなさん)
✓ スポンサー
✓ 運営
概要
Powered by Rabbit 2.1.7

Page: 3

立場別SEゼミの目的
✓ 参加者
✓ OSSを開発したい!
✓ スポンサー
✓ 一緒に働きたい人をみつけたい!
✓ 一緒にOSSを開発するとわかりそう!
✓ →参加者のOSS開発参加を支援
✓ 運営:↑をサポートしたい!
概要
Powered by Rabbit 2.1.7

Page: 4

参加者のふるまい方
✓ 選ばれている!と気負わない
✓ 目的(OSSの開発)に集中すればよい
✓ スポンサー
✓ 本来の参加者に興味
✓ 仮面をかぶらない
✓ 入社→ミスマッチ→お互いに不幸!
仮面をかぶり続けられるならアリ
「m_seki ロールプレイングゲーム」で検索
概要
Powered by Rabbit 2.1.7

Page: 5

スポンサー
✓ たくさんいる
✓ 勉強会中
✓ 企業は気にしない
✓ 担当メンターの人から学ぶ
✓ ランチ・懇親会
✓ 様々な企業の様々なメンターと交流
✓ →今まで知らなかった新しい視点!
概要
Powered by Rabbit 2.1.7

Page: 6

スポンサー(1)
✓ クラウドワークスさん
✓ エス・エム・エスさん
✓ 万葉さん
✓ スマートエデュケーションさん
✓ クックパッドさん
概要
Powered by Rabbit 2.1.7

Page: 7

スポンサー(2)
✓ ビズリーチさん
✓ VASILYさん
✓ Treasure Dataさん
✓ ピクシブさん
✓ 楽天さん
概要
Powered by Rabbit 2.1.7

Page: 8

スポンサー(3)
✓ CROOZさん
✓ ミラクル・リナックスさん
✓ フリークアウトさん
✓ ぐるなびさん
✓ Cosylabさん
概要
Powered by Rabbit 2.1.7

Page: 9

トレーナー
須藤
✓ 運営
✓ 進行と全体を気にかける係
✓ 大学生の頃からOSSの開発に参加
✓ RabbitもOSS
概要
Powered by Rabbit 2.1.7

Page: 10

メンター
✓ 参加者のサポート係
✓ 現役超優秀エンジニア
✓ スポンサー企業または運営
✓ OSS開発経験者
✓ →困ったり悩んだら積極的に相談
概要
Powered by Rabbit 2.1.7

Page: 11

このイベントの目的
✓ イベント中
✓ 「自分が開発に参加したい」
OSSの開発に参加
✓ イベント後
✓ 継続的に開発に参加
概要
Powered by Rabbit 2.1.7

Page: 12

目的の理由
✓ 「やりたい!」が大事だから
✓ OSSの開発で一番大切なもの
✓ やりたくてやる!
✓ 開発を楽しめる
✓ 継続できる
✓ できることが増える
✓ もっと楽しめる (!=ツラくない)
概要
Powered by Rabbit 2.1.7

Page: 13

目的の実現方法概要
1. 「やりたい!」OSSを選ぶ
(すでに選んだ)
2. サポート付きで開発に参加
✓ 全体へのノウハウ提供
✓ 個別にメンターフィードバック
概要
Powered by Rabbit 2.1.7

Page: 14

目的の実現方法
✓ 全体へのノウハウ提供
✓ 朝・午後:ステージから紹介
✓ 日に数回:メンターのミニガイド
✓ 個別にメンターフィードバック
✓ メンターとふりかえり
✓ issue/pull request前最終チェック
概要
Powered by Rabbit 2.1.7

Page: 15

メンターのミニガイド
✓ 時間:突発的
✓ 場所:後ろの会議スペース
✓ いつ:メンターが高まったら
(2人以上に伝えた方がいいと判断したら)
✓ 参加者:興味ある人 (アナウンスあり)
✓ トレーナーが内容を記録→後で共有
✓ 例:よいコミットは?
概要
Powered by Rabbit 2.1.7

Page: 16

メンターとふりかえり
✓ 参加者の行動に対して
メンターからフィードバック
✓ 「よい」を発見→継続
✓ 「困っている」を発見→アドバイス
✓ 未認識の「問題」発見(直そう!)
✓ 次に進むべき先を示す
概要
Powered by Rabbit 2.1.7

Page: 17

参加者の行動
✓ 自分でログを残す
✓ 残すほどフィードバックが増える!
✓ 残し方
✓ 場所:
clear-code/sezemi-2015のissue
✓ 1人につき1 issue→後で作る
✓ コメントして追記→後でデモ
概要
Powered by Rabbit 2.1.7

Page: 18

ログの内容
✓ 残すこと
✓ 作業・思っていること・備考
(作業:やる事・やっている事・やった事)
✓ 残すとき
✓ 違う作業を始める・詰まった
✓ issue/pull requestを出した
概要
Powered by Rabbit 2.1.7

Page: 19

目的の実現方法(再掲)
✓ 全体へのノウハウ提供
✓ 朝・午後:ステージから紹介
✓ 日に数回:メンターのミニガイド
✓ 個別にメンターフィードバック
✓ メンターとふりかえり
✓ issue/pull request前最終チェック
概要
Powered by Rabbit 2.1.7

Page: 20

issue/pull request前
最終チェック
✓ issue/pull requestを出すとき
✓ メンターに最終チェックをお願い
✓ 対象:全部
✓ フィードバックをもらうよい機会!
✓ メンターに説明→
自分の中で洗練される効果あり
概要
Powered by Rabbit 2.1.7

Page: 21

今日の流れ - 午前
✓ 10:00- 進め方の説明
✓ 10:30- まず動かす
✓ 11:45- ミニふりかえり
✓ 12:00- 無料ランチ
(フリークアウトさん提供!)
✓ 13:00- スポンサーのLT
概要
Powered by Rabbit 2.1.7

Page: 22

今日の流れ - 午後
✓ 13:30- 開発ノウハウ紹介
✓ 13:45- 開発 (随時ミニガイド)
✓ 17:00- ふりかえり
✓ 17:30- まとめ・質疑応答
✓ 17:45- プチ懇親会
概要
Powered by Rabbit 2.1.7

Page: 23

大事なこと
詰まったら
ログ
↓
後で直すため
概要
Powered by Rabbit 2.1.7

Page: 24

詰まったらログ
✓ うまくいかない…
✓ 文句言っちゃう?
✓ 文句を言っている時間で直す?
✓ 直す!(あるいは報告する)
✓ OSS開発参加のチャンス!楽しもう!
✓ 次の人はうまくいく
メンターへ:うまくいかない時どう動く人と一緒に働きたい?
概要
Powered by Rabbit 2.1.7

Page: 25

問題発見は難しい
✓ 修士:問題解決力を期待
✓ 博士:問題発見力を期待
ヒント
自分の困った→解決するべき問題
↓
詰まったらログ
(詰まったこと == 困ったこと)
概要
Powered by Rabbit 2.1.7

Page: 26

詰まった?問題発見?
✓ ググるとき詰まっていない?
✓ Stack Overflowの情報で回避?
✓ 本体を直した方がよくない?
✓ 何度も使い方を調べていない?
✓ 使いにくいAPIなのかも
✓ APIを改善した方がよくない?
概要
Powered by Rabbit 2.1.7

Page: 27

午前の進め方
✓ まず動かす(ものすごく大事)
✓ ↑は今から説明
✓ ↓は↑ができれば大丈夫
✓ 開発用にインストール
✓ テストを実行
概要
Powered by Rabbit 2.1.7

Page: 28

まず動かす
1. 対象OSSを確認
2. 対象OSSをfork
3. 対象OSSのドキュメントを確認
✓ 「ユーザー」として動かす
✓ 「開発者」としてじゃない!
概要
Powered by Rabbit 2.1.7

Page: 29

ユーザーとして動かす
✓ ドキュメントを読んで…
(↓に不備があったらログ。後で直す。)
✓ 概要理解
✓ インストール
✓ チュートリアル実行など…
✓ このOSSがわかる!
(↑が「まず動かす」で目指すところ。速く!じゃな
い。)
メンターへ:詰まった人のフォローは、問題を代わりに解決で
はなく、自分はこうやって調べる、一緒にやってみよう、でお
願い
概要
Powered by Rabbit 2.1.7

Page: 30

わかる
✓ ↓の状態になっていること
✓ 自分が使える
✓ 他の人に説明できる
「まず動かす」で
「わかる」状態に
ならなかったら…
概要
Powered by Rabbit 2.1.7

Page: 31

わからない…
✓ ドキュメントが足りなかった?
✓ サンプルコードを確認
✓ テストコードを確認
✓ パラメーターを変えながら動かす
✓ ↑はログポイント!
メンターへ:こういうときは自分はどうやっている?
メンターへ:新しい視点を伝えて
概要
Powered by Rabbit 2.1.7

Page: 32

午前の最後
✓ ログをもとにミニふりかえり
✓ 目的:
✓ 今日最後のふりかえりのリハーサル
✓ ログが役に立つことを実感!
✓ 午後もログを書いてもらおう!
概要
Powered by Rabbit 2.1.7

Page: 33

メンターとミニふりかえり
✓ 参加者の行動に対して
メンターからフィードバック
✓ 「よい」を発見→継続
✓ 「困っている」を発見→アドバイス
✓ 未認識の「問題」発見(直そう!)
✓ 次に進むべき先を示す
概要
Powered by Rabbit 2.1.7

Page: 34

午前のおさらい
✓ 終日:作業ログをつける
✓ 午前1:まず動かす(マジ大事)
✓ 開発用にインストール・テスト実行
✓ 午前2:ミニふりかえり
✓ 作業ログを使う!
✓ 期待すること:「自分の問題」が見つかる
✓ 見つからなかったら既存のissue/pull
概要
requestから探す
Powered by Rabbit 2.1.7

Page: 35

おさらい:詰まったら…?
✓ うまくいかない…
✓ 文句言っちゃう?
✓ 文句を言っている時間で直す?
✓ 直す!(あるいは報告する)
✓ OSS開発参加のチャンス!楽しもう!
✓ 次の人はうまくいく
メンターへ:うまくいかない時どう動く人と一緒に働きたい?
概要
Powered by Rabbit 2.1.7

Page: 36

ヒント
✓ コントリビュートに上下はない
✓ コード・テストの改善も大事
✓ ドキュメントの改善も大事
✓ ×できるようになってからやる
✓ やるからできるようになる!
✓ できることはやる
✓ できないこともチャレンジ!
概要
Powered by Rabbit 2.1.7

Page: 37

大事なこと
楽しもう!
概要
Powered by Rabbit 2.1.7

Page: 38

作業1
✓ ログ用issue作成
✓ clear-code/sezemi-2015
✓ issue 22をコピー
✓ ログの書き方は↑に書いてある
デモ
概要
Powered by Rabbit 2.1.7

Other slides

Apache Arrow
2017-06-13
Apache Arrow
2017-05-28
Mroonga!
2015-10-30