×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Ruby on Rails 新兵營 如何將你的新⼯工程師迅速調教成⼀一隻⽼老⿃鳥 12年12月4⽇日星期⼆二
Slide 2
Slide 2 text
Me • http://blog.xdite.net • Rails Developer & Entrepreneur • ROCO ( Rails application development and consultant) • ex Techbang Manager 12年12月4⽇日星期⼆二
Slide 3
Slide 3 text
Why? 12年12月4⽇日星期⼆二
Slide 4
Slide 4 text
找不到 Rails Developer 12年12月4⽇日星期⼆二
Slide 5
Slide 5 text
找不到 ( 可以⽤用的 ) Rails Developer 12年12月4⽇日星期⼆二
Slide 6
Slide 6 text
找到只有「Rails 101」等級的 「資深」Developer 12年12月4⽇日星期⼆二
Slide 7
Slide 7 text
too busy to train people 12年12月4⽇日星期⼆二
Slide 8
Slide 8 text
That’s the whole problem 12年12月4⽇日星期⼆二
Slide 9
Slide 9 text
# Day 0 12年12月4⽇日星期⼆二
Slide 10
Slide 10 text
find the right people 12年12月4⽇日星期⼆二
Slide 11
Slide 11 text
# Step 1 12年12月4⽇日星期⼆二
Slide 12
Slide 12 text
Learn the basic 12年12月4⽇日星期⼆二
Slide 13
Slide 13 text
# Step 2 12年12月4⽇日星期⼆二
Slide 14
Slide 14 text
Build the small application 12年12月4⽇日星期⼆二
Slide 15
Slide 15 text
Pull request / Code Review 12年12月4⽇日星期⼆二
Slide 16
Slide 16 text
# Step 3 12年12月4⽇日星期⼆二
Slide 17
Slide 17 text
Work with senior 12年12月4⽇日星期⼆二
Slide 18
Slide 18 text
Learn the workflow 12年12月4⽇日星期⼆二
Slide 19
Slide 19 text
But ... 12年12月4⽇日星期⼆二
Slide 20
Slide 20 text
if developer.is_trianble? keep_it_and_teach_more else let_go end 12年12月4⽇日星期⼆二
Slide 21
Slide 21 text
# Step 4 12年12月4⽇日星期⼆二
Slide 22
Slide 22 text
practice / build / refactor 12年12月4⽇日星期⼆二
Slide 23
Slide 23 text
general Ruby / Rails knowledge 12年12月4⽇日星期⼆二
Slide 24
Slide 24 text
general web development knowledge 12年12月4⽇日星期⼆二
Slide 25
Slide 25 text
# Step 5 12年12月4⽇日星期⼆二
Slide 26
Slide 26 text
build big application 12年12月4⽇日星期⼆二
Slide 27
Slide 27 text
# Step 6 12年12月4⽇日星期⼆二
Slide 28
Slide 28 text
adv. Ruby / Rails Knowledge 12年12月4⽇日星期⼆二
Slide 29
Slide 29 text
adv. web development knowledge 12年12月4⽇日星期⼆二
Slide 30
Slide 30 text
# Step 7 12年12月4⽇日星期⼆二
Slide 31
Slide 31 text
teaching how to coach others 12年12月4⽇日星期⼆二
Slide 32
Slide 32 text
差不多就這樣了 12年12月4⽇日星期⼆二
Slide 33
Slide 33 text
建⽴立 Ruby on Rails 團隊 如何共同養成好的開發⽂文化 12年12月4⽇日星期⼆二
Slide 34
Slide 34 text
⼀一般團隊的狀況 • 找幾個能寫 code 的 developer 就開始了 • Senior 跟 Junior 差距太⼤大 • ⼤大家都是 middle lvl,但寫作⾵風格⼤大異 • 無法共享知識、共享程式碼 • 無法合作,無法成⻑⾧長 沒有團隊⽂文化 12年12月4⽇日星期⼆二
Slide 35
Slide 35 text
孤軍奮戰很累 12年12月4⽇日星期⼆二
Slide 36
Slide 36 text
被隊友⼀一直幹拐⼦子更累 (不管是不是有意的) 12年12月4⽇日星期⼆二
Slide 37
Slide 37 text
# Day 0 12年12月4⽇日星期⼆二
Slide 38
Slide 38 text
find the right people 12年12月4⽇日星期⼆二
Slide 39
Slide 39 text
找到對的⼈人 • 不畏懼 command line 系統 • 不會想依賴 ftp / notpad++ / Windows • 願意學新東⻄西 • 能夠⾃自⼰己看新東⻄西,找⽅方法解決 • ⾜足夠的基本知識 • 不說謊 12年12月4⽇日星期⼆二
Slide 40
Slide 40 text
# Step 1 12年12月4⽇日星期⼆二
Slide 41
Slide 41 text
Learn the basic 12年12月4⽇日星期⼆二
Slide 42
Slide 42 text
Rails 之外的東⻄西 • Command Line • Advanced Command Line • Editor • Git ( very important ) http://peepcode.com http://codeschool.com 12年12月4⽇日星期⼆二
Slide 43
Slide 43 text
Rails 101 • 建置⾃自⼰己的開發機器 • 學會基本的 CRUD • 熟練 RESTful (需練到倒背如流) • 學會透過第三⽅方 Gem 加速開發 • Deployment / Debug http://rails-101.logdown.com 12年12月4⽇日星期⼆二
Slide 44
Slide 44 text
# Step 2 12年12月4⽇日星期⼆二
Slide 45
Slide 45 text
Build the small application 12年12月4⽇日星期⼆二
Slide 46
Slide 46 text
Pull request / Code Review 12年12月4⽇日星期⼆二
Slide 47
Slide 47 text
learn from doing • production code 沒有太多練習的機會 • small application / admin panel 是⽐比較好的 練習對象 • 利⽤用 pull request 作 code review • 觀看開發思路與糾正錯誤開發習慣 12年12月4⽇日星期⼆二
Slide 48
Slide 48 text
# Step 3 12年12月4⽇日星期⼆二
Slide 49
Slide 49 text
Work with senior 12年12月4⽇日星期⼆二
Slide 50
Slide 50 text
Learn the workflow 12年12月4⽇日星期⼆二
Slide 51
Slide 51 text
learn from workflow • 可以開始上 production 解⼩小票 • 抄 senior 的 code 是最快的學習⽅方式 • 學習正確的設計思路 • 練習與同事如何合作 • 從 workflow 上學習做事的⽅方式 Code commit policy ( using Git ) http://wp.xdite.net/?p=1974 12年12月4⽇日星期⼆二
Slide 52
Slide 52 text
But ... 12年12月4⽇日星期⼆二
Slide 53
Slide 53 text
if developer.is_trianble? keep_it_and_teach_more else let_go end 12年12月4⽇日星期⼆二
Slide 54
Slide 54 text
不適合的狀況 • 學習速度太慢,無法吸收開發教訓 • 固執⼰己⾒見,無法學習較好的開發⽅方式 • 藏私(容易造成惡性循環) • 只等著⼈人家教,沒有主動求知的態度 • 純粹不適合當 developer 12年12月4⽇日星期⼆二
Slide 55
Slide 55 text
# Step 4 12年12月4⽇日星期⼆二
Slide 56
Slide 56 text
practice / build / refactor 12年12月4⽇日星期⼆二
Slide 57
Slide 57 text
general Ruby / Rails knowledge 12年12月4⽇日星期⼆二
Slide 58
Slide 58 text
general web development knowledge 12年12月4⽇日星期⼆二
Slide 59
Slide 59 text
從解⼩小票中學習 • 重構⼩小部分 code 熟悉 Rails 基本 API • 開發⼩小功能,從現有 Gem 中學習軟體設 計⼿手法 • 解 Bug,熟悉框架、了解資料庫運作原 理、了解前端地雷 12年12月4⽇日星期⼆二
Slide 60
Slide 60 text
知識共享 • redmine issue 筆記 • wiki 筆記 • 設定 / 裝機 / 調校 SOP RD 如何養成 寫筆記 / 製作 SOP 的習慣 http://wp.xdite.net/?p=2056 12年12月4⽇日星期⼆二
Slide 61
Slide 61 text
代碼共享 • Ruby coding style • Rails coding style • Front-end ( CSS / HTML ) coding style • Best Practices • Performance • Architecture / Patterns T客邦技術部⾨門法寶、⼯工作流程⼤大公開 http://www.techbang.com/posts/6613?page=2 12年12月4⽇日星期⼆二
Slide 62
Slide 62 text
# Step 5 12年12月4⽇日星期⼆二
Slide 63
Slide 63 text
build big application 12年12月4⽇日星期⼆二
Slide 64
Slide 64 text
有⼀一些東⻄西沒辦法⽤用教的 • 軟體架構設計 • 有些⼈人能⼒力只能解⼩小票 • ⾃自⼰己單獨寫⼀一個網站腦袋空⽩白 • ⼯工作切割分配 • 需求切成 ticket • ⼤大 ticket 切成可單純執⾏行的⼩小 ticket T17 開發切票⽅方法 http://www.flickr.com/photos/xdite/6469521821/sizes/o/in/ photostream/ 12年12月4⽇日星期⼆二
Slide 65
Slide 65 text
# Step 6 12年12月4⽇日星期⼆二
Slide 66
Slide 66 text
adv. Ruby / Rails Knowledge 12年12月4⽇日星期⼆二
Slide 67
Slide 67 text
adv. web development knowledge 12年12月4⽇日星期⼆二
Slide 68
Slide 68 text
單獨研究、共同學習 • upgrade to Rails 3 • upgrade to Rails 3.1 • upgrade to Ruby 1.9 • writing gems / writing engines • writing tests My Blog http://blog.xdite.net 12年12月4⽇日星期⼆二
Slide 69
Slide 69 text
# Step 7 12年12月4⽇日星期⼆二
Slide 70
Slide 70 text
teaching how to coach others 12年12月4⽇日星期⼆二
Slide 71
Slide 71 text
這有困難... 12年12月4⽇日星期⼆二
Slide 72
Slide 72 text
培養團隊⽂文化 (重點) 實戰敏捷開發 Practices of an Agile Developer 1-6 google://實戰敏捷開發 site: ihower.tw 12年12月4⽇日星期⼆二
Slide 73
Slide 73 text
Thanks for listening mailto:
[email protected]
12年12月4⽇日星期⼆二